@timeback/webhooks 0.1.2-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
  }
@@ -1319,7 +1327,7 @@ function issue(path, message) {
1319
1327
  function validateWithSchema(schema, data, context) {
1320
1328
  const result = schema.safeParse(data);
1321
1329
  if (result.success) {
1322
- return;
1330
+ return result.data;
1323
1331
  }
1324
1332
  const issues = result.error.issues.map((errorIssue) => ({
1325
1333
  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-fg292r06.js";
8
+ } from "./chunk-1dmdawx1.js";
9
9
  import"./chunk-6jf1natv.js";
10
10
  export {
11
11
  ApiError as WebhooksError,
package/dist/index.d.ts CHANGED
@@ -22,9 +22,9 @@ type input<T> = T extends {
22
22
 
23
23
  declare const WebhookCreateInput = z
24
24
  .object({
25
- name: z.string().min(1, 'name must be a non-empty string'),
25
+ name: NonEmptyString,
26
26
  targetUrl: z.url('targetUrl must be a valid URL'),
27
- secret: z.string().min(1, 'secret must be a non-empty string'),
27
+ secret: NonEmptyString,
28
28
  active: z.boolean(),
29
29
  sensor: z.string().nullable().optional(),
30
30
  description: z.string().nullable().optional(),
@@ -42,9 +42,9 @@ type WebhookUpdateInput = input<typeof WebhookUpdateInput>
42
42
 
43
43
  declare const WebhookFilterCreateInput = z
44
44
  .object({
45
- webhookId: z.string().min(1, 'webhookId must be a non-empty string'),
46
- filterKey: z.string().min(1, 'filterKey must be a non-empty string'),
47
- filterValue: z.string().min(1, 'filterValue must be a non-empty string'),
45
+ webhookId: NonEmptyString,
46
+ filterKey: NonEmptyString,
47
+ filterValue: NonEmptyString,
48
48
  filterType: WebhookFilterType,
49
49
  filterOperator: WebhookFilterOperation,
50
50
  active: z.boolean(),
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  resolveToProvider,
6
6
  validateNonEmptyString,
7
7
  validateWithSchema
8
- } from "./chunk-fg292r06.js";
8
+ } from "./chunk-1dmdawx1.js";
9
9
  import"./chunk-6jf1natv.js";
10
10
 
11
11
  // src/constants.ts
@@ -42,6 +42,7 @@ import { z } from "zod/v4";
42
42
  var IsoDateTimeRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/;
43
43
  var IsoDateTimeString = z.string().min(1).regex(IsoDateTimeRegex, "must be a valid ISO 8601 datetime");
44
44
  var IsoDateString = z.string().min(1).regex(/^\d{4}-\d{2}-\d{2}$/, "must be a valid ISO 8601 date (YYYY-MM-DD)");
45
+ var NonEmptyString = z.string().trim().min(1);
45
46
  var TimebackSubject = z.enum([
46
47
  "Reading",
47
48
  "Language",
@@ -155,6 +156,7 @@ var IMSErrorResponse = z.object({
155
156
  });
156
157
  // ../../types/src/zod/caliper.ts
157
158
  import { z as z2 } from "zod/v4";
159
+ var CaliperIri = z2.union([z2.url(), z2.string().regex(/^urn:/, "Must be a URL or URN")]);
158
160
  var TimebackUser = z2.object({
159
161
  id: z2.url(),
160
162
  type: z2.literal("TimebackUser"),
@@ -264,11 +266,10 @@ var CaliperProfile = z2.enum([
264
266
  ]);
265
267
  var CaliperEntity = z2.union([z2.string(), z2.record(z2.string(), z2.unknown())]);
266
268
  var CaliperActor = z2.object({
267
- id: z2.url(),
269
+ id: CaliperIri,
268
270
  type: z2.string(),
269
- extensions: z2.object({
270
- email: z2.email()
271
- }).loose()
271
+ name: z2.string().optional(),
272
+ extensions: z2.record(z2.string(), z2.unknown()).optional()
272
273
  }).strict();
273
274
  var CaliperEvent = z2.object({
274
275
  "@context": z2.string().optional(),
@@ -290,30 +291,81 @@ var CaliperEvent = z2.object({
290
291
  extensions: z2.record(z2.string(), z2.unknown()).optional()
291
292
  }).strict();
292
293
  var CaliperEnvelopeInput = z2.object({
293
- sensor: z2.string().min(1, "sensor must be a non-empty string"),
294
+ sensor: NonEmptyString,
294
295
  sendTime: IsoDateTimeString,
295
296
  dataVersion: z2.literal("http://purl.imsglobal.org/ctx/caliper/v1p2"),
296
297
  data: z2.array(CaliperEvent).min(1, "data must contain at least one event")
297
298
  });
298
299
  var CaliperSendEventsInput = z2.object({
299
- sensor: z2.string().min(1, "sensor must be a non-empty string"),
300
+ sensor: NonEmptyString,
300
301
  events: z2.array(CaliperEvent).min(1, "events must contain at least one event")
301
302
  });
302
303
  var CaliperListEventsParams = z2.object({
303
304
  limit: z2.number().int().positive().optional(),
304
305
  offset: z2.number().int().min(0).optional(),
305
- sensor: z2.string().min(1).optional(),
306
+ sensor: NonEmptyString.optional(),
306
307
  startDate: IsoDateTimeString.optional(),
307
308
  endDate: IsoDateTimeString.optional(),
308
- actorId: z2.string().min(1).optional(),
309
+ actorId: NonEmptyString.optional(),
309
310
  actorEmail: z2.email().optional()
310
311
  }).strict();
312
+ var AssessmentItemObject = z2.object({
313
+ id: z2.string(),
314
+ name: z2.string().optional(),
315
+ isPartOf: CaliperEntity.optional(),
316
+ extensions: z2.record(z2.string(), z2.unknown()).optional()
317
+ });
318
+ var ResponseGenerated = z2.object({
319
+ id: z2.string(),
320
+ attempt: z2.union([z2.string(), z2.record(z2.string(), z2.unknown())]).optional(),
321
+ startedAtTime: IsoDateTimeString.optional(),
322
+ endedAtTime: IsoDateTimeString.optional(),
323
+ duration: z2.string().optional(),
324
+ extensions: z2.record(z2.string(), z2.unknown()).optional()
325
+ });
326
+ var ScoreGenerated = z2.object({
327
+ id: z2.string().optional(),
328
+ scoreGiven: z2.number(),
329
+ maxScore: z2.number().optional(),
330
+ attempt: z2.union([z2.string(), z2.record(z2.string(), z2.unknown())]).optional(),
331
+ comment: z2.string().optional(),
332
+ extensions: z2.record(z2.string(), z2.unknown()).optional()
333
+ });
334
+ var QuestionSeenInput = z2.object({
335
+ actor: z2.union([z2.string(), CaliperActor, TimebackUser]),
336
+ object: AssessmentItemObject,
337
+ edApp: CaliperEntity,
338
+ id: z2.string().optional(),
339
+ eventTime: IsoDateTimeString.optional(),
340
+ session: CaliperEntity.optional(),
341
+ extensions: z2.record(z2.string(), z2.unknown()).optional()
342
+ }).strict();
343
+ var QuestionAnsweredInput = z2.object({
344
+ actor: z2.union([z2.string(), CaliperActor, TimebackUser]),
345
+ object: AssessmentItemObject,
346
+ edApp: CaliperEntity,
347
+ generated: ResponseGenerated.optional(),
348
+ id: z2.string().optional(),
349
+ eventTime: IsoDateTimeString.optional(),
350
+ session: CaliperEntity.optional(),
351
+ extensions: z2.record(z2.string(), z2.unknown()).optional()
352
+ }).strict();
353
+ var QuestionGradedInput = z2.object({
354
+ actor: z2.union([z2.string(), CaliperActor, TimebackUser]),
355
+ object: z2.string(),
356
+ generated: ScoreGenerated,
357
+ edApp: CaliperEntity,
358
+ id: z2.string().optional(),
359
+ eventTime: IsoDateTimeString.optional(),
360
+ session: CaliperEntity.optional(),
361
+ extensions: z2.record(z2.string(), z2.unknown()).optional()
362
+ }).strict();
311
363
  // ../../types/src/zod/webhooks.ts
312
364
  import { z as z3 } from "zod/v4";
313
365
  var WebhookCreateInput = z3.object({
314
- name: z3.string().min(1, "name must be a non-empty string"),
366
+ name: NonEmptyString,
315
367
  targetUrl: z3.url("targetUrl must be a valid URL"),
316
- secret: z3.string().min(1, "secret must be a non-empty string"),
368
+ secret: NonEmptyString,
317
369
  active: z3.boolean(),
318
370
  sensor: z3.string().nullable().optional(),
319
371
  description: z3.string().nullable().optional()
@@ -336,9 +388,9 @@ var WebhookFilterOperation = z3.enum([
336
388
  "regexp"
337
389
  ]);
338
390
  var WebhookFilterCreateInput = z3.object({
339
- webhookId: z3.string().min(1, "webhookId must be a non-empty string"),
340
- filterKey: z3.string().min(1, "filterKey must be a non-empty string"),
341
- filterValue: z3.string().min(1, "filterValue must be a non-empty string"),
391
+ webhookId: NonEmptyString,
392
+ filterKey: NonEmptyString,
393
+ filterValue: NonEmptyString,
342
394
  filterType: WebhookFilterType,
343
395
  filterOperator: WebhookFilterOperation,
344
396
  active: z3.boolean()
@@ -346,7 +398,6 @@ var WebhookFilterCreateInput = z3.object({
346
398
  var WebhookFilterUpdateInput = WebhookFilterCreateInput;
347
399
  // ../../types/src/zod/case.ts
348
400
  import { z as z4 } from "zod/v4";
349
- var NonEmptyString = z4.string().trim().min(1);
350
401
  var UuidString = z4.string().uuid();
351
402
  var InputNodeURISchema = z4.object({
352
403
  title: NonEmptyString,
@@ -440,15 +491,15 @@ var ClrProfileSchema = z5.object({
440
491
  email: z5.string().email().optional()
441
492
  });
442
493
  var ClrProofSchema = z5.object({
443
- type: z5.string().trim().min(1),
444
- proofPurpose: z5.string().trim().min(1),
445
- verificationMethod: z5.string().trim().min(1),
494
+ type: NonEmptyString,
495
+ proofPurpose: NonEmptyString,
496
+ verificationMethod: NonEmptyString,
446
497
  created: z5.iso.datetime(),
447
- proofValue: z5.string().trim().min(1),
498
+ proofValue: NonEmptyString,
448
499
  cryptosuite: z5.string().optional()
449
500
  });
450
501
  var ClrCredentialSchemaSchema = z5.object({
451
- id: z5.string().trim().min(1),
502
+ id: NonEmptyString,
452
503
  type: z5.literal("1EdTechJsonSchemaValidator2019")
453
504
  });
454
505
  var AchievementCriteriaSchema = z5.object({
@@ -458,8 +509,8 @@ var AchievementCriteriaSchema = z5.object({
458
509
  var AchievementSchema = z5.object({
459
510
  id: z5.url(),
460
511
  type: z5.array(z5.string()).min(1).refine((arr) => arr.includes("Achievement"), 'type must include "Achievement"'),
461
- name: z5.string().trim().min(1),
462
- description: z5.string().trim().min(1),
512
+ name: NonEmptyString,
513
+ description: NonEmptyString,
463
514
  criteria: AchievementCriteriaSchema,
464
515
  image: ClrImageSchema.optional(),
465
516
  achievementType: z5.string().optional(),
@@ -467,8 +518,8 @@ var AchievementSchema = z5.object({
467
518
  });
468
519
  var IdentityObjectSchema = z5.object({
469
520
  type: z5.literal("IdentityObject"),
470
- identityHash: z5.string().trim().min(1),
471
- identityType: z5.string().trim().min(1),
521
+ identityHash: NonEmptyString,
522
+ identityType: NonEmptyString,
472
523
  hashed: z5.boolean(),
473
524
  salt: z5.string().optional()
474
525
  });
@@ -513,7 +564,7 @@ var ClrCredentialInput = z5.object({
513
564
  id: z5.url(),
514
565
  type: z5.array(z5.string()).min(1).refine((arr) => arr.includes("VerifiableCredential") && arr.includes("ClrCredential"), 'type must include "VerifiableCredential" and "ClrCredential"'),
515
566
  issuer: ClrProfileSchema,
516
- name: z5.string().trim().min(1),
567
+ name: NonEmptyString,
517
568
  description: z5.string().optional(),
518
569
  validFrom: z5.iso.datetime(),
519
570
  validUntil: z5.iso.datetime().optional(),
@@ -646,6 +697,7 @@ var TimebackConfig = z6.object({
646
697
  // ../../types/src/zod/edubridge.ts
647
698
  import { z as z7 } from "zod/v4";
648
699
  var EdubridgeDateString = z7.union([IsoDateTimeString, IsoDateString]);
700
+ var EdubridgeDateStringInput = EdubridgeDateString.transform((date) => date.includes("T") ? date : `${date}T00:00:00.000Z`);
649
701
  var EduBridgeEnrollment = z7.object({
650
702
  id: z7.string(),
651
703
  role: z7.string(),
@@ -689,10 +741,9 @@ var EduBridgeEnrollmentAnalyticsResponse = z7.object({
689
741
  facts: EduBridgeAnalyticsFacts,
690
742
  factsByApp: z7.unknown()
691
743
  });
692
- var NonEmptyString2 = z7.string().trim().min(1);
693
744
  var EmailOrStudentId = z7.object({
694
745
  email: z7.email().optional(),
695
- studentId: NonEmptyString2.optional()
746
+ studentId: NonEmptyString.optional()
696
747
  }).superRefine((value, ctx) => {
697
748
  if (!value.email && !value.studentId) {
698
749
  ctx.addIssue({
@@ -708,16 +759,16 @@ var EmailOrStudentId = z7.object({
708
759
  }
709
760
  });
710
761
  var SubjectTrackInput = z7.object({
711
- subject: NonEmptyString2,
712
- grade: NonEmptyString2,
713
- courseId: NonEmptyString2,
714
- orgSourcedId: NonEmptyString2.optional()
762
+ subject: NonEmptyString,
763
+ grade: NonEmptyString,
764
+ courseId: NonEmptyString,
765
+ orgSourcedId: NonEmptyString.optional()
715
766
  });
716
767
  var EdubridgeListEnrollmentsParams = z7.object({
717
- userId: NonEmptyString2
768
+ userId: NonEmptyString
718
769
  });
719
770
  var EdubridgeEnrollOptions = z7.object({
720
- sourcedId: NonEmptyString2.optional(),
771
+ sourcedId: NonEmptyString.optional(),
721
772
  role: EnrollmentRole.optional(),
722
773
  beginDate: IsoDateTimeString.optional(),
723
774
  metadata: z7.record(z7.string(), z7.unknown()).optional()
@@ -731,43 +782,42 @@ var EdubridgeUsersListParams = z7.object({
731
782
  filter: z7.string().optional(),
732
783
  search: z7.string().optional(),
733
784
  roles: z7.array(OneRosterUserRole).min(1),
734
- orgSourcedIds: z7.array(NonEmptyString2).optional()
785
+ orgSourcedIds: z7.array(NonEmptyString).optional()
735
786
  });
736
787
  var EdubridgeActivityParams = EmailOrStudentId.extend({
737
- startDate: EdubridgeDateString,
738
- endDate: EdubridgeDateString,
788
+ startDate: EdubridgeDateStringInput,
789
+ endDate: EdubridgeDateStringInput,
739
790
  timezone: z7.string().optional()
740
791
  });
741
792
  var EdubridgeWeeklyFactsParams = EmailOrStudentId.extend({
742
- weekDate: EdubridgeDateString,
793
+ weekDate: EdubridgeDateStringInput,
743
794
  timezone: z7.string().optional()
744
795
  });
745
796
  var EdubridgeEnrollmentFactsParams = z7.object({
746
- enrollmentId: NonEmptyString2,
747
- startDate: EdubridgeDateString.optional(),
748
- endDate: EdubridgeDateString.optional(),
797
+ enrollmentId: NonEmptyString,
798
+ startDate: EdubridgeDateStringInput.optional(),
799
+ endDate: EdubridgeDateStringInput.optional(),
749
800
  timezone: z7.string().optional()
750
801
  });
751
802
  // ../../types/src/zod/masterytrack.ts
752
803
  import { z as z8 } from "zod/v4";
753
- var NonEmptyString3 = z8.string().trim().min(1);
754
804
  var MasteryTrackAuthorizerInput = z8.object({
755
805
  email: z8.email()
756
806
  });
757
807
  var MasteryTrackInventorySearchParams = z8.object({
758
- name: NonEmptyString3.optional(),
759
- timeback_id: NonEmptyString3.optional(),
760
- grade: NonEmptyString3.optional(),
761
- subject: NonEmptyString3.optional(),
808
+ name: NonEmptyString.optional(),
809
+ timeback_id: NonEmptyString.optional(),
810
+ grade: NonEmptyString.optional(),
811
+ subject: NonEmptyString.optional(),
762
812
  all: z8.boolean().optional()
763
813
  });
764
814
  var MasteryTrackAssignmentInput = z8.object({
765
815
  student_email: z8.email(),
766
- timeback_id: NonEmptyString3.optional(),
767
- subject: NonEmptyString3.optional(),
816
+ timeback_id: NonEmptyString.optional(),
817
+ subject: NonEmptyString.optional(),
768
818
  grade_rank: z8.number().int().min(0).max(12).optional(),
769
- assessment_line_item_sourced_id: NonEmptyString3.optional(),
770
- assessment_result_sourced_id: NonEmptyString3.optional()
819
+ assessment_line_item_sourced_id: NonEmptyString.optional(),
820
+ assessment_result_sourced_id: NonEmptyString.optional()
771
821
  }).superRefine((value, ctx) => {
772
822
  const hasTimebackId = !!value.timeback_id;
773
823
  const hasSubject = !!value.subject;
@@ -804,8 +854,8 @@ var MasteryTrackAssignmentInput = z8.object({
804
854
  var MasteryTrackInvalidateAssignmentInput = z8.object({
805
855
  student_email: z8.email(),
806
856
  assignment_id: z8.number().int().positive().optional(),
807
- timeback_id: NonEmptyString3.optional(),
808
- subject: NonEmptyString3.optional(),
857
+ timeback_id: NonEmptyString.optional(),
858
+ subject: NonEmptyString.optional(),
809
859
  grade_rank: z8.number().int().min(0).max(12).optional()
810
860
  }).superRefine((value, ctx) => {
811
861
  const byAssignment = value.assignment_id !== undefined;
@@ -828,15 +878,14 @@ var MasteryTrackInvalidateAssignmentInput = z8.object({
828
878
  });
829
879
  // ../../types/src/zod/oneroster.ts
830
880
  import { z as z9 } from "zod/v4";
831
- var NonEmptyString4 = z9.string().min(1);
832
881
  var Status = z9.enum(["active", "tobedeleted"]);
833
882
  var Metadata = z9.record(z9.string(), z9.unknown()).nullable().optional();
834
883
  var Ref = z9.object({
835
- sourcedId: NonEmptyString4,
884
+ sourcedId: NonEmptyString,
836
885
  type: z9.string().optional(),
837
886
  href: z9.string().optional()
838
887
  }).strict();
839
- var OneRosterDateString = z9.union([IsoDateString, IsoDateTimeString]);
888
+ var OneRosterDateString = z9.union([IsoDateString, IsoDateTimeString]).transform((date) => date.includes("T") ? date : `${date}T00:00:00Z`);
840
889
  var OneRosterUserRoleInput = z9.object({
841
890
  roleType: z9.enum(["primary", "secondary"]),
842
891
  role: OneRosterUserRole,
@@ -847,58 +896,58 @@ var OneRosterUserRoleInput = z9.object({
847
896
  endDate: OneRosterDateString.optional()
848
897
  }).strict();
849
898
  var OneRosterUserCreateInput = z9.object({
850
- sourcedId: NonEmptyString4.describe("sourcedId must be a non-empty string"),
899
+ sourcedId: NonEmptyString.describe("sourcedId must be a non-empty string"),
851
900
  status: Status.optional(),
852
901
  enabledUser: z9.boolean(),
853
- givenName: NonEmptyString4.describe("givenName must be a non-empty string"),
854
- familyName: NonEmptyString4.describe("familyName must be a non-empty string"),
855
- middleName: NonEmptyString4.optional(),
856
- username: NonEmptyString4.optional(),
902
+ givenName: NonEmptyString.describe("givenName must be a non-empty string"),
903
+ familyName: NonEmptyString.describe("familyName must be a non-empty string"),
904
+ middleName: NonEmptyString.optional(),
905
+ username: NonEmptyString.optional(),
857
906
  email: z9.email(),
858
907
  roles: z9.array(OneRosterUserRoleInput).min(1, "roles must include at least one role"),
859
908
  userIds: z9.array(z9.object({
860
- type: NonEmptyString4,
861
- identifier: NonEmptyString4
909
+ type: NonEmptyString,
910
+ identifier: NonEmptyString
862
911
  }).strict()).optional(),
863
912
  agents: z9.array(Ref).optional(),
864
913
  grades: z9.array(TimebackGrade).optional(),
865
- identifier: NonEmptyString4.optional(),
866
- sms: NonEmptyString4.optional(),
867
- phone: NonEmptyString4.optional(),
868
- pronouns: NonEmptyString4.optional(),
869
- password: NonEmptyString4.optional(),
914
+ identifier: NonEmptyString.optional(),
915
+ sms: NonEmptyString.optional(),
916
+ phone: NonEmptyString.optional(),
917
+ pronouns: NonEmptyString.optional(),
918
+ password: NonEmptyString.optional(),
870
919
  metadata: Metadata
871
920
  }).strict();
872
921
  var OneRosterCourseCreateInput = z9.object({
873
- sourcedId: NonEmptyString4.describe("sourcedId must be a non-empty string").optional(),
922
+ sourcedId: NonEmptyString.describe("sourcedId must be a non-empty string").optional(),
874
923
  status: Status.optional(),
875
- title: NonEmptyString4.describe("title must be a non-empty string"),
924
+ title: NonEmptyString.describe("title must be a non-empty string"),
876
925
  org: Ref,
877
- courseCode: NonEmptyString4.optional(),
926
+ courseCode: NonEmptyString.optional(),
878
927
  subjects: z9.array(TimebackSubject).optional(),
879
928
  grades: z9.array(TimebackGrade).optional(),
880
- level: NonEmptyString4.optional(),
929
+ level: NonEmptyString.optional(),
881
930
  metadata: Metadata
882
931
  }).strict();
883
932
  var OneRosterClassCreateInput = z9.object({
884
- sourcedId: NonEmptyString4.describe("sourcedId must be a non-empty string").optional(),
933
+ sourcedId: NonEmptyString.describe("sourcedId must be a non-empty string").optional(),
885
934
  status: Status.optional(),
886
- title: NonEmptyString4.describe("title must be a non-empty string"),
935
+ title: NonEmptyString.describe("title must be a non-empty string"),
887
936
  terms: z9.array(Ref).min(1, "terms must have at least one item"),
888
937
  course: Ref,
889
938
  org: Ref,
890
- classCode: NonEmptyString4.optional(),
939
+ classCode: NonEmptyString.optional(),
891
940
  classType: z9.enum(["homeroom", "scheduled"]).optional(),
892
- location: NonEmptyString4.optional(),
941
+ location: NonEmptyString.optional(),
893
942
  grades: z9.array(TimebackGrade).optional(),
894
943
  subjects: z9.array(TimebackSubject).optional(),
895
- subjectCodes: z9.array(NonEmptyString4).optional(),
896
- periods: z9.array(NonEmptyString4).optional(),
944
+ subjectCodes: z9.array(NonEmptyString).optional(),
945
+ periods: z9.array(NonEmptyString).optional(),
897
946
  metadata: Metadata
898
947
  }).strict();
899
948
  var StringBoolean = z9.enum(["true", "false"]);
900
949
  var OneRosterEnrollmentCreateInput = z9.object({
901
- sourcedId: NonEmptyString4.describe("sourcedId must be a non-empty string").optional(),
950
+ sourcedId: NonEmptyString.describe("sourcedId must be a non-empty string").optional(),
902
951
  status: Status.optional(),
903
952
  user: Ref,
904
953
  class: Ref,
@@ -910,20 +959,20 @@ var OneRosterEnrollmentCreateInput = z9.object({
910
959
  metadata: Metadata
911
960
  }).strict();
912
961
  var OneRosterCategoryCreateInput = z9.object({
913
- sourcedId: NonEmptyString4.optional(),
914
- title: NonEmptyString4.describe("title must be a non-empty string"),
962
+ sourcedId: NonEmptyString.optional(),
963
+ title: NonEmptyString.describe("title must be a non-empty string"),
915
964
  status: Status,
916
965
  weight: z9.number().nullable().optional(),
917
966
  metadata: Metadata
918
967
  }).strict();
919
968
  var OneRosterLineItemCreateInput = z9.object({
920
- sourcedId: NonEmptyString4.optional(),
921
- title: NonEmptyString4.describe("title must be a non-empty string"),
969
+ sourcedId: NonEmptyString.optional(),
970
+ title: NonEmptyString.describe("title must be a non-empty string"),
922
971
  class: Ref,
923
972
  school: Ref,
924
973
  category: Ref,
925
- assignDate: IsoDateTimeString,
926
- dueDate: IsoDateTimeString,
974
+ assignDate: OneRosterDateString,
975
+ dueDate: OneRosterDateString,
927
976
  status: Status,
928
977
  description: z9.string().optional(),
929
978
  resultValueMin: z9.number().nullable().optional(),
@@ -932,11 +981,11 @@ var OneRosterLineItemCreateInput = z9.object({
932
981
  metadata: Metadata
933
982
  }).strict();
934
983
  var OneRosterResultCreateInput = z9.object({
935
- sourcedId: NonEmptyString4.optional(),
984
+ sourcedId: NonEmptyString.optional(),
936
985
  lineItem: Ref,
937
986
  student: Ref,
938
987
  class: Ref.optional(),
939
- scoreDate: IsoDateTimeString,
988
+ scoreDate: OneRosterDateString,
940
989
  scoreStatus: z9.enum([
941
990
  "exempt",
942
991
  "fully graded",
@@ -951,15 +1000,15 @@ var OneRosterResultCreateInput = z9.object({
951
1000
  metadata: Metadata
952
1001
  }).strict();
953
1002
  var OneRosterScoreScaleCreateInput = z9.object({
954
- sourcedId: NonEmptyString4.optional(),
955
- title: NonEmptyString4.describe("title must be a non-empty string"),
1003
+ sourcedId: NonEmptyString.optional(),
1004
+ title: NonEmptyString.describe("title must be a non-empty string"),
956
1005
  status: Status.optional(),
957
1006
  type: z9.string(),
958
1007
  class: Ref,
959
1008
  course: Ref.nullable().optional(),
960
1009
  scoreScaleValue: z9.array(z9.object({
961
- itemValueLHS: NonEmptyString4,
962
- itemValueRHS: NonEmptyString4,
1010
+ itemValueLHS: NonEmptyString,
1011
+ itemValueRHS: NonEmptyString,
963
1012
  value: z9.string().optional(),
964
1013
  description: z9.string().optional()
965
1014
  }).strict()),
@@ -968,10 +1017,10 @@ var OneRosterScoreScaleCreateInput = z9.object({
968
1017
  metadata: Metadata
969
1018
  }).strict();
970
1019
  var OneRosterAssessmentLineItemCreateInput = z9.object({
971
- sourcedId: NonEmptyString4.optional(),
1020
+ sourcedId: NonEmptyString.optional(),
972
1021
  status: Status.optional(),
973
1022
  dateLastModified: IsoDateTimeString.optional(),
974
- title: NonEmptyString4.describe("title must be a non-empty string"),
1023
+ title: NonEmptyString.describe("title must be a non-empty string"),
975
1024
  description: z9.string().nullable().optional(),
976
1025
  class: Ref.nullable().optional(),
977
1026
  parentAssessmentLineItem: Ref.nullable().optional(),
@@ -997,7 +1046,7 @@ var LearningObjectiveScoreSetSchema = z9.array(z9.object({
997
1046
  learningObjectiveResults: z9.array(LearningObjectiveResult)
998
1047
  }));
999
1048
  var OneRosterAssessmentResultCreateInput = z9.object({
1000
- sourcedId: NonEmptyString4.optional(),
1049
+ sourcedId: NonEmptyString.optional(),
1001
1050
  status: Status.optional(),
1002
1051
  dateLastModified: IsoDateTimeString.optional(),
1003
1052
  metadata: Metadata,
@@ -1005,7 +1054,7 @@ var OneRosterAssessmentResultCreateInput = z9.object({
1005
1054
  student: Ref,
1006
1055
  score: z9.number().nullable().optional(),
1007
1056
  textScore: z9.string().nullable().optional(),
1008
- scoreDate: z9.string().datetime(),
1057
+ scoreDate: OneRosterDateString,
1009
1058
  scoreScale: Ref.nullable().optional(),
1010
1059
  scorePercentile: z9.number().nullable().optional(),
1011
1060
  scoreStatus: z9.enum([
@@ -1023,53 +1072,53 @@ var OneRosterAssessmentResultCreateInput = z9.object({
1023
1072
  missing: z9.string().nullable().optional()
1024
1073
  }).strict();
1025
1074
  var OneRosterOrgCreateInput = z9.object({
1026
- sourcedId: NonEmptyString4.optional(),
1075
+ sourcedId: NonEmptyString.optional(),
1027
1076
  status: Status.optional(),
1028
- name: NonEmptyString4.describe("name must be a non-empty string"),
1077
+ name: NonEmptyString.describe("name must be a non-empty string"),
1029
1078
  type: OrganizationType,
1030
- identifier: NonEmptyString4.optional(),
1079
+ identifier: NonEmptyString.optional(),
1031
1080
  parent: Ref.optional(),
1032
1081
  metadata: Metadata
1033
1082
  }).strict();
1034
1083
  var OneRosterSchoolCreateInput = z9.object({
1035
- sourcedId: NonEmptyString4.optional(),
1084
+ sourcedId: NonEmptyString.optional(),
1036
1085
  status: Status.optional(),
1037
- name: NonEmptyString4.describe("name must be a non-empty string"),
1086
+ name: NonEmptyString.describe("name must be a non-empty string"),
1038
1087
  type: z9.literal("school").optional(),
1039
- identifier: NonEmptyString4.optional(),
1088
+ identifier: NonEmptyString.optional(),
1040
1089
  parent: Ref.optional(),
1041
1090
  metadata: Metadata
1042
1091
  }).strict();
1043
1092
  var OneRosterAcademicSessionCreateInput = z9.object({
1044
- sourcedId: NonEmptyString4.describe("sourcedId must be a non-empty string"),
1093
+ sourcedId: NonEmptyString.describe("sourcedId must be a non-empty string"),
1045
1094
  status: Status,
1046
- title: NonEmptyString4.describe("title must be a non-empty string"),
1095
+ title: NonEmptyString.describe("title must be a non-empty string"),
1047
1096
  startDate: OneRosterDateString,
1048
1097
  endDate: OneRosterDateString,
1049
1098
  type: z9.enum(["gradingPeriod", "semester", "schoolYear", "term"]),
1050
- schoolYear: NonEmptyString4.describe("schoolYear must be a non-empty string"),
1099
+ schoolYear: NonEmptyString.describe("schoolYear must be a non-empty string"),
1051
1100
  org: Ref,
1052
1101
  parent: Ref.optional(),
1053
1102
  children: z9.array(Ref).optional(),
1054
1103
  metadata: Metadata
1055
1104
  }).strict();
1056
1105
  var OneRosterComponentResourceCreateInput = z9.object({
1057
- sourcedId: NonEmptyString4.optional(),
1058
- title: NonEmptyString4.describe("title must be a non-empty string"),
1106
+ sourcedId: NonEmptyString.optional(),
1107
+ title: NonEmptyString.describe("title must be a non-empty string"),
1059
1108
  courseComponent: Ref,
1060
1109
  resource: Ref,
1061
1110
  status: Status,
1062
1111
  metadata: Metadata
1063
1112
  }).strict();
1064
1113
  var OneRosterCourseComponentCreateInput = z9.object({
1065
- sourcedId: NonEmptyString4.optional(),
1066
- title: NonEmptyString4.describe("title must be a non-empty string"),
1114
+ sourcedId: NonEmptyString.optional(),
1115
+ title: NonEmptyString.describe("title must be a non-empty string"),
1067
1116
  course: Ref,
1068
1117
  status: Status,
1069
1118
  metadata: Metadata
1070
1119
  }).strict();
1071
1120
  var OneRosterEnrollInput = z9.object({
1072
- sourcedId: NonEmptyString4.describe("sourcedId must be a non-empty string"),
1121
+ sourcedId: NonEmptyString.describe("sourcedId must be a non-empty string"),
1073
1122
  role: z9.enum(["student", "teacher"]),
1074
1123
  primary: StringBoolean.optional(),
1075
1124
  beginDate: IsoDateString.optional(),
@@ -1077,17 +1126,17 @@ var OneRosterEnrollInput = z9.object({
1077
1126
  metadata: Metadata
1078
1127
  }).strict();
1079
1128
  var OneRosterAgentInput = z9.object({
1080
- agentSourcedId: NonEmptyString4.describe("agentSourcedId must be a non-empty string")
1129
+ agentSourcedId: NonEmptyString.describe("agentSourcedId must be a non-empty string")
1081
1130
  }).strict();
1082
1131
  var OneRosterCredentialInput = z9.object({
1083
- applicationName: NonEmptyString4.describe("applicationName must be a non-empty string"),
1132
+ applicationName: NonEmptyString.describe("applicationName must be a non-empty string"),
1084
1133
  credentials: z9.object({
1085
- username: NonEmptyString4.describe("username must be a non-empty string"),
1086
- password: NonEmptyString4.describe("password must be a non-empty string")
1134
+ username: NonEmptyString.describe("username must be a non-empty string"),
1135
+ password: NonEmptyString.describe("password must be a non-empty string")
1087
1136
  })
1088
1137
  }).strict();
1089
1138
  var OneRosterDemographicsCreateInput = z9.object({
1090
- sourcedId: NonEmptyString4.describe("sourcedId must be a non-empty string")
1139
+ sourcedId: NonEmptyString.describe("sourcedId must be a non-empty string")
1091
1140
  }).loose();
1092
1141
  var CommonResourceMetadataSchema = z9.object({
1093
1142
  type: ResourceType,
@@ -1159,9 +1208,9 @@ var ResourceMetadataSchema = z9.discriminatedUnion("type", [
1159
1208
  AssessmentBankMetadataSchema
1160
1209
  ]);
1161
1210
  var OneRosterResourceCreateInput = z9.object({
1162
- sourcedId: NonEmptyString4.optional(),
1163
- title: NonEmptyString4.describe("title must be a non-empty string"),
1164
- vendorResourceId: NonEmptyString4.describe("vendorResourceId must be a non-empty string"),
1211
+ sourcedId: NonEmptyString.optional(),
1212
+ title: NonEmptyString.describe("title must be a non-empty string"),
1213
+ vendorResourceId: NonEmptyString.describe("vendorResourceId must be a non-empty string"),
1165
1214
  roles: z9.array(z9.enum(["primary", "secondary"])).optional(),
1166
1215
  importance: z9.enum(["primary", "secondary"]).optional(),
1167
1216
  vendorId: z9.string().optional(),
@@ -1170,18 +1219,18 @@ var OneRosterResourceCreateInput = z9.object({
1170
1219
  metadata: ResourceMetadataSchema.nullable().optional()
1171
1220
  }).strict();
1172
1221
  var CourseStructureItem = z9.object({
1173
- url: NonEmptyString4.describe("courseStructure.url must be a non-empty string"),
1174
- skillCode: NonEmptyString4.describe("courseStructure.skillCode must be a non-empty string"),
1175
- lessonCode: NonEmptyString4.describe("courseStructure.lessonCode must be a non-empty string"),
1176
- title: NonEmptyString4.describe("courseStructure.title must be a non-empty string"),
1177
- "unit-title": NonEmptyString4.describe("courseStructure.unit-title must be a non-empty string"),
1178
- status: NonEmptyString4.describe("courseStructure.status must be a non-empty string"),
1222
+ url: NonEmptyString.describe("courseStructure.url must be a non-empty string"),
1223
+ skillCode: NonEmptyString.describe("courseStructure.skillCode must be a non-empty string"),
1224
+ lessonCode: NonEmptyString.describe("courseStructure.lessonCode must be a non-empty string"),
1225
+ title: NonEmptyString.describe("courseStructure.title must be a non-empty string"),
1226
+ "unit-title": NonEmptyString.describe("courseStructure.unit-title must be a non-empty string"),
1227
+ status: NonEmptyString.describe("courseStructure.status must be a non-empty string"),
1179
1228
  xp: z9.number()
1180
1229
  }).loose();
1181
1230
  var OneRosterCourseStructureInput = z9.object({
1182
1231
  course: z9.object({
1183
- sourcedId: NonEmptyString4.describe("course.sourcedId must be a non-empty string").optional(),
1184
- title: NonEmptyString4.describe("course.title must be a non-empty string"),
1232
+ sourcedId: NonEmptyString.describe("course.sourcedId must be a non-empty string").optional(),
1233
+ title: NonEmptyString.describe("course.title must be a non-empty string"),
1185
1234
  org: Ref,
1186
1235
  status: Status,
1187
1236
  metadata: Metadata
@@ -1194,7 +1243,6 @@ var OneRosterBulkResultItem = z9.object({
1194
1243
  var OneRosterBulkResultsInput = z9.array(OneRosterBulkResultItem).min(1, "results must have at least one item");
1195
1244
  // ../../types/src/zod/powerpath.ts
1196
1245
  import { z as z10 } from "zod/v4";
1197
- var NonEmptyString5 = z10.string().trim().min(1);
1198
1246
  var ToolProvider = z10.enum(["edulastic", "mastery-track"]);
1199
1247
  var LessonTypeRequired = z10.enum([
1200
1248
  "powerpath-100",
@@ -1207,14 +1255,14 @@ var LessonTypeRequired = z10.enum([
1207
1255
  var GradeArray = z10.array(TimebackGrade);
1208
1256
  var ResourceMetadata = z10.record(z10.string(), z10.unknown()).optional();
1209
1257
  var ExternalTestBase = z10.object({
1210
- courseId: NonEmptyString5,
1211
- lessonTitle: NonEmptyString5.optional(),
1212
- launchUrl: NonEmptyString5.optional(),
1258
+ courseId: NonEmptyString,
1259
+ lessonTitle: NonEmptyString.optional(),
1260
+ launchUrl: NonEmptyString.optional(),
1213
1261
  toolProvider: ToolProvider,
1214
- unitTitle: NonEmptyString5.optional(),
1215
- courseComponentSourcedId: NonEmptyString5.optional(),
1216
- vendorId: NonEmptyString5.optional(),
1217
- description: NonEmptyString5.optional(),
1262
+ unitTitle: NonEmptyString.optional(),
1263
+ courseComponentSourcedId: NonEmptyString.optional(),
1264
+ vendorId: NonEmptyString.optional(),
1265
+ description: NonEmptyString.optional(),
1218
1266
  resourceMetadata: ResourceMetadata.nullable().optional(),
1219
1267
  grades: GradeArray
1220
1268
  });
@@ -1224,26 +1272,26 @@ var ExternalTestOut = ExternalTestBase.extend({
1224
1272
  });
1225
1273
  var ExternalPlacement = ExternalTestBase.extend({
1226
1274
  lessonType: z10.literal("placement"),
1227
- courseIdOnFail: NonEmptyString5.nullable().optional(),
1275
+ courseIdOnFail: NonEmptyString.nullable().optional(),
1228
1276
  xp: z10.number().optional()
1229
1277
  });
1230
1278
  var InternalTestBase = z10.object({
1231
- courseId: NonEmptyString5,
1279
+ courseId: NonEmptyString,
1232
1280
  lessonType: LessonTypeRequired,
1233
- lessonTitle: NonEmptyString5.optional(),
1234
- unitTitle: NonEmptyString5.optional(),
1235
- courseComponentSourcedId: NonEmptyString5.optional(),
1281
+ lessonTitle: NonEmptyString.optional(),
1282
+ unitTitle: NonEmptyString.optional(),
1283
+ courseComponentSourcedId: NonEmptyString.optional(),
1236
1284
  resourceMetadata: ResourceMetadata.nullable().optional(),
1237
1285
  xp: z10.number().optional(),
1238
1286
  grades: GradeArray.optional(),
1239
- courseIdOnFail: NonEmptyString5.nullable().optional()
1287
+ courseIdOnFail: NonEmptyString.nullable().optional()
1240
1288
  });
1241
1289
  var PowerPathCreateInternalTestInput = z10.discriminatedUnion("testType", [
1242
1290
  InternalTestBase.extend({
1243
1291
  testType: z10.literal("qti"),
1244
1292
  qti: z10.object({
1245
1293
  url: z10.url(),
1246
- title: NonEmptyString5.optional(),
1294
+ title: NonEmptyString.optional(),
1247
1295
  metadata: z10.record(z10.string(), z10.unknown()).optional()
1248
1296
  })
1249
1297
  }),
@@ -1252,28 +1300,28 @@ var PowerPathCreateInternalTestInput = z10.discriminatedUnion("testType", [
1252
1300
  assessmentBank: z10.object({
1253
1301
  resources: z10.array(z10.object({
1254
1302
  url: z10.url(),
1255
- title: NonEmptyString5.optional(),
1303
+ title: NonEmptyString.optional(),
1256
1304
  metadata: z10.record(z10.string(), z10.unknown()).optional()
1257
1305
  })).min(1)
1258
1306
  })
1259
1307
  })
1260
1308
  ]);
1261
1309
  var PowerPathCreateNewAttemptInput = z10.object({
1262
- student: NonEmptyString5,
1263
- lesson: NonEmptyString5
1310
+ student: NonEmptyString,
1311
+ lesson: NonEmptyString
1264
1312
  });
1265
1313
  var PowerPathFinalStudentAssessmentResponseInput = z10.object({
1266
- student: NonEmptyString5,
1267
- lesson: NonEmptyString5
1314
+ student: NonEmptyString,
1315
+ lesson: NonEmptyString
1268
1316
  });
1269
1317
  var PowerPathLessonPlansCreateInput = z10.object({
1270
- courseId: NonEmptyString5,
1271
- userId: NonEmptyString5,
1272
- classId: NonEmptyString5.optional()
1318
+ courseId: NonEmptyString,
1319
+ userId: NonEmptyString,
1320
+ classId: NonEmptyString.optional()
1273
1321
  });
1274
1322
  var LessonPlanTarget = z10.object({
1275
1323
  type: z10.enum(["component", "resource"]),
1276
- id: NonEmptyString5
1324
+ id: NonEmptyString
1277
1325
  });
1278
1326
  var PowerPathLessonPlanOperationInput = z10.union([
1279
1327
  z10.object({
@@ -1286,8 +1334,8 @@ var PowerPathLessonPlanOperationInput = z10.union([
1286
1334
  z10.object({
1287
1335
  type: z10.literal("add-custom-resource"),
1288
1336
  payload: z10.object({
1289
- resource_id: NonEmptyString5,
1290
- parent_component_id: NonEmptyString5,
1337
+ resource_id: NonEmptyString,
1338
+ parent_component_id: NonEmptyString,
1291
1339
  skipped: z10.boolean().optional()
1292
1340
  })
1293
1341
  }),
@@ -1295,14 +1343,14 @@ var PowerPathLessonPlanOperationInput = z10.union([
1295
1343
  type: z10.literal("move-item-before"),
1296
1344
  payload: z10.object({
1297
1345
  target: LessonPlanTarget,
1298
- reference_id: NonEmptyString5
1346
+ reference_id: NonEmptyString
1299
1347
  })
1300
1348
  }),
1301
1349
  z10.object({
1302
1350
  type: z10.literal("move-item-after"),
1303
1351
  payload: z10.object({
1304
1352
  target: LessonPlanTarget,
1305
- reference_id: NonEmptyString5
1353
+ reference_id: NonEmptyString
1306
1354
  })
1307
1355
  }),
1308
1356
  z10.object({
@@ -1321,107 +1369,107 @@ var PowerPathLessonPlanOperationInput = z10.union([
1321
1369
  type: z10.literal("change-item-parent"),
1322
1370
  payload: z10.object({
1323
1371
  target: LessonPlanTarget,
1324
- new_parent_id: NonEmptyString5,
1372
+ new_parent_id: NonEmptyString,
1325
1373
  position: z10.enum(["start", "end"]).optional()
1326
1374
  })
1327
1375
  })
1328
1376
  ]);
1329
1377
  var PowerPathLessonPlanOperationsInput = z10.object({
1330
1378
  operation: PowerPathLessonPlanOperationInput,
1331
- reason: NonEmptyString5.optional()
1379
+ reason: NonEmptyString.optional()
1332
1380
  });
1333
1381
  var PowerPathLessonPlanUpdateStudentItemResponseInput = z10.object({
1334
- studentId: NonEmptyString5,
1335
- componentResourceId: NonEmptyString5,
1382
+ studentId: NonEmptyString,
1383
+ componentResourceId: NonEmptyString,
1336
1384
  result: z10.object({
1337
1385
  status: z10.enum(["active", "tobedeleted"]),
1338
1386
  metadata: z10.record(z10.string(), z10.unknown()).optional(),
1339
1387
  score: z10.number().optional(),
1340
- textScore: NonEmptyString5.optional(),
1388
+ textScore: NonEmptyString.optional(),
1341
1389
  scoreDate: z10.string().datetime(),
1342
1390
  scorePercentile: z10.number().optional(),
1343
1391
  scoreStatus: ScoreStatus,
1344
- comment: NonEmptyString5.optional(),
1392
+ comment: NonEmptyString.optional(),
1345
1393
  learningObjectiveSet: z10.array(z10.object({
1346
- source: NonEmptyString5,
1394
+ source: NonEmptyString,
1347
1395
  learningObjectiveResults: z10.array(z10.object({
1348
- learningObjectiveId: NonEmptyString5,
1396
+ learningObjectiveId: NonEmptyString,
1349
1397
  score: z10.number().optional(),
1350
- textScore: NonEmptyString5.optional()
1398
+ textScore: NonEmptyString.optional()
1351
1399
  }))
1352
1400
  })).optional(),
1353
- inProgress: NonEmptyString5.optional(),
1354
- incomplete: NonEmptyString5.optional(),
1355
- late: NonEmptyString5.optional(),
1356
- missing: NonEmptyString5.optional()
1401
+ inProgress: NonEmptyString.optional(),
1402
+ incomplete: NonEmptyString.optional(),
1403
+ late: NonEmptyString.optional(),
1404
+ missing: NonEmptyString.optional()
1357
1405
  })
1358
1406
  });
1359
1407
  var PowerPathMakeExternalTestAssignmentInput = z10.object({
1360
- student: NonEmptyString5,
1361
- lesson: NonEmptyString5,
1362
- applicationName: NonEmptyString5.optional(),
1363
- testId: NonEmptyString5.optional(),
1408
+ student: NonEmptyString,
1409
+ lesson: NonEmptyString,
1410
+ applicationName: NonEmptyString.optional(),
1411
+ testId: NonEmptyString.optional(),
1364
1412
  skipCourseEnrollment: z10.boolean().optional()
1365
1413
  });
1366
1414
  var PowerPathPlacementResetUserPlacementInput = z10.object({
1367
- student: NonEmptyString5,
1415
+ student: NonEmptyString,
1368
1416
  subject: TimebackSubject
1369
1417
  });
1370
1418
  var PowerPathResetAttemptInput = z10.object({
1371
- student: NonEmptyString5,
1372
- lesson: NonEmptyString5
1419
+ student: NonEmptyString,
1420
+ lesson: NonEmptyString
1373
1421
  });
1374
1422
  var PowerPathScreeningResetSessionInput = z10.object({
1375
- userId: NonEmptyString5
1423
+ userId: NonEmptyString
1376
1424
  });
1377
1425
  var PowerPathScreeningAssignTestInput = z10.object({
1378
- userId: NonEmptyString5,
1426
+ userId: NonEmptyString,
1379
1427
  subject: z10.enum(["Math", "Reading", "Language", "Science"])
1380
1428
  });
1381
1429
  var PowerPathTestAssignmentsCreateInput = z10.object({
1382
- student: NonEmptyString5,
1430
+ student: NonEmptyString,
1383
1431
  subject: TimebackSubject,
1384
1432
  grade: TimebackGrade,
1385
- testName: NonEmptyString5.optional()
1433
+ testName: NonEmptyString.optional()
1386
1434
  });
1387
1435
  var PowerPathTestAssignmentsUpdateInput = z10.object({
1388
- testName: NonEmptyString5
1436
+ testName: NonEmptyString
1389
1437
  });
1390
1438
  var PowerPathTestAssignmentItemInput = z10.object({
1391
- student: NonEmptyString5,
1439
+ student: NonEmptyString,
1392
1440
  subject: TimebackSubject,
1393
1441
  grade: TimebackGrade,
1394
- testName: NonEmptyString5.optional()
1442
+ testName: NonEmptyString.optional()
1395
1443
  });
1396
1444
  var PowerPathTestAssignmentsBulkInput = z10.object({
1397
1445
  items: z10.array(PowerPathTestAssignmentItemInput)
1398
1446
  });
1399
1447
  var PowerPathTestAssignmentsImportInput = z10.object({
1400
1448
  spreadsheetUrl: z10.url(),
1401
- sheet: NonEmptyString5
1449
+ sheet: NonEmptyString
1402
1450
  });
1403
1451
  var PowerPathTestAssignmentsListParams = z10.object({
1404
- student: NonEmptyString5,
1452
+ student: NonEmptyString,
1405
1453
  status: z10.enum(["assigned", "in_progress", "completed", "failed", "expired", "cancelled"]).optional(),
1406
- subject: NonEmptyString5.optional(),
1454
+ subject: NonEmptyString.optional(),
1407
1455
  grade: TimebackGrade.optional(),
1408
1456
  limit: z10.number().int().positive().max(3000).optional(),
1409
1457
  offset: z10.number().int().nonnegative().optional()
1410
1458
  });
1411
1459
  var PowerPathTestAssignmentsAdminParams = z10.object({
1412
- student: NonEmptyString5.optional(),
1460
+ student: NonEmptyString.optional(),
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 PowerPathUpdateStudentQuestionResponseInput = z10.object({
1420
- student: NonEmptyString5,
1421
- question: NonEmptyString5,
1422
- response: z10.union([NonEmptyString5, z10.array(NonEmptyString5)]).optional(),
1423
- responses: z10.record(z10.string(), z10.union([NonEmptyString5, z10.array(NonEmptyString5)])).optional(),
1424
- lesson: NonEmptyString5,
1468
+ student: NonEmptyString,
1469
+ question: NonEmptyString,
1470
+ response: z10.union([NonEmptyString, z10.array(NonEmptyString)]).optional(),
1471
+ responses: z10.record(z10.string(), z10.union([NonEmptyString, z10.array(NonEmptyString)])).optional(),
1472
+ lesson: NonEmptyString,
1425
1473
  rendererOutcomes: z10.object({
1426
1474
  score: z10.number(),
1427
1475
  maxScore: z10.number().min(0),
@@ -1438,29 +1486,29 @@ var PowerPathUpdateStudentQuestionResponseInput = z10.object({
1438
1486
  return data;
1439
1487
  });
1440
1488
  var PowerPathGetAssessmentProgressParams = z10.object({
1441
- student: NonEmptyString5,
1442
- lesson: NonEmptyString5,
1489
+ student: NonEmptyString,
1490
+ lesson: NonEmptyString,
1443
1491
  attempt: z10.number().int().positive().optional()
1444
1492
  });
1445
1493
  var PowerPathGetNextQuestionParams = z10.object({
1446
- student: NonEmptyString5,
1447
- lesson: NonEmptyString5
1494
+ student: NonEmptyString,
1495
+ lesson: NonEmptyString
1448
1496
  });
1449
1497
  var PowerPathGetAttemptsParams = z10.object({
1450
- student: NonEmptyString5,
1451
- lesson: NonEmptyString5
1498
+ student: NonEmptyString,
1499
+ lesson: NonEmptyString
1452
1500
  });
1453
1501
  var PowerPathTestOutParams = z10.object({
1454
- student: NonEmptyString5,
1455
- course: NonEmptyString5
1502
+ student: NonEmptyString,
1503
+ course: NonEmptyString
1456
1504
  });
1457
1505
  var PowerPathImportExternalTestAssignmentResultsParams = z10.object({
1458
- student: NonEmptyString5,
1459
- lesson: NonEmptyString5,
1460
- applicationName: NonEmptyString5.optional()
1506
+ student: NonEmptyString,
1507
+ lesson: NonEmptyString,
1508
+ applicationName: NonEmptyString.optional()
1461
1509
  });
1462
1510
  var PowerPathPlacementQueryParams = z10.object({
1463
- student: NonEmptyString5,
1511
+ student: NonEmptyString,
1464
1512
  subject: TimebackSubject
1465
1513
  });
1466
1514
  var PowerPathSyllabusQueryParams = z10.object({
@@ -1511,18 +1559,18 @@ var QtiCorrectResponse = z11.object({
1511
1559
  value: z11.array(z11.string())
1512
1560
  }).strict();
1513
1561
  var QtiResponseDeclaration = z11.object({
1514
- identifier: z11.string().min(1),
1562
+ identifier: NonEmptyString,
1515
1563
  cardinality: QtiCardinality,
1516
1564
  baseType: QtiBaseType.optional(),
1517
1565
  correctResponse: QtiCorrectResponse
1518
1566
  }).strict();
1519
1567
  var QtiOutcomeDeclaration = z11.object({
1520
- identifier: z11.string().min(1),
1568
+ identifier: NonEmptyString,
1521
1569
  cardinality: QtiCardinality,
1522
1570
  baseType: QtiBaseType.optional()
1523
1571
  }).strict();
1524
1572
  var QtiTestOutcomeDeclaration = z11.object({
1525
- identifier: z11.string().min(1),
1573
+ identifier: NonEmptyString,
1526
1574
  cardinality: QtiCardinality.optional(),
1527
1575
  baseType: QtiBaseType,
1528
1576
  normalMaximum: z11.number().optional(),
@@ -1532,19 +1580,19 @@ var QtiTestOutcomeDeclaration = z11.object({
1532
1580
  }).strict().optional()
1533
1581
  }).strict();
1534
1582
  var QtiInlineFeedback = z11.object({
1535
- outcomeIdentifier: z11.string().min(1),
1536
- variableIdentifier: z11.string().min(1)
1583
+ outcomeIdentifier: NonEmptyString,
1584
+ variableIdentifier: NonEmptyString
1537
1585
  }).strict();
1538
1586
  var QtiResponseProcessing = z11.object({
1539
1587
  templateType: z11.enum(["match_correct", "map_response"]),
1540
- responseDeclarationIdentifier: z11.string().min(1),
1541
- outcomeIdentifier: z11.string().min(1),
1542
- correctResponseIdentifier: z11.string().min(1),
1543
- incorrectResponseIdentifier: z11.string().min(1),
1588
+ responseDeclarationIdentifier: NonEmptyString,
1589
+ outcomeIdentifier: NonEmptyString,
1590
+ correctResponseIdentifier: NonEmptyString,
1591
+ incorrectResponseIdentifier: NonEmptyString,
1544
1592
  inlineFeedback: QtiInlineFeedback.optional()
1545
1593
  }).strict();
1546
1594
  var QtiLearningObjectiveSet = z11.object({
1547
- source: z11.string().min(1),
1595
+ source: NonEmptyString,
1548
1596
  learningObjectiveIds: z11.array(z11.string())
1549
1597
  }).strict();
1550
1598
  var QtiItemMetadata = z11.object({
@@ -1554,32 +1602,32 @@ var QtiItemMetadata = z11.object({
1554
1602
  learningObjectiveSet: z11.array(QtiLearningObjectiveSet).optional()
1555
1603
  }).loose();
1556
1604
  var QtiModalFeedback = z11.object({
1557
- outcomeIdentifier: z11.string().min(1),
1558
- identifier: z11.string().min(1),
1605
+ outcomeIdentifier: NonEmptyString,
1606
+ identifier: NonEmptyString,
1559
1607
  showHide: QtiShowHide,
1560
1608
  content: z11.string(),
1561
1609
  title: z11.string()
1562
1610
  }).strict();
1563
1611
  var QtiFeedbackInline = z11.object({
1564
- outcomeIdentifier: z11.string().min(1),
1565
- identifier: z11.string().min(1),
1612
+ outcomeIdentifier: NonEmptyString,
1613
+ identifier: NonEmptyString,
1566
1614
  showHide: QtiShowHide,
1567
1615
  content: z11.string(),
1568
1616
  class: z11.array(z11.string())
1569
1617
  }).strict();
1570
1618
  var QtiFeedbackBlock = z11.object({
1571
- outcomeIdentifier: z11.string().min(1),
1572
- identifier: z11.string().min(1),
1619
+ outcomeIdentifier: NonEmptyString,
1620
+ identifier: NonEmptyString,
1573
1621
  showHide: QtiShowHide,
1574
1622
  content: z11.string(),
1575
1623
  class: z11.array(z11.string())
1576
1624
  }).strict();
1577
1625
  var QtiStylesheet = z11.object({
1578
- href: z11.string().min(1),
1579
- type: z11.string().min(1)
1626
+ href: NonEmptyString,
1627
+ type: NonEmptyString
1580
1628
  }).strict();
1581
1629
  var QtiCatalogInfo = z11.object({
1582
- id: z11.string().min(1),
1630
+ id: NonEmptyString,
1583
1631
  support: z11.string(),
1584
1632
  content: z11.string()
1585
1633
  }).strict();
@@ -1591,12 +1639,12 @@ var QtiPaginationParams = z11.object({
1591
1639
  }).strict();
1592
1640
  var QtiAssessmentItemXmlCreateInput = z11.object({
1593
1641
  format: z11.string().pipe(z11.literal("xml")),
1594
- xml: z11.string().min(1),
1642
+ xml: NonEmptyString,
1595
1643
  metadata: QtiItemMetadata.optional()
1596
1644
  }).strict();
1597
1645
  var QtiAssessmentItemJsonCreateInput = z11.object({
1598
- identifier: z11.string().min(1),
1599
- title: z11.string().min(1),
1646
+ identifier: NonEmptyString,
1647
+ title: NonEmptyString,
1600
1648
  type: QtiAssessmentItemType,
1601
1649
  qtiVersion: z11.string().optional(),
1602
1650
  timeDependent: z11.boolean().optional(),
@@ -1614,8 +1662,8 @@ var QtiAssessmentItemCreateInput = z11.union([
1614
1662
  QtiAssessmentItemJsonCreateInput
1615
1663
  ]);
1616
1664
  var QtiAssessmentItemUpdateInput = z11.object({
1617
- identifier: z11.string().min(1).optional(),
1618
- title: z11.string().min(1),
1665
+ identifier: NonEmptyString.optional(),
1666
+ title: NonEmptyString,
1619
1667
  type: QtiAssessmentItemType,
1620
1668
  qtiVersion: z11.string().optional(),
1621
1669
  timeDependent: z11.boolean().optional(),
@@ -1631,17 +1679,17 @@ var QtiAssessmentItemUpdateInput = z11.object({
1631
1679
  content: z11.record(z11.string(), z11.unknown())
1632
1680
  }).strict();
1633
1681
  var QtiAssessmentItemProcessResponseInput = z11.object({
1634
- identifier: z11.string().min(1),
1682
+ identifier: NonEmptyString,
1635
1683
  response: z11.union([z11.string(), z11.array(z11.string())])
1636
1684
  }).strict();
1637
1685
  var QtiAssessmentItemRef = z11.object({
1638
- identifier: z11.string().min(1),
1639
- href: z11.string().min(1),
1686
+ identifier: NonEmptyString,
1687
+ href: NonEmptyString,
1640
1688
  sequence: z11.number().int().positive().optional()
1641
1689
  }).strict();
1642
1690
  var QtiAssessmentSection = z11.object({
1643
- identifier: z11.string().min(1),
1644
- title: z11.string().min(1),
1691
+ identifier: NonEmptyString,
1692
+ title: NonEmptyString,
1645
1693
  visible: z11.boolean(),
1646
1694
  required: z11.boolean().optional(),
1647
1695
  fixed: z11.boolean().optional(),
@@ -1649,7 +1697,7 @@ var QtiAssessmentSection = z11.object({
1649
1697
  "qti-assessment-item-ref": z11.array(QtiAssessmentItemRef).optional()
1650
1698
  }).strict();
1651
1699
  var QtiTestPart = z11.object({
1652
- identifier: z11.string().min(1),
1700
+ identifier: NonEmptyString,
1653
1701
  navigationMode: z11.string().pipe(QtiNavigationMode),
1654
1702
  submissionMode: z11.string().pipe(QtiSubmissionMode),
1655
1703
  "qti-assessment-section": z11.array(QtiAssessmentSection)
@@ -1661,8 +1709,8 @@ var QtiAssessmentTestMetadataUpdateInput = z11.object({
1661
1709
  metadata: z11.record(z11.string(), z11.unknown()).optional()
1662
1710
  }).strict();
1663
1711
  var QtiAssessmentTestCreateInput = z11.object({
1664
- identifier: z11.string().min(1),
1665
- title: z11.string().min(1),
1712
+ identifier: NonEmptyString,
1713
+ title: NonEmptyString,
1666
1714
  qtiVersion: z11.string().optional(),
1667
1715
  toolName: z11.string().optional(),
1668
1716
  toolVersion: z11.string().optional(),
@@ -1674,8 +1722,8 @@ var QtiAssessmentTestCreateInput = z11.object({
1674
1722
  "qti-outcome-declaration": z11.array(QtiTestOutcomeDeclaration).optional()
1675
1723
  }).strict();
1676
1724
  var QtiAssessmentTestUpdateInput = z11.object({
1677
- identifier: z11.string().min(1).optional(),
1678
- title: z11.string().min(1),
1725
+ identifier: NonEmptyString.optional(),
1726
+ title: NonEmptyString,
1679
1727
  qtiVersion: z11.string().optional(),
1680
1728
  toolName: z11.string().optional(),
1681
1729
  toolVersion: z11.string().optional(),
@@ -1687,8 +1735,8 @@ var QtiAssessmentTestUpdateInput = z11.object({
1687
1735
  "qti-outcome-declaration": z11.array(QtiTestOutcomeDeclaration).optional()
1688
1736
  }).strict();
1689
1737
  var QtiStimulusCreateInput = z11.object({
1690
- identifier: z11.string().min(1),
1691
- title: z11.string().min(1),
1738
+ identifier: NonEmptyString,
1739
+ title: NonEmptyString,
1692
1740
  label: z11.string().optional(),
1693
1741
  language: z11.string().optional(),
1694
1742
  stylesheet: QtiStylesheet.optional(),
@@ -1699,8 +1747,8 @@ var QtiStimulusCreateInput = z11.object({
1699
1747
  metadata: z11.record(z11.string(), z11.unknown()).optional()
1700
1748
  }).strict();
1701
1749
  var QtiStimulusUpdateInput = z11.object({
1702
- identifier: z11.string().min(1).optional(),
1703
- title: z11.string().min(1),
1750
+ identifier: NonEmptyString.optional(),
1751
+ title: NonEmptyString,
1704
1752
  label: z11.string().optional(),
1705
1753
  language: z11.string().optional(),
1706
1754
  stylesheet: QtiStylesheet.optional(),
@@ -1722,9 +1770,9 @@ var QtiValidateBatchInput = z11.object({
1722
1770
  }).strict();
1723
1771
  var QtiLessonFeedbackInput = z11.object({
1724
1772
  questionId: z11.string().optional(),
1725
- userId: z11.string().min(1),
1726
- feedback: z11.string().min(1),
1727
- lessonId: z11.string().min(1),
1773
+ userId: NonEmptyString,
1774
+ feedback: NonEmptyString,
1775
+ lessonId: NonEmptyString,
1728
1776
  humanApproved: z11.boolean().optional()
1729
1777
  }).strict();
1730
1778
  // src/resources/webhooks.ts
@@ -133,9 +133,9 @@ type input<T> = T extends {
133
133
 
134
134
  declare const WebhookCreateInput = z
135
135
  .object({
136
- name: z.string().min(1, 'name must be a non-empty string'),
136
+ name: NonEmptyString,
137
137
  targetUrl: z.url('targetUrl must be a valid URL'),
138
- secret: z.string().min(1, 'secret must be a non-empty string'),
138
+ secret: NonEmptyString,
139
139
  active: z.boolean(),
140
140
  sensor: z.string().nullable().optional(),
141
141
  description: z.string().nullable().optional(),
@@ -153,9 +153,9 @@ type WebhookUpdateInput = input<typeof WebhookUpdateInput>
153
153
 
154
154
  declare const WebhookFilterCreateInput = z
155
155
  .object({
156
- webhookId: z.string().min(1, 'webhookId must be a non-empty string'),
157
- filterKey: z.string().min(1, 'filterKey must be a non-empty string'),
158
- filterValue: z.string().min(1, 'filterValue must be a non-empty string'),
156
+ webhookId: NonEmptyString,
157
+ filterKey: NonEmptyString,
158
+ filterValue: NonEmptyString,
159
159
  filterType: WebhookFilterType,
160
160
  filterOperator: WebhookFilterOperation,
161
161
  active: z.boolean(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timeback/webhooks",
3
- "version": "0.1.2-beta.20260309185602",
3
+ "version": "0.2.0",
4
4
  "description": "Webhook management client SDK for Timeback",
5
5
  "type": "module",
6
6
  "exports": {