@timeback/powerpath 0.1.7-beta.20260309185602 → 0.2.0

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.
@@ -120,12 +120,14 @@ var LEARNWITHAI_QTI_URLS = {
120
120
  var PLATFORM_ENDPOINTS = {
121
121
  BEYOND_AI: {
122
122
  token: BEYONDAI_TOKEN_URLS,
123
+ tokenScope: undefined,
123
124
  api: BEYONDAI_API_URLS,
124
125
  caliper: BEYONDAI_CALIPER_URLS,
125
126
  qti: BEYONDAI_QTI_URLS
126
127
  },
127
128
  LEARNWITH_AI: {
128
129
  token: LEARNWITHAI_TOKEN_URLS,
130
+ tokenScope: "https://purl.imsglobal.org/spec/caliper/v1p2/scope/events.write",
129
131
  api: LEARNWITHAI_API_URLS,
130
132
  caliper: LEARNWITHAI_CALIPER_URLS,
131
133
  qti: LEARNWITHAI_QTI_URLS
@@ -509,7 +511,7 @@ class TokenManager {
509
511
  Authorization: `Basic ${credentials}`,
510
512
  "Content-Type": "application/x-www-form-urlencoded"
511
513
  },
512
- body: "grant_type=client_credentials"
514
+ body: this.config.scope ? `grant_type=client_credentials&scope=${encodeURIComponent(this.config.scope)}` : "grant_type=client_credentials"
513
515
  });
514
516
  const duration = Math.round(performance.now() - start);
515
517
  if (!response.ok) {
@@ -573,7 +575,7 @@ var BEYONDAI_PATHS = {
573
575
  };
574
576
  var LEARNWITHAI_PATHS = {
575
577
  caliper: {
576
- send: "/events/1.0/",
578
+ send: "/caliper/v1p2",
577
579
  validate: null,
578
580
  list: null,
579
581
  get: null,
@@ -588,7 +590,9 @@ var LEARNWITHAI_PATHS = {
588
590
  edubridge: null,
589
591
  powerpath: null,
590
592
  clr: null,
591
- case: null
593
+ case: {
594
+ base: "/case/1.1"
595
+ }
592
596
  };
593
597
  var PLATFORM_PATHS = {
594
598
  BEYOND_AI: BEYONDAI_PATHS,
@@ -625,6 +629,7 @@ class TimebackProvider {
625
629
  timeout;
626
630
  endpoints;
627
631
  authUrl;
632
+ tokenScope;
628
633
  pathProfiles;
629
634
  tokenManagers = new Map;
630
635
  constructor(config) {
@@ -640,6 +645,7 @@ class TimebackProvider {
640
645
  throw new Error(`Unknown platform: ${platform}`);
641
646
  }
642
647
  this.authUrl = platformEndpoints.token[env];
648
+ this.tokenScope = platformEndpoints.tokenScope ?? undefined;
643
649
  this.pathProfiles = PLATFORM_PATHS[platform] ?? BEYONDAI_PATHS;
644
650
  this.endpoints = {
645
651
  oneroster: {
@@ -765,7 +771,8 @@ class TimebackProvider {
765
771
  credentials: {
766
772
  clientId: this.auth.clientId,
767
773
  clientSecret: this.auth.clientSecret
768
- }
774
+ },
775
+ scope: this.tokenScope
769
776
  });
770
777
  this.tokenManagers.set(authUrl, manager);
771
778
  }
@@ -783,7 +790,8 @@ class TimebackProvider {
783
790
  credentials: {
784
791
  clientId: this.auth.clientId,
785
792
  clientSecret: this.auth.clientSecret
786
- }
793
+ },
794
+ scope: this.tokenScope
787
795
  });
788
796
  this.tokenManagers.set(this.authUrl, manager);
789
797
  }
@@ -1523,7 +1531,7 @@ function issue(path, message) {
1523
1531
  function validateWithSchema(schema, data, context) {
1524
1532
  const result = schema.safeParse(data);
1525
1533
  if (result.success) {
1526
- return;
1534
+ return result.data;
1527
1535
  }
1528
1536
  const issues = result.error.issues.map((errorIssue) => ({
1529
1537
  path: errorIssue.path.join(".") || "(root)",
package/dist/errors.js CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  NotFoundError,
6
6
  UnauthorizedError,
7
7
  ValidationError
8
- } from "./chunk-r89v15mw.js";
8
+ } from "./chunk-22wv0xvg.js";
9
9
  import"./chunk-6jf1natv.js";
10
10
  export {
11
11
  ValidationError,
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ import {
8
8
  resolveToProvider,
9
9
  validateNonEmptyString,
10
10
  validateWithSchema
11
- } from "./chunk-r89v15mw.js";
11
+ } from "./chunk-22wv0xvg.js";
12
12
  import"./chunk-6jf1natv.js";
13
13
 
14
14
  // src/constants.ts
@@ -50,6 +50,7 @@ import { z } from "zod/v4";
50
50
  var IsoDateTimeRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/;
51
51
  var IsoDateTimeString = z.string().min(1).regex(IsoDateTimeRegex, "must be a valid ISO 8601 datetime");
52
52
  var IsoDateString = z.string().min(1).regex(/^\d{4}-\d{2}-\d{2}$/, "must be a valid ISO 8601 date (YYYY-MM-DD)");
53
+ var NonEmptyString = z.string().trim().min(1);
53
54
  var TimebackSubject = z.enum([
54
55
  "Reading",
55
56
  "Language",
@@ -163,6 +164,7 @@ var IMSErrorResponse = z.object({
163
164
  });
164
165
  // ../../types/src/zod/caliper.ts
165
166
  import { z as z2 } from "zod/v4";
167
+ var CaliperIri = z2.union([z2.url(), z2.string().regex(/^urn:/, "Must be a URL or URN")]);
166
168
  var TimebackUser = z2.object({
167
169
  id: z2.url(),
168
170
  type: z2.literal("TimebackUser"),
@@ -272,11 +274,10 @@ var CaliperProfile = z2.enum([
272
274
  ]);
273
275
  var CaliperEntity = z2.union([z2.string(), z2.record(z2.string(), z2.unknown())]);
274
276
  var CaliperActor = z2.object({
275
- id: z2.url(),
277
+ id: CaliperIri,
276
278
  type: z2.string(),
277
- extensions: z2.object({
278
- email: z2.email()
279
- }).loose()
279
+ name: z2.string().optional(),
280
+ extensions: z2.record(z2.string(), z2.unknown()).optional()
280
281
  }).strict();
281
282
  var CaliperEvent = z2.object({
282
283
  "@context": z2.string().optional(),
@@ -298,30 +299,81 @@ var CaliperEvent = z2.object({
298
299
  extensions: z2.record(z2.string(), z2.unknown()).optional()
299
300
  }).strict();
300
301
  var CaliperEnvelopeInput = z2.object({
301
- sensor: z2.string().min(1, "sensor must be a non-empty string"),
302
+ sensor: NonEmptyString,
302
303
  sendTime: IsoDateTimeString,
303
304
  dataVersion: z2.literal("http://purl.imsglobal.org/ctx/caliper/v1p2"),
304
305
  data: z2.array(CaliperEvent).min(1, "data must contain at least one event")
305
306
  });
306
307
  var CaliperSendEventsInput = z2.object({
307
- sensor: z2.string().min(1, "sensor must be a non-empty string"),
308
+ sensor: NonEmptyString,
308
309
  events: z2.array(CaliperEvent).min(1, "events must contain at least one event")
309
310
  });
310
311
  var CaliperListEventsParams = z2.object({
311
312
  limit: z2.number().int().positive().optional(),
312
313
  offset: z2.number().int().min(0).optional(),
313
- sensor: z2.string().min(1).optional(),
314
+ sensor: NonEmptyString.optional(),
314
315
  startDate: IsoDateTimeString.optional(),
315
316
  endDate: IsoDateTimeString.optional(),
316
- actorId: z2.string().min(1).optional(),
317
+ actorId: NonEmptyString.optional(),
317
318
  actorEmail: z2.email().optional()
318
319
  }).strict();
320
+ var AssessmentItemObject = z2.object({
321
+ id: z2.string(),
322
+ name: z2.string().optional(),
323
+ isPartOf: CaliperEntity.optional(),
324
+ extensions: z2.record(z2.string(), z2.unknown()).optional()
325
+ });
326
+ var ResponseGenerated = z2.object({
327
+ id: z2.string(),
328
+ attempt: z2.union([z2.string(), z2.record(z2.string(), z2.unknown())]).optional(),
329
+ startedAtTime: IsoDateTimeString.optional(),
330
+ endedAtTime: IsoDateTimeString.optional(),
331
+ duration: z2.string().optional(),
332
+ extensions: z2.record(z2.string(), z2.unknown()).optional()
333
+ });
334
+ var ScoreGenerated = z2.object({
335
+ id: z2.string().optional(),
336
+ scoreGiven: z2.number(),
337
+ maxScore: z2.number().optional(),
338
+ attempt: z2.union([z2.string(), z2.record(z2.string(), z2.unknown())]).optional(),
339
+ comment: z2.string().optional(),
340
+ extensions: z2.record(z2.string(), z2.unknown()).optional()
341
+ });
342
+ var QuestionSeenInput = z2.object({
343
+ actor: z2.union([z2.string(), CaliperActor, TimebackUser]),
344
+ object: AssessmentItemObject,
345
+ edApp: CaliperEntity,
346
+ id: z2.string().optional(),
347
+ eventTime: IsoDateTimeString.optional(),
348
+ session: CaliperEntity.optional(),
349
+ extensions: z2.record(z2.string(), z2.unknown()).optional()
350
+ }).strict();
351
+ var QuestionAnsweredInput = z2.object({
352
+ actor: z2.union([z2.string(), CaliperActor, TimebackUser]),
353
+ object: AssessmentItemObject,
354
+ edApp: CaliperEntity,
355
+ generated: ResponseGenerated.optional(),
356
+ id: z2.string().optional(),
357
+ eventTime: IsoDateTimeString.optional(),
358
+ session: CaliperEntity.optional(),
359
+ extensions: z2.record(z2.string(), z2.unknown()).optional()
360
+ }).strict();
361
+ var QuestionGradedInput = z2.object({
362
+ actor: z2.union([z2.string(), CaliperActor, TimebackUser]),
363
+ object: z2.string(),
364
+ generated: ScoreGenerated,
365
+ edApp: CaliperEntity,
366
+ id: z2.string().optional(),
367
+ eventTime: IsoDateTimeString.optional(),
368
+ session: CaliperEntity.optional(),
369
+ extensions: z2.record(z2.string(), z2.unknown()).optional()
370
+ }).strict();
319
371
  // ../../types/src/zod/webhooks.ts
320
372
  import { z as z3 } from "zod/v4";
321
373
  var WebhookCreateInput = z3.object({
322
- name: z3.string().min(1, "name must be a non-empty string"),
374
+ name: NonEmptyString,
323
375
  targetUrl: z3.url("targetUrl must be a valid URL"),
324
- secret: z3.string().min(1, "secret must be a non-empty string"),
376
+ secret: NonEmptyString,
325
377
  active: z3.boolean(),
326
378
  sensor: z3.string().nullable().optional(),
327
379
  description: z3.string().nullable().optional()
@@ -343,16 +395,15 @@ var WebhookFilterOperation = z3.enum([
343
395
  "regexp"
344
396
  ]);
345
397
  var WebhookFilterCreateInput = z3.object({
346
- webhookId: z3.string().min(1, "webhookId must be a non-empty string"),
347
- filterKey: z3.string().min(1, "filterKey must be a non-empty string"),
348
- filterValue: z3.string().min(1, "filterValue must be a non-empty string"),
398
+ webhookId: NonEmptyString,
399
+ filterKey: NonEmptyString,
400
+ filterValue: NonEmptyString,
349
401
  filterType: WebhookFilterType,
350
402
  filterOperator: WebhookFilterOperation,
351
403
  active: z3.boolean()
352
404
  }).strict();
353
405
  // ../../types/src/zod/case.ts
354
406
  import { z as z4 } from "zod/v4";
355
- var NonEmptyString = z4.string().trim().min(1);
356
407
  var UuidString = z4.string().uuid();
357
408
  var InputNodeURISchema = z4.object({
358
409
  title: NonEmptyString,
@@ -446,15 +497,15 @@ var ClrProfileSchema = z5.object({
446
497
  email: z5.string().email().optional()
447
498
  });
448
499
  var ClrProofSchema = z5.object({
449
- type: z5.string().trim().min(1),
450
- proofPurpose: z5.string().trim().min(1),
451
- verificationMethod: z5.string().trim().min(1),
500
+ type: NonEmptyString,
501
+ proofPurpose: NonEmptyString,
502
+ verificationMethod: NonEmptyString,
452
503
  created: z5.iso.datetime(),
453
- proofValue: z5.string().trim().min(1),
504
+ proofValue: NonEmptyString,
454
505
  cryptosuite: z5.string().optional()
455
506
  });
456
507
  var ClrCredentialSchemaSchema = z5.object({
457
- id: z5.string().trim().min(1),
508
+ id: NonEmptyString,
458
509
  type: z5.literal("1EdTechJsonSchemaValidator2019")
459
510
  });
460
511
  var AchievementCriteriaSchema = z5.object({
@@ -464,8 +515,8 @@ var AchievementCriteriaSchema = z5.object({
464
515
  var AchievementSchema = z5.object({
465
516
  id: z5.url(),
466
517
  type: z5.array(z5.string()).min(1).refine((arr) => arr.includes("Achievement"), 'type must include "Achievement"'),
467
- name: z5.string().trim().min(1),
468
- description: z5.string().trim().min(1),
518
+ name: NonEmptyString,
519
+ description: NonEmptyString,
469
520
  criteria: AchievementCriteriaSchema,
470
521
  image: ClrImageSchema.optional(),
471
522
  achievementType: z5.string().optional(),
@@ -473,8 +524,8 @@ var AchievementSchema = z5.object({
473
524
  });
474
525
  var IdentityObjectSchema = z5.object({
475
526
  type: z5.literal("IdentityObject"),
476
- identityHash: z5.string().trim().min(1),
477
- identityType: z5.string().trim().min(1),
527
+ identityHash: NonEmptyString,
528
+ identityType: NonEmptyString,
478
529
  hashed: z5.boolean(),
479
530
  salt: z5.string().optional()
480
531
  });
@@ -519,7 +570,7 @@ var ClrCredentialInput = z5.object({
519
570
  id: z5.url(),
520
571
  type: z5.array(z5.string()).min(1).refine((arr) => arr.includes("VerifiableCredential") && arr.includes("ClrCredential"), 'type must include "VerifiableCredential" and "ClrCredential"'),
521
572
  issuer: ClrProfileSchema,
522
- name: z5.string().trim().min(1),
573
+ name: NonEmptyString,
523
574
  description: z5.string().optional(),
524
575
  validFrom: z5.iso.datetime(),
525
576
  validUntil: z5.iso.datetime().optional(),
@@ -652,6 +703,7 @@ var TimebackConfig = z6.object({
652
703
  // ../../types/src/zod/edubridge.ts
653
704
  import { z as z7 } from "zod/v4";
654
705
  var EdubridgeDateString = z7.union([IsoDateTimeString, IsoDateString]);
706
+ var EdubridgeDateStringInput = EdubridgeDateString.transform((date) => date.includes("T") ? date : `${date}T00:00:00.000Z`);
655
707
  var EduBridgeEnrollment = z7.object({
656
708
  id: z7.string(),
657
709
  role: z7.string(),
@@ -695,10 +747,9 @@ var EduBridgeEnrollmentAnalyticsResponse = z7.object({
695
747
  facts: EduBridgeAnalyticsFacts,
696
748
  factsByApp: z7.unknown()
697
749
  });
698
- var NonEmptyString2 = z7.string().trim().min(1);
699
750
  var EmailOrStudentId = z7.object({
700
751
  email: z7.email().optional(),
701
- studentId: NonEmptyString2.optional()
752
+ studentId: NonEmptyString.optional()
702
753
  }).superRefine((value, ctx) => {
703
754
  if (!value.email && !value.studentId) {
704
755
  ctx.addIssue({
@@ -714,16 +765,16 @@ var EmailOrStudentId = z7.object({
714
765
  }
715
766
  });
716
767
  var SubjectTrackInput = z7.object({
717
- subject: NonEmptyString2,
718
- grade: NonEmptyString2,
719
- courseId: NonEmptyString2,
720
- orgSourcedId: NonEmptyString2.optional()
768
+ subject: NonEmptyString,
769
+ grade: NonEmptyString,
770
+ courseId: NonEmptyString,
771
+ orgSourcedId: NonEmptyString.optional()
721
772
  });
722
773
  var EdubridgeListEnrollmentsParams = z7.object({
723
- userId: NonEmptyString2
774
+ userId: NonEmptyString
724
775
  });
725
776
  var EdubridgeEnrollOptions = z7.object({
726
- sourcedId: NonEmptyString2.optional(),
777
+ sourcedId: NonEmptyString.optional(),
727
778
  role: EnrollmentRole.optional(),
728
779
  beginDate: IsoDateTimeString.optional(),
729
780
  metadata: z7.record(z7.string(), z7.unknown()).optional()
@@ -737,43 +788,42 @@ var EdubridgeUsersListParams = z7.object({
737
788
  filter: z7.string().optional(),
738
789
  search: z7.string().optional(),
739
790
  roles: z7.array(OneRosterUserRole).min(1),
740
- orgSourcedIds: z7.array(NonEmptyString2).optional()
791
+ orgSourcedIds: z7.array(NonEmptyString).optional()
741
792
  });
742
793
  var EdubridgeActivityParams = EmailOrStudentId.extend({
743
- startDate: EdubridgeDateString,
744
- endDate: EdubridgeDateString,
794
+ startDate: EdubridgeDateStringInput,
795
+ endDate: EdubridgeDateStringInput,
745
796
  timezone: z7.string().optional()
746
797
  });
747
798
  var EdubridgeWeeklyFactsParams = EmailOrStudentId.extend({
748
- weekDate: EdubridgeDateString,
799
+ weekDate: EdubridgeDateStringInput,
749
800
  timezone: z7.string().optional()
750
801
  });
751
802
  var EdubridgeEnrollmentFactsParams = z7.object({
752
- enrollmentId: NonEmptyString2,
753
- startDate: EdubridgeDateString.optional(),
754
- endDate: EdubridgeDateString.optional(),
803
+ enrollmentId: NonEmptyString,
804
+ startDate: EdubridgeDateStringInput.optional(),
805
+ endDate: EdubridgeDateStringInput.optional(),
755
806
  timezone: z7.string().optional()
756
807
  });
757
808
  // ../../types/src/zod/masterytrack.ts
758
809
  import { z as z8 } from "zod/v4";
759
- var NonEmptyString3 = z8.string().trim().min(1);
760
810
  var MasteryTrackAuthorizerInput = z8.object({
761
811
  email: z8.email()
762
812
  });
763
813
  var MasteryTrackInventorySearchParams = z8.object({
764
- name: NonEmptyString3.optional(),
765
- timeback_id: NonEmptyString3.optional(),
766
- grade: NonEmptyString3.optional(),
767
- subject: NonEmptyString3.optional(),
814
+ name: NonEmptyString.optional(),
815
+ timeback_id: NonEmptyString.optional(),
816
+ grade: NonEmptyString.optional(),
817
+ subject: NonEmptyString.optional(),
768
818
  all: z8.boolean().optional()
769
819
  });
770
820
  var MasteryTrackAssignmentInput = z8.object({
771
821
  student_email: z8.email(),
772
- timeback_id: NonEmptyString3.optional(),
773
- subject: NonEmptyString3.optional(),
822
+ timeback_id: NonEmptyString.optional(),
823
+ subject: NonEmptyString.optional(),
774
824
  grade_rank: z8.number().int().min(0).max(12).optional(),
775
- assessment_line_item_sourced_id: NonEmptyString3.optional(),
776
- assessment_result_sourced_id: NonEmptyString3.optional()
825
+ assessment_line_item_sourced_id: NonEmptyString.optional(),
826
+ assessment_result_sourced_id: NonEmptyString.optional()
777
827
  }).superRefine((value, ctx) => {
778
828
  const hasTimebackId = !!value.timeback_id;
779
829
  const hasSubject = !!value.subject;
@@ -810,8 +860,8 @@ var MasteryTrackAssignmentInput = z8.object({
810
860
  var MasteryTrackInvalidateAssignmentInput = z8.object({
811
861
  student_email: z8.email(),
812
862
  assignment_id: z8.number().int().positive().optional(),
813
- timeback_id: NonEmptyString3.optional(),
814
- subject: NonEmptyString3.optional(),
863
+ timeback_id: NonEmptyString.optional(),
864
+ subject: NonEmptyString.optional(),
815
865
  grade_rank: z8.number().int().min(0).max(12).optional()
816
866
  }).superRefine((value, ctx) => {
817
867
  const byAssignment = value.assignment_id !== undefined;
@@ -834,15 +884,14 @@ var MasteryTrackInvalidateAssignmentInput = z8.object({
834
884
  });
835
885
  // ../../types/src/zod/oneroster.ts
836
886
  import { z as z9 } from "zod/v4";
837
- var NonEmptyString4 = z9.string().min(1);
838
887
  var Status = z9.enum(["active", "tobedeleted"]);
839
888
  var Metadata = z9.record(z9.string(), z9.unknown()).nullable().optional();
840
889
  var Ref = z9.object({
841
- sourcedId: NonEmptyString4,
890
+ sourcedId: NonEmptyString,
842
891
  type: z9.string().optional(),
843
892
  href: z9.string().optional()
844
893
  }).strict();
845
- var OneRosterDateString = z9.union([IsoDateString, IsoDateTimeString]);
894
+ var OneRosterDateString = z9.union([IsoDateString, IsoDateTimeString]).transform((date) => date.includes("T") ? date : `${date}T00:00:00Z`);
846
895
  var OneRosterUserRoleInput = z9.object({
847
896
  roleType: z9.enum(["primary", "secondary"]),
848
897
  role: OneRosterUserRole,
@@ -853,58 +902,58 @@ var OneRosterUserRoleInput = z9.object({
853
902
  endDate: OneRosterDateString.optional()
854
903
  }).strict();
855
904
  var OneRosterUserCreateInput = z9.object({
856
- sourcedId: NonEmptyString4.describe("sourcedId must be a non-empty string"),
905
+ sourcedId: NonEmptyString.describe("sourcedId must be a non-empty string"),
857
906
  status: Status.optional(),
858
907
  enabledUser: z9.boolean(),
859
- givenName: NonEmptyString4.describe("givenName must be a non-empty string"),
860
- familyName: NonEmptyString4.describe("familyName must be a non-empty string"),
861
- middleName: NonEmptyString4.optional(),
862
- username: NonEmptyString4.optional(),
908
+ givenName: NonEmptyString.describe("givenName must be a non-empty string"),
909
+ familyName: NonEmptyString.describe("familyName must be a non-empty string"),
910
+ middleName: NonEmptyString.optional(),
911
+ username: NonEmptyString.optional(),
863
912
  email: z9.email(),
864
913
  roles: z9.array(OneRosterUserRoleInput).min(1, "roles must include at least one role"),
865
914
  userIds: z9.array(z9.object({
866
- type: NonEmptyString4,
867
- identifier: NonEmptyString4
915
+ type: NonEmptyString,
916
+ identifier: NonEmptyString
868
917
  }).strict()).optional(),
869
918
  agents: z9.array(Ref).optional(),
870
919
  grades: z9.array(TimebackGrade).optional(),
871
- identifier: NonEmptyString4.optional(),
872
- sms: NonEmptyString4.optional(),
873
- phone: NonEmptyString4.optional(),
874
- pronouns: NonEmptyString4.optional(),
875
- password: NonEmptyString4.optional(),
920
+ identifier: NonEmptyString.optional(),
921
+ sms: NonEmptyString.optional(),
922
+ phone: NonEmptyString.optional(),
923
+ pronouns: NonEmptyString.optional(),
924
+ password: NonEmptyString.optional(),
876
925
  metadata: Metadata
877
926
  }).strict();
878
927
  var OneRosterCourseCreateInput = z9.object({
879
- sourcedId: NonEmptyString4.describe("sourcedId must be a non-empty string").optional(),
928
+ sourcedId: NonEmptyString.describe("sourcedId must be a non-empty string").optional(),
880
929
  status: Status.optional(),
881
- title: NonEmptyString4.describe("title must be a non-empty string"),
930
+ title: NonEmptyString.describe("title must be a non-empty string"),
882
931
  org: Ref,
883
- courseCode: NonEmptyString4.optional(),
932
+ courseCode: NonEmptyString.optional(),
884
933
  subjects: z9.array(TimebackSubject).optional(),
885
934
  grades: z9.array(TimebackGrade).optional(),
886
- level: NonEmptyString4.optional(),
935
+ level: NonEmptyString.optional(),
887
936
  metadata: Metadata
888
937
  }).strict();
889
938
  var OneRosterClassCreateInput = z9.object({
890
- sourcedId: NonEmptyString4.describe("sourcedId must be a non-empty string").optional(),
939
+ sourcedId: NonEmptyString.describe("sourcedId must be a non-empty string").optional(),
891
940
  status: Status.optional(),
892
- title: NonEmptyString4.describe("title must be a non-empty string"),
941
+ title: NonEmptyString.describe("title must be a non-empty string"),
893
942
  terms: z9.array(Ref).min(1, "terms must have at least one item"),
894
943
  course: Ref,
895
944
  org: Ref,
896
- classCode: NonEmptyString4.optional(),
945
+ classCode: NonEmptyString.optional(),
897
946
  classType: z9.enum(["homeroom", "scheduled"]).optional(),
898
- location: NonEmptyString4.optional(),
947
+ location: NonEmptyString.optional(),
899
948
  grades: z9.array(TimebackGrade).optional(),
900
949
  subjects: z9.array(TimebackSubject).optional(),
901
- subjectCodes: z9.array(NonEmptyString4).optional(),
902
- periods: z9.array(NonEmptyString4).optional(),
950
+ subjectCodes: z9.array(NonEmptyString).optional(),
951
+ periods: z9.array(NonEmptyString).optional(),
903
952
  metadata: Metadata
904
953
  }).strict();
905
954
  var StringBoolean = z9.enum(["true", "false"]);
906
955
  var OneRosterEnrollmentCreateInput = z9.object({
907
- sourcedId: NonEmptyString4.describe("sourcedId must be a non-empty string").optional(),
956
+ sourcedId: NonEmptyString.describe("sourcedId must be a non-empty string").optional(),
908
957
  status: Status.optional(),
909
958
  user: Ref,
910
959
  class: Ref,
@@ -916,20 +965,20 @@ var OneRosterEnrollmentCreateInput = z9.object({
916
965
  metadata: Metadata
917
966
  }).strict();
918
967
  var OneRosterCategoryCreateInput = z9.object({
919
- sourcedId: NonEmptyString4.optional(),
920
- title: NonEmptyString4.describe("title must be a non-empty string"),
968
+ sourcedId: NonEmptyString.optional(),
969
+ title: NonEmptyString.describe("title must be a non-empty string"),
921
970
  status: Status,
922
971
  weight: z9.number().nullable().optional(),
923
972
  metadata: Metadata
924
973
  }).strict();
925
974
  var OneRosterLineItemCreateInput = z9.object({
926
- sourcedId: NonEmptyString4.optional(),
927
- title: NonEmptyString4.describe("title must be a non-empty string"),
975
+ sourcedId: NonEmptyString.optional(),
976
+ title: NonEmptyString.describe("title must be a non-empty string"),
928
977
  class: Ref,
929
978
  school: Ref,
930
979
  category: Ref,
931
- assignDate: IsoDateTimeString,
932
- dueDate: IsoDateTimeString,
980
+ assignDate: OneRosterDateString,
981
+ dueDate: OneRosterDateString,
933
982
  status: Status,
934
983
  description: z9.string().optional(),
935
984
  resultValueMin: z9.number().nullable().optional(),
@@ -938,11 +987,11 @@ var OneRosterLineItemCreateInput = z9.object({
938
987
  metadata: Metadata
939
988
  }).strict();
940
989
  var OneRosterResultCreateInput = z9.object({
941
- sourcedId: NonEmptyString4.optional(),
990
+ sourcedId: NonEmptyString.optional(),
942
991
  lineItem: Ref,
943
992
  student: Ref,
944
993
  class: Ref.optional(),
945
- scoreDate: IsoDateTimeString,
994
+ scoreDate: OneRosterDateString,
946
995
  scoreStatus: z9.enum([
947
996
  "exempt",
948
997
  "fully graded",
@@ -957,15 +1006,15 @@ var OneRosterResultCreateInput = z9.object({
957
1006
  metadata: Metadata
958
1007
  }).strict();
959
1008
  var OneRosterScoreScaleCreateInput = z9.object({
960
- sourcedId: NonEmptyString4.optional(),
961
- title: NonEmptyString4.describe("title must be a non-empty string"),
1009
+ sourcedId: NonEmptyString.optional(),
1010
+ title: NonEmptyString.describe("title must be a non-empty string"),
962
1011
  status: Status.optional(),
963
1012
  type: z9.string(),
964
1013
  class: Ref,
965
1014
  course: Ref.nullable().optional(),
966
1015
  scoreScaleValue: z9.array(z9.object({
967
- itemValueLHS: NonEmptyString4,
968
- itemValueRHS: NonEmptyString4,
1016
+ itemValueLHS: NonEmptyString,
1017
+ itemValueRHS: NonEmptyString,
969
1018
  value: z9.string().optional(),
970
1019
  description: z9.string().optional()
971
1020
  }).strict()),
@@ -974,10 +1023,10 @@ var OneRosterScoreScaleCreateInput = z9.object({
974
1023
  metadata: Metadata
975
1024
  }).strict();
976
1025
  var OneRosterAssessmentLineItemCreateInput = z9.object({
977
- sourcedId: NonEmptyString4.optional(),
1026
+ sourcedId: NonEmptyString.optional(),
978
1027
  status: Status.optional(),
979
1028
  dateLastModified: IsoDateTimeString.optional(),
980
- title: NonEmptyString4.describe("title must be a non-empty string"),
1029
+ title: NonEmptyString.describe("title must be a non-empty string"),
981
1030
  description: z9.string().nullable().optional(),
982
1031
  class: Ref.nullable().optional(),
983
1032
  parentAssessmentLineItem: Ref.nullable().optional(),
@@ -1003,7 +1052,7 @@ var LearningObjectiveScoreSetSchema = z9.array(z9.object({
1003
1052
  learningObjectiveResults: z9.array(LearningObjectiveResult)
1004
1053
  }));
1005
1054
  var OneRosterAssessmentResultCreateInput = z9.object({
1006
- sourcedId: NonEmptyString4.optional(),
1055
+ sourcedId: NonEmptyString.optional(),
1007
1056
  status: Status.optional(),
1008
1057
  dateLastModified: IsoDateTimeString.optional(),
1009
1058
  metadata: Metadata,
@@ -1011,7 +1060,7 @@ var OneRosterAssessmentResultCreateInput = z9.object({
1011
1060
  student: Ref,
1012
1061
  score: z9.number().nullable().optional(),
1013
1062
  textScore: z9.string().nullable().optional(),
1014
- scoreDate: z9.string().datetime(),
1063
+ scoreDate: OneRosterDateString,
1015
1064
  scoreScale: Ref.nullable().optional(),
1016
1065
  scorePercentile: z9.number().nullable().optional(),
1017
1066
  scoreStatus: z9.enum([
@@ -1029,53 +1078,53 @@ var OneRosterAssessmentResultCreateInput = z9.object({
1029
1078
  missing: z9.string().nullable().optional()
1030
1079
  }).strict();
1031
1080
  var OneRosterOrgCreateInput = z9.object({
1032
- sourcedId: NonEmptyString4.optional(),
1081
+ sourcedId: NonEmptyString.optional(),
1033
1082
  status: Status.optional(),
1034
- name: NonEmptyString4.describe("name must be a non-empty string"),
1083
+ name: NonEmptyString.describe("name must be a non-empty string"),
1035
1084
  type: OrganizationType,
1036
- identifier: NonEmptyString4.optional(),
1085
+ identifier: NonEmptyString.optional(),
1037
1086
  parent: Ref.optional(),
1038
1087
  metadata: Metadata
1039
1088
  }).strict();
1040
1089
  var OneRosterSchoolCreateInput = z9.object({
1041
- sourcedId: NonEmptyString4.optional(),
1090
+ sourcedId: NonEmptyString.optional(),
1042
1091
  status: Status.optional(),
1043
- name: NonEmptyString4.describe("name must be a non-empty string"),
1092
+ name: NonEmptyString.describe("name must be a non-empty string"),
1044
1093
  type: z9.literal("school").optional(),
1045
- identifier: NonEmptyString4.optional(),
1094
+ identifier: NonEmptyString.optional(),
1046
1095
  parent: Ref.optional(),
1047
1096
  metadata: Metadata
1048
1097
  }).strict();
1049
1098
  var OneRosterAcademicSessionCreateInput = z9.object({
1050
- sourcedId: NonEmptyString4.describe("sourcedId must be a non-empty string"),
1099
+ sourcedId: NonEmptyString.describe("sourcedId must be a non-empty string"),
1051
1100
  status: Status,
1052
- title: NonEmptyString4.describe("title must be a non-empty string"),
1101
+ title: NonEmptyString.describe("title must be a non-empty string"),
1053
1102
  startDate: OneRosterDateString,
1054
1103
  endDate: OneRosterDateString,
1055
1104
  type: z9.enum(["gradingPeriod", "semester", "schoolYear", "term"]),
1056
- schoolYear: NonEmptyString4.describe("schoolYear must be a non-empty string"),
1105
+ schoolYear: NonEmptyString.describe("schoolYear must be a non-empty string"),
1057
1106
  org: Ref,
1058
1107
  parent: Ref.optional(),
1059
1108
  children: z9.array(Ref).optional(),
1060
1109
  metadata: Metadata
1061
1110
  }).strict();
1062
1111
  var OneRosterComponentResourceCreateInput = z9.object({
1063
- sourcedId: NonEmptyString4.optional(),
1064
- title: NonEmptyString4.describe("title must be a non-empty string"),
1112
+ sourcedId: NonEmptyString.optional(),
1113
+ title: NonEmptyString.describe("title must be a non-empty string"),
1065
1114
  courseComponent: Ref,
1066
1115
  resource: Ref,
1067
1116
  status: Status,
1068
1117
  metadata: Metadata
1069
1118
  }).strict();
1070
1119
  var OneRosterCourseComponentCreateInput = z9.object({
1071
- sourcedId: NonEmptyString4.optional(),
1072
- title: NonEmptyString4.describe("title must be a non-empty string"),
1120
+ sourcedId: NonEmptyString.optional(),
1121
+ title: NonEmptyString.describe("title must be a non-empty string"),
1073
1122
  course: Ref,
1074
1123
  status: Status,
1075
1124
  metadata: Metadata
1076
1125
  }).strict();
1077
1126
  var OneRosterEnrollInput = z9.object({
1078
- sourcedId: NonEmptyString4.describe("sourcedId must be a non-empty string"),
1127
+ sourcedId: NonEmptyString.describe("sourcedId must be a non-empty string"),
1079
1128
  role: z9.enum(["student", "teacher"]),
1080
1129
  primary: StringBoolean.optional(),
1081
1130
  beginDate: IsoDateString.optional(),
@@ -1083,17 +1132,17 @@ var OneRosterEnrollInput = z9.object({
1083
1132
  metadata: Metadata
1084
1133
  }).strict();
1085
1134
  var OneRosterAgentInput = z9.object({
1086
- agentSourcedId: NonEmptyString4.describe("agentSourcedId must be a non-empty string")
1135
+ agentSourcedId: NonEmptyString.describe("agentSourcedId must be a non-empty string")
1087
1136
  }).strict();
1088
1137
  var OneRosterCredentialInput = z9.object({
1089
- applicationName: NonEmptyString4.describe("applicationName must be a non-empty string"),
1138
+ applicationName: NonEmptyString.describe("applicationName must be a non-empty string"),
1090
1139
  credentials: z9.object({
1091
- username: NonEmptyString4.describe("username must be a non-empty string"),
1092
- password: NonEmptyString4.describe("password must be a non-empty string")
1140
+ username: NonEmptyString.describe("username must be a non-empty string"),
1141
+ password: NonEmptyString.describe("password must be a non-empty string")
1093
1142
  })
1094
1143
  }).strict();
1095
1144
  var OneRosterDemographicsCreateInput = z9.object({
1096
- sourcedId: NonEmptyString4.describe("sourcedId must be a non-empty string")
1145
+ sourcedId: NonEmptyString.describe("sourcedId must be a non-empty string")
1097
1146
  }).loose();
1098
1147
  var CommonResourceMetadataSchema = z9.object({
1099
1148
  type: ResourceType,
@@ -1165,9 +1214,9 @@ var ResourceMetadataSchema = z9.discriminatedUnion("type", [
1165
1214
  AssessmentBankMetadataSchema
1166
1215
  ]);
1167
1216
  var OneRosterResourceCreateInput = z9.object({
1168
- sourcedId: NonEmptyString4.optional(),
1169
- title: NonEmptyString4.describe("title must be a non-empty string"),
1170
- vendorResourceId: NonEmptyString4.describe("vendorResourceId must be a non-empty string"),
1217
+ sourcedId: NonEmptyString.optional(),
1218
+ title: NonEmptyString.describe("title must be a non-empty string"),
1219
+ vendorResourceId: NonEmptyString.describe("vendorResourceId must be a non-empty string"),
1171
1220
  roles: z9.array(z9.enum(["primary", "secondary"])).optional(),
1172
1221
  importance: z9.enum(["primary", "secondary"]).optional(),
1173
1222
  vendorId: z9.string().optional(),
@@ -1176,18 +1225,18 @@ var OneRosterResourceCreateInput = z9.object({
1176
1225
  metadata: ResourceMetadataSchema.nullable().optional()
1177
1226
  }).strict();
1178
1227
  var CourseStructureItem = z9.object({
1179
- url: NonEmptyString4.describe("courseStructure.url must be a non-empty string"),
1180
- skillCode: NonEmptyString4.describe("courseStructure.skillCode must be a non-empty string"),
1181
- lessonCode: NonEmptyString4.describe("courseStructure.lessonCode must be a non-empty string"),
1182
- title: NonEmptyString4.describe("courseStructure.title must be a non-empty string"),
1183
- "unit-title": NonEmptyString4.describe("courseStructure.unit-title must be a non-empty string"),
1184
- status: NonEmptyString4.describe("courseStructure.status must be a non-empty string"),
1228
+ url: NonEmptyString.describe("courseStructure.url must be a non-empty string"),
1229
+ skillCode: NonEmptyString.describe("courseStructure.skillCode must be a non-empty string"),
1230
+ lessonCode: NonEmptyString.describe("courseStructure.lessonCode must be a non-empty string"),
1231
+ title: NonEmptyString.describe("courseStructure.title must be a non-empty string"),
1232
+ "unit-title": NonEmptyString.describe("courseStructure.unit-title must be a non-empty string"),
1233
+ status: NonEmptyString.describe("courseStructure.status must be a non-empty string"),
1185
1234
  xp: z9.number()
1186
1235
  }).loose();
1187
1236
  var OneRosterCourseStructureInput = z9.object({
1188
1237
  course: z9.object({
1189
- sourcedId: NonEmptyString4.describe("course.sourcedId must be a non-empty string").optional(),
1190
- title: NonEmptyString4.describe("course.title must be a non-empty string"),
1238
+ sourcedId: NonEmptyString.describe("course.sourcedId must be a non-empty string").optional(),
1239
+ title: NonEmptyString.describe("course.title must be a non-empty string"),
1191
1240
  org: Ref,
1192
1241
  status: Status,
1193
1242
  metadata: Metadata
@@ -1200,7 +1249,6 @@ var OneRosterBulkResultItem = z9.object({
1200
1249
  var OneRosterBulkResultsInput = z9.array(OneRosterBulkResultItem).min(1, "results must have at least one item");
1201
1250
  // ../../types/src/zod/powerpath.ts
1202
1251
  import { z as z10 } from "zod/v4";
1203
- var NonEmptyString5 = z10.string().trim().min(1);
1204
1252
  var ToolProvider = z10.enum(["edulastic", "mastery-track"]);
1205
1253
  var LessonTypeRequired = z10.enum([
1206
1254
  "powerpath-100",
@@ -1213,14 +1261,14 @@ var LessonTypeRequired = z10.enum([
1213
1261
  var GradeArray = z10.array(TimebackGrade);
1214
1262
  var ResourceMetadata = z10.record(z10.string(), z10.unknown()).optional();
1215
1263
  var ExternalTestBase = z10.object({
1216
- courseId: NonEmptyString5,
1217
- lessonTitle: NonEmptyString5.optional(),
1218
- launchUrl: NonEmptyString5.optional(),
1264
+ courseId: NonEmptyString,
1265
+ lessonTitle: NonEmptyString.optional(),
1266
+ launchUrl: NonEmptyString.optional(),
1219
1267
  toolProvider: ToolProvider,
1220
- unitTitle: NonEmptyString5.optional(),
1221
- courseComponentSourcedId: NonEmptyString5.optional(),
1222
- vendorId: NonEmptyString5.optional(),
1223
- description: NonEmptyString5.optional(),
1268
+ unitTitle: NonEmptyString.optional(),
1269
+ courseComponentSourcedId: NonEmptyString.optional(),
1270
+ vendorId: NonEmptyString.optional(),
1271
+ description: NonEmptyString.optional(),
1224
1272
  resourceMetadata: ResourceMetadata.nullable().optional(),
1225
1273
  grades: GradeArray
1226
1274
  });
@@ -1230,28 +1278,28 @@ var ExternalTestOut = ExternalTestBase.extend({
1230
1278
  });
1231
1279
  var ExternalPlacement = ExternalTestBase.extend({
1232
1280
  lessonType: z10.literal("placement"),
1233
- courseIdOnFail: NonEmptyString5.nullable().optional(),
1281
+ courseIdOnFail: NonEmptyString.nullable().optional(),
1234
1282
  xp: z10.number().optional()
1235
1283
  });
1236
1284
  var PowerPathCreateExternalPlacementTestInput = ExternalPlacement;
1237
1285
  var PowerPathCreateExternalTestOutInput = ExternalTestOut;
1238
1286
  var InternalTestBase = z10.object({
1239
- courseId: NonEmptyString5,
1287
+ courseId: NonEmptyString,
1240
1288
  lessonType: LessonTypeRequired,
1241
- lessonTitle: NonEmptyString5.optional(),
1242
- unitTitle: NonEmptyString5.optional(),
1243
- courseComponentSourcedId: NonEmptyString5.optional(),
1289
+ lessonTitle: NonEmptyString.optional(),
1290
+ unitTitle: NonEmptyString.optional(),
1291
+ courseComponentSourcedId: NonEmptyString.optional(),
1244
1292
  resourceMetadata: ResourceMetadata.nullable().optional(),
1245
1293
  xp: z10.number().optional(),
1246
1294
  grades: GradeArray.optional(),
1247
- courseIdOnFail: NonEmptyString5.nullable().optional()
1295
+ courseIdOnFail: NonEmptyString.nullable().optional()
1248
1296
  });
1249
1297
  var PowerPathCreateInternalTestInput = z10.discriminatedUnion("testType", [
1250
1298
  InternalTestBase.extend({
1251
1299
  testType: z10.literal("qti"),
1252
1300
  qti: z10.object({
1253
1301
  url: z10.url(),
1254
- title: NonEmptyString5.optional(),
1302
+ title: NonEmptyString.optional(),
1255
1303
  metadata: z10.record(z10.string(), z10.unknown()).optional()
1256
1304
  })
1257
1305
  }),
@@ -1260,28 +1308,28 @@ var PowerPathCreateInternalTestInput = z10.discriminatedUnion("testType", [
1260
1308
  assessmentBank: z10.object({
1261
1309
  resources: z10.array(z10.object({
1262
1310
  url: z10.url(),
1263
- title: NonEmptyString5.optional(),
1311
+ title: NonEmptyString.optional(),
1264
1312
  metadata: z10.record(z10.string(), z10.unknown()).optional()
1265
1313
  })).min(1)
1266
1314
  })
1267
1315
  })
1268
1316
  ]);
1269
1317
  var PowerPathCreateNewAttemptInput = z10.object({
1270
- student: NonEmptyString5,
1271
- lesson: NonEmptyString5
1318
+ student: NonEmptyString,
1319
+ lesson: NonEmptyString
1272
1320
  });
1273
1321
  var PowerPathFinalStudentAssessmentResponseInput = z10.object({
1274
- student: NonEmptyString5,
1275
- lesson: NonEmptyString5
1322
+ student: NonEmptyString,
1323
+ lesson: NonEmptyString
1276
1324
  });
1277
1325
  var PowerPathLessonPlansCreateInput = z10.object({
1278
- courseId: NonEmptyString5,
1279
- userId: NonEmptyString5,
1280
- classId: NonEmptyString5.optional()
1326
+ courseId: NonEmptyString,
1327
+ userId: NonEmptyString,
1328
+ classId: NonEmptyString.optional()
1281
1329
  });
1282
1330
  var LessonPlanTarget = z10.object({
1283
1331
  type: z10.enum(["component", "resource"]),
1284
- id: NonEmptyString5
1332
+ id: NonEmptyString
1285
1333
  });
1286
1334
  var PowerPathLessonPlanOperationInput = z10.union([
1287
1335
  z10.object({
@@ -1294,8 +1342,8 @@ var PowerPathLessonPlanOperationInput = z10.union([
1294
1342
  z10.object({
1295
1343
  type: z10.literal("add-custom-resource"),
1296
1344
  payload: z10.object({
1297
- resource_id: NonEmptyString5,
1298
- parent_component_id: NonEmptyString5,
1345
+ resource_id: NonEmptyString,
1346
+ parent_component_id: NonEmptyString,
1299
1347
  skipped: z10.boolean().optional()
1300
1348
  })
1301
1349
  }),
@@ -1303,14 +1351,14 @@ var PowerPathLessonPlanOperationInput = z10.union([
1303
1351
  type: z10.literal("move-item-before"),
1304
1352
  payload: z10.object({
1305
1353
  target: LessonPlanTarget,
1306
- reference_id: NonEmptyString5
1354
+ reference_id: NonEmptyString
1307
1355
  })
1308
1356
  }),
1309
1357
  z10.object({
1310
1358
  type: z10.literal("move-item-after"),
1311
1359
  payload: z10.object({
1312
1360
  target: LessonPlanTarget,
1313
- reference_id: NonEmptyString5
1361
+ reference_id: NonEmptyString
1314
1362
  })
1315
1363
  }),
1316
1364
  z10.object({
@@ -1329,107 +1377,107 @@ var PowerPathLessonPlanOperationInput = z10.union([
1329
1377
  type: z10.literal("change-item-parent"),
1330
1378
  payload: z10.object({
1331
1379
  target: LessonPlanTarget,
1332
- new_parent_id: NonEmptyString5,
1380
+ new_parent_id: NonEmptyString,
1333
1381
  position: z10.enum(["start", "end"]).optional()
1334
1382
  })
1335
1383
  })
1336
1384
  ]);
1337
1385
  var PowerPathLessonPlanOperationsInput = z10.object({
1338
1386
  operation: PowerPathLessonPlanOperationInput,
1339
- reason: NonEmptyString5.optional()
1387
+ reason: NonEmptyString.optional()
1340
1388
  });
1341
1389
  var PowerPathLessonPlanUpdateStudentItemResponseInput = z10.object({
1342
- studentId: NonEmptyString5,
1343
- componentResourceId: NonEmptyString5,
1390
+ studentId: NonEmptyString,
1391
+ componentResourceId: NonEmptyString,
1344
1392
  result: z10.object({
1345
1393
  status: z10.enum(["active", "tobedeleted"]),
1346
1394
  metadata: z10.record(z10.string(), z10.unknown()).optional(),
1347
1395
  score: z10.number().optional(),
1348
- textScore: NonEmptyString5.optional(),
1396
+ textScore: NonEmptyString.optional(),
1349
1397
  scoreDate: z10.string().datetime(),
1350
1398
  scorePercentile: z10.number().optional(),
1351
1399
  scoreStatus: ScoreStatus,
1352
- comment: NonEmptyString5.optional(),
1400
+ comment: NonEmptyString.optional(),
1353
1401
  learningObjectiveSet: z10.array(z10.object({
1354
- source: NonEmptyString5,
1402
+ source: NonEmptyString,
1355
1403
  learningObjectiveResults: z10.array(z10.object({
1356
- learningObjectiveId: NonEmptyString5,
1404
+ learningObjectiveId: NonEmptyString,
1357
1405
  score: z10.number().optional(),
1358
- textScore: NonEmptyString5.optional()
1406
+ textScore: NonEmptyString.optional()
1359
1407
  }))
1360
1408
  })).optional(),
1361
- inProgress: NonEmptyString5.optional(),
1362
- incomplete: NonEmptyString5.optional(),
1363
- late: NonEmptyString5.optional(),
1364
- missing: NonEmptyString5.optional()
1409
+ inProgress: NonEmptyString.optional(),
1410
+ incomplete: NonEmptyString.optional(),
1411
+ late: NonEmptyString.optional(),
1412
+ missing: NonEmptyString.optional()
1365
1413
  })
1366
1414
  });
1367
1415
  var PowerPathMakeExternalTestAssignmentInput = z10.object({
1368
- student: NonEmptyString5,
1369
- lesson: NonEmptyString5,
1370
- applicationName: NonEmptyString5.optional(),
1371
- testId: NonEmptyString5.optional(),
1416
+ student: NonEmptyString,
1417
+ lesson: NonEmptyString,
1418
+ applicationName: NonEmptyString.optional(),
1419
+ testId: NonEmptyString.optional(),
1372
1420
  skipCourseEnrollment: z10.boolean().optional()
1373
1421
  });
1374
1422
  var PowerPathPlacementResetUserPlacementInput = z10.object({
1375
- student: NonEmptyString5,
1423
+ student: NonEmptyString,
1376
1424
  subject: TimebackSubject
1377
1425
  });
1378
1426
  var PowerPathResetAttemptInput = z10.object({
1379
- student: NonEmptyString5,
1380
- lesson: NonEmptyString5
1427
+ student: NonEmptyString,
1428
+ lesson: NonEmptyString
1381
1429
  });
1382
1430
  var PowerPathScreeningResetSessionInput = z10.object({
1383
- userId: NonEmptyString5
1431
+ userId: NonEmptyString
1384
1432
  });
1385
1433
  var PowerPathScreeningAssignTestInput = z10.object({
1386
- userId: NonEmptyString5,
1434
+ userId: NonEmptyString,
1387
1435
  subject: z10.enum(["Math", "Reading", "Language", "Science"])
1388
1436
  });
1389
1437
  var PowerPathTestAssignmentsCreateInput = z10.object({
1390
- student: NonEmptyString5,
1438
+ student: NonEmptyString,
1391
1439
  subject: TimebackSubject,
1392
1440
  grade: TimebackGrade,
1393
- testName: NonEmptyString5.optional()
1441
+ testName: NonEmptyString.optional()
1394
1442
  });
1395
1443
  var PowerPathTestAssignmentsUpdateInput = z10.object({
1396
- testName: NonEmptyString5
1444
+ testName: NonEmptyString
1397
1445
  });
1398
1446
  var PowerPathTestAssignmentItemInput = z10.object({
1399
- student: NonEmptyString5,
1447
+ student: NonEmptyString,
1400
1448
  subject: TimebackSubject,
1401
1449
  grade: TimebackGrade,
1402
- testName: NonEmptyString5.optional()
1450
+ testName: NonEmptyString.optional()
1403
1451
  });
1404
1452
  var PowerPathTestAssignmentsBulkInput = z10.object({
1405
1453
  items: z10.array(PowerPathTestAssignmentItemInput)
1406
1454
  });
1407
1455
  var PowerPathTestAssignmentsImportInput = z10.object({
1408
1456
  spreadsheetUrl: z10.url(),
1409
- sheet: NonEmptyString5
1457
+ sheet: NonEmptyString
1410
1458
  });
1411
1459
  var PowerPathTestAssignmentsListParams = z10.object({
1412
- student: NonEmptyString5,
1460
+ student: NonEmptyString,
1413
1461
  status: z10.enum(["assigned", "in_progress", "completed", "failed", "expired", "cancelled"]).optional(),
1414
- subject: NonEmptyString5.optional(),
1462
+ subject: NonEmptyString.optional(),
1415
1463
  grade: TimebackGrade.optional(),
1416
1464
  limit: z10.number().int().positive().max(3000).optional(),
1417
1465
  offset: z10.number().int().nonnegative().optional()
1418
1466
  });
1419
1467
  var PowerPathTestAssignmentsAdminParams = z10.object({
1420
- student: NonEmptyString5.optional(),
1468
+ student: NonEmptyString.optional(),
1421
1469
  status: z10.enum(["assigned", "in_progress", "completed", "failed", "expired", "cancelled"]).optional(),
1422
- subject: NonEmptyString5.optional(),
1470
+ subject: NonEmptyString.optional(),
1423
1471
  grade: TimebackGrade.optional(),
1424
1472
  limit: z10.number().int().positive().max(3000).optional(),
1425
1473
  offset: z10.number().int().nonnegative().optional()
1426
1474
  });
1427
1475
  var PowerPathUpdateStudentQuestionResponseInput = z10.object({
1428
- student: NonEmptyString5,
1429
- question: NonEmptyString5,
1430
- response: z10.union([NonEmptyString5, z10.array(NonEmptyString5)]).optional(),
1431
- responses: z10.record(z10.string(), z10.union([NonEmptyString5, z10.array(NonEmptyString5)])).optional(),
1432
- lesson: NonEmptyString5,
1476
+ student: NonEmptyString,
1477
+ question: NonEmptyString,
1478
+ response: z10.union([NonEmptyString, z10.array(NonEmptyString)]).optional(),
1479
+ responses: z10.record(z10.string(), z10.union([NonEmptyString, z10.array(NonEmptyString)])).optional(),
1480
+ lesson: NonEmptyString,
1433
1481
  rendererOutcomes: z10.object({
1434
1482
  score: z10.number(),
1435
1483
  maxScore: z10.number().min(0),
@@ -1446,29 +1494,29 @@ var PowerPathUpdateStudentQuestionResponseInput = z10.object({
1446
1494
  return data;
1447
1495
  });
1448
1496
  var PowerPathGetAssessmentProgressParams = z10.object({
1449
- student: NonEmptyString5,
1450
- lesson: NonEmptyString5,
1497
+ student: NonEmptyString,
1498
+ lesson: NonEmptyString,
1451
1499
  attempt: z10.number().int().positive().optional()
1452
1500
  });
1453
1501
  var PowerPathGetNextQuestionParams = z10.object({
1454
- student: NonEmptyString5,
1455
- lesson: NonEmptyString5
1502
+ student: NonEmptyString,
1503
+ lesson: NonEmptyString
1456
1504
  });
1457
1505
  var PowerPathGetAttemptsParams = z10.object({
1458
- student: NonEmptyString5,
1459
- lesson: NonEmptyString5
1506
+ student: NonEmptyString,
1507
+ lesson: NonEmptyString
1460
1508
  });
1461
1509
  var PowerPathTestOutParams = z10.object({
1462
- student: NonEmptyString5,
1463
- course: NonEmptyString5
1510
+ student: NonEmptyString,
1511
+ course: NonEmptyString
1464
1512
  });
1465
1513
  var PowerPathImportExternalTestAssignmentResultsParams = z10.object({
1466
- student: NonEmptyString5,
1467
- lesson: NonEmptyString5,
1468
- applicationName: NonEmptyString5.optional()
1514
+ student: NonEmptyString,
1515
+ lesson: NonEmptyString,
1516
+ applicationName: NonEmptyString.optional()
1469
1517
  });
1470
1518
  var PowerPathPlacementQueryParams = z10.object({
1471
- student: NonEmptyString5,
1519
+ student: NonEmptyString,
1472
1520
  subject: TimebackSubject
1473
1521
  });
1474
1522
  var PowerPathSyllabusQueryParams = z10.object({
@@ -1519,18 +1567,18 @@ var QtiCorrectResponse = z11.object({
1519
1567
  value: z11.array(z11.string())
1520
1568
  }).strict();
1521
1569
  var QtiResponseDeclaration = z11.object({
1522
- identifier: z11.string().min(1),
1570
+ identifier: NonEmptyString,
1523
1571
  cardinality: QtiCardinality,
1524
1572
  baseType: QtiBaseType.optional(),
1525
1573
  correctResponse: QtiCorrectResponse
1526
1574
  }).strict();
1527
1575
  var QtiOutcomeDeclaration = z11.object({
1528
- identifier: z11.string().min(1),
1576
+ identifier: NonEmptyString,
1529
1577
  cardinality: QtiCardinality,
1530
1578
  baseType: QtiBaseType.optional()
1531
1579
  }).strict();
1532
1580
  var QtiTestOutcomeDeclaration = z11.object({
1533
- identifier: z11.string().min(1),
1581
+ identifier: NonEmptyString,
1534
1582
  cardinality: QtiCardinality.optional(),
1535
1583
  baseType: QtiBaseType,
1536
1584
  normalMaximum: z11.number().optional(),
@@ -1540,19 +1588,19 @@ var QtiTestOutcomeDeclaration = z11.object({
1540
1588
  }).strict().optional()
1541
1589
  }).strict();
1542
1590
  var QtiInlineFeedback = z11.object({
1543
- outcomeIdentifier: z11.string().min(1),
1544
- variableIdentifier: z11.string().min(1)
1591
+ outcomeIdentifier: NonEmptyString,
1592
+ variableIdentifier: NonEmptyString
1545
1593
  }).strict();
1546
1594
  var QtiResponseProcessing = z11.object({
1547
1595
  templateType: z11.enum(["match_correct", "map_response"]),
1548
- responseDeclarationIdentifier: z11.string().min(1),
1549
- outcomeIdentifier: z11.string().min(1),
1550
- correctResponseIdentifier: z11.string().min(1),
1551
- incorrectResponseIdentifier: z11.string().min(1),
1596
+ responseDeclarationIdentifier: NonEmptyString,
1597
+ outcomeIdentifier: NonEmptyString,
1598
+ correctResponseIdentifier: NonEmptyString,
1599
+ incorrectResponseIdentifier: NonEmptyString,
1552
1600
  inlineFeedback: QtiInlineFeedback.optional()
1553
1601
  }).strict();
1554
1602
  var QtiLearningObjectiveSet = z11.object({
1555
- source: z11.string().min(1),
1603
+ source: NonEmptyString,
1556
1604
  learningObjectiveIds: z11.array(z11.string())
1557
1605
  }).strict();
1558
1606
  var QtiItemMetadata = z11.object({
@@ -1562,32 +1610,32 @@ var QtiItemMetadata = z11.object({
1562
1610
  learningObjectiveSet: z11.array(QtiLearningObjectiveSet).optional()
1563
1611
  }).loose();
1564
1612
  var QtiModalFeedback = z11.object({
1565
- outcomeIdentifier: z11.string().min(1),
1566
- identifier: z11.string().min(1),
1613
+ outcomeIdentifier: NonEmptyString,
1614
+ identifier: NonEmptyString,
1567
1615
  showHide: QtiShowHide,
1568
1616
  content: z11.string(),
1569
1617
  title: z11.string()
1570
1618
  }).strict();
1571
1619
  var QtiFeedbackInline = z11.object({
1572
- outcomeIdentifier: z11.string().min(1),
1573
- identifier: z11.string().min(1),
1620
+ outcomeIdentifier: NonEmptyString,
1621
+ identifier: NonEmptyString,
1574
1622
  showHide: QtiShowHide,
1575
1623
  content: z11.string(),
1576
1624
  class: z11.array(z11.string())
1577
1625
  }).strict();
1578
1626
  var QtiFeedbackBlock = z11.object({
1579
- outcomeIdentifier: z11.string().min(1),
1580
- identifier: z11.string().min(1),
1627
+ outcomeIdentifier: NonEmptyString,
1628
+ identifier: NonEmptyString,
1581
1629
  showHide: QtiShowHide,
1582
1630
  content: z11.string(),
1583
1631
  class: z11.array(z11.string())
1584
1632
  }).strict();
1585
1633
  var QtiStylesheet = z11.object({
1586
- href: z11.string().min(1),
1587
- type: z11.string().min(1)
1634
+ href: NonEmptyString,
1635
+ type: NonEmptyString
1588
1636
  }).strict();
1589
1637
  var QtiCatalogInfo = z11.object({
1590
- id: z11.string().min(1),
1638
+ id: NonEmptyString,
1591
1639
  support: z11.string(),
1592
1640
  content: z11.string()
1593
1641
  }).strict();
@@ -1599,12 +1647,12 @@ var QtiPaginationParams = z11.object({
1599
1647
  }).strict();
1600
1648
  var QtiAssessmentItemXmlCreateInput = z11.object({
1601
1649
  format: z11.string().pipe(z11.literal("xml")),
1602
- xml: z11.string().min(1),
1650
+ xml: NonEmptyString,
1603
1651
  metadata: QtiItemMetadata.optional()
1604
1652
  }).strict();
1605
1653
  var QtiAssessmentItemJsonCreateInput = z11.object({
1606
- identifier: z11.string().min(1),
1607
- title: z11.string().min(1),
1654
+ identifier: NonEmptyString,
1655
+ title: NonEmptyString,
1608
1656
  type: QtiAssessmentItemType,
1609
1657
  qtiVersion: z11.string().optional(),
1610
1658
  timeDependent: z11.boolean().optional(),
@@ -1622,8 +1670,8 @@ var QtiAssessmentItemCreateInput = z11.union([
1622
1670
  QtiAssessmentItemJsonCreateInput
1623
1671
  ]);
1624
1672
  var QtiAssessmentItemUpdateInput = z11.object({
1625
- identifier: z11.string().min(1).optional(),
1626
- title: z11.string().min(1),
1673
+ identifier: NonEmptyString.optional(),
1674
+ title: NonEmptyString,
1627
1675
  type: QtiAssessmentItemType,
1628
1676
  qtiVersion: z11.string().optional(),
1629
1677
  timeDependent: z11.boolean().optional(),
@@ -1639,17 +1687,17 @@ var QtiAssessmentItemUpdateInput = z11.object({
1639
1687
  content: z11.record(z11.string(), z11.unknown())
1640
1688
  }).strict();
1641
1689
  var QtiAssessmentItemProcessResponseInput = z11.object({
1642
- identifier: z11.string().min(1),
1690
+ identifier: NonEmptyString,
1643
1691
  response: z11.union([z11.string(), z11.array(z11.string())])
1644
1692
  }).strict();
1645
1693
  var QtiAssessmentItemRef = z11.object({
1646
- identifier: z11.string().min(1),
1647
- href: z11.string().min(1),
1694
+ identifier: NonEmptyString,
1695
+ href: NonEmptyString,
1648
1696
  sequence: z11.number().int().positive().optional()
1649
1697
  }).strict();
1650
1698
  var QtiAssessmentSection = z11.object({
1651
- identifier: z11.string().min(1),
1652
- title: z11.string().min(1),
1699
+ identifier: NonEmptyString,
1700
+ title: NonEmptyString,
1653
1701
  visible: z11.boolean(),
1654
1702
  required: z11.boolean().optional(),
1655
1703
  fixed: z11.boolean().optional(),
@@ -1657,7 +1705,7 @@ var QtiAssessmentSection = z11.object({
1657
1705
  "qti-assessment-item-ref": z11.array(QtiAssessmentItemRef).optional()
1658
1706
  }).strict();
1659
1707
  var QtiTestPart = z11.object({
1660
- identifier: z11.string().min(1),
1708
+ identifier: NonEmptyString,
1661
1709
  navigationMode: z11.string().pipe(QtiNavigationMode),
1662
1710
  submissionMode: z11.string().pipe(QtiSubmissionMode),
1663
1711
  "qti-assessment-section": z11.array(QtiAssessmentSection)
@@ -1669,8 +1717,8 @@ var QtiAssessmentTestMetadataUpdateInput = z11.object({
1669
1717
  metadata: z11.record(z11.string(), z11.unknown()).optional()
1670
1718
  }).strict();
1671
1719
  var QtiAssessmentTestCreateInput = z11.object({
1672
- identifier: z11.string().min(1),
1673
- title: z11.string().min(1),
1720
+ identifier: NonEmptyString,
1721
+ title: NonEmptyString,
1674
1722
  qtiVersion: z11.string().optional(),
1675
1723
  toolName: z11.string().optional(),
1676
1724
  toolVersion: z11.string().optional(),
@@ -1682,8 +1730,8 @@ var QtiAssessmentTestCreateInput = z11.object({
1682
1730
  "qti-outcome-declaration": z11.array(QtiTestOutcomeDeclaration).optional()
1683
1731
  }).strict();
1684
1732
  var QtiAssessmentTestUpdateInput = z11.object({
1685
- identifier: z11.string().min(1).optional(),
1686
- title: z11.string().min(1),
1733
+ identifier: NonEmptyString.optional(),
1734
+ title: NonEmptyString,
1687
1735
  qtiVersion: z11.string().optional(),
1688
1736
  toolName: z11.string().optional(),
1689
1737
  toolVersion: z11.string().optional(),
@@ -1695,8 +1743,8 @@ var QtiAssessmentTestUpdateInput = z11.object({
1695
1743
  "qti-outcome-declaration": z11.array(QtiTestOutcomeDeclaration).optional()
1696
1744
  }).strict();
1697
1745
  var QtiStimulusCreateInput = z11.object({
1698
- identifier: z11.string().min(1),
1699
- title: z11.string().min(1),
1746
+ identifier: NonEmptyString,
1747
+ title: NonEmptyString,
1700
1748
  label: z11.string().optional(),
1701
1749
  language: z11.string().optional(),
1702
1750
  stylesheet: QtiStylesheet.optional(),
@@ -1707,8 +1755,8 @@ var QtiStimulusCreateInput = z11.object({
1707
1755
  metadata: z11.record(z11.string(), z11.unknown()).optional()
1708
1756
  }).strict();
1709
1757
  var QtiStimulusUpdateInput = z11.object({
1710
- identifier: z11.string().min(1).optional(),
1711
- title: z11.string().min(1),
1758
+ identifier: NonEmptyString.optional(),
1759
+ title: NonEmptyString,
1712
1760
  label: z11.string().optional(),
1713
1761
  language: z11.string().optional(),
1714
1762
  stylesheet: QtiStylesheet.optional(),
@@ -1730,9 +1778,9 @@ var QtiValidateBatchInput = z11.object({
1730
1778
  }).strict();
1731
1779
  var QtiLessonFeedbackInput = z11.object({
1732
1780
  questionId: z11.string().optional(),
1733
- userId: z11.string().min(1),
1734
- feedback: z11.string().min(1),
1735
- lessonId: z11.string().min(1),
1781
+ userId: NonEmptyString,
1782
+ feedback: NonEmptyString,
1783
+ lessonId: NonEmptyString,
1736
1784
  humanApproved: z11.boolean().optional()
1737
1785
  }).strict();
1738
1786
  // src/resources/assessment.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timeback/powerpath",
3
- "version": "0.1.7-beta.20260309185602",
3
+ "version": "0.2.0",
4
4
  "description": "PowerPath client SDK for Timeback",
5
5
  "type": "module",
6
6
  "exports": {