@timeback/qti 0.2.1-beta.20260314020510 → 0.2.1

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.
@@ -571,6 +571,13 @@ var BEYONDAI_PATHS = {
571
571
  webhookFilterUpdate: "/webhook-filters/{id}",
572
572
  webhookFilterDelete: "/webhook-filters/{id}",
573
573
  webhookFiltersByWebhook: "/webhook-filters/webhook/{webhookId}"
574
+ },
575
+ reporting: {
576
+ mcp: "/mcp/reporting",
577
+ savedQueryExecute: "/reporting/saved-queries/{id}",
578
+ adminGroupCheck: "/mcp/admin/users/{email}/group",
579
+ adminGroupAdd: "/mcp/admin/users/{email}/group",
580
+ adminGroupRemove: "/mcp/admin/users/{email}/group"
574
581
  }
575
582
  };
576
583
  var LEARNWITHAI_PATHS = {
@@ -587,6 +594,7 @@ var LEARNWITHAI_PATHS = {
587
594
  resources: "/resources/1.0"
588
595
  },
589
596
  webhooks: null,
597
+ reporting: null,
590
598
  edubridge: null,
591
599
  powerpath: null,
592
600
  clr: null,
@@ -615,6 +623,7 @@ function resolvePathProfiles(pathProfile, customPaths) {
615
623
  caliper: customPaths?.caliper ?? basePaths.caliper,
616
624
  oneroster: customPaths?.oneroster ?? basePaths.oneroster,
617
625
  webhooks: customPaths?.webhooks ?? basePaths.webhooks,
626
+ reporting: customPaths?.reporting ?? basePaths.reporting,
618
627
  edubridge: customPaths?.edubridge ?? basePaths.edubridge,
619
628
  powerpath: customPaths?.powerpath ?? basePaths.powerpath,
620
629
  clr: customPaths?.clr ?? basePaths.clr,
@@ -676,6 +685,10 @@ class TimebackProvider {
676
685
  baseUrl: platformEndpoints.caliper[env],
677
686
  authUrl: this.authUrl
678
687
  },
688
+ reporting: {
689
+ baseUrl: platformEndpoints.api[env],
690
+ authUrl: this.authUrl
691
+ },
679
692
  qti: {
680
693
  baseUrl: platformEndpoints.qti[env],
681
694
  authUrl: this.authUrl
@@ -693,6 +706,7 @@ class TimebackProvider {
693
706
  case: { baseUrl: config.baseUrl, authUrl: this.authUrl },
694
707
  caliper: { baseUrl: config.baseUrl, authUrl: this.authUrl },
695
708
  webhooks: { baseUrl: config.baseUrl, authUrl: this.authUrl },
709
+ reporting: { baseUrl: config.baseUrl, authUrl: this.authUrl },
696
710
  qti: { baseUrl: config.baseUrl, authUrl: this.authUrl }
697
711
  };
698
712
  } else if (isServicesConfig(config)) {
package/dist/errors.js CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  NotFoundError,
6
6
  UnauthorizedError,
7
7
  ValidationError
8
- } from "./chunk-epsse7wh.js";
8
+ } from "./chunk-mntnjbnq.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
  validateNonEmptyString,
9
9
  validatePageListParams,
10
10
  validateWithSchema
11
- } from "./chunk-epsse7wh.js";
11
+ } from "./chunk-mntnjbnq.js";
12
12
  import"./chunk-6jf1natv.js";
13
13
 
14
14
  // src/constants.ts
@@ -722,7 +722,9 @@ var EduBridgeEnrollment = z7.object({
722
722
  school: z7.object({
723
723
  id: z7.string(),
724
724
  name: z7.string()
725
- })
725
+ }),
726
+ testOutSupported: z7.boolean(),
727
+ testOutEligible: z7.boolean()
726
728
  });
727
729
  var SubjectMetrics = z7.object({
728
730
  activityMetrics: z7.object({
@@ -1517,6 +1519,18 @@ var PowerPathPlacementQueryParams = z10.object({
1517
1519
  student: NonEmptyString,
1518
1520
  subject: TimebackSubject
1519
1521
  });
1522
+ var PowerPathMakeExternalStudentTestOutAssignmentInput = z10.object({
1523
+ oneRosterSourcedId: NonEmptyString,
1524
+ subject: NonEmptyString
1525
+ });
1526
+ var PowerPathRenderConfigUpsertInput = z10.object({
1527
+ courseIds: z10.array(NonEmptyString).min(1),
1528
+ rendererId: NonEmptyString,
1529
+ rendererUrl: z10.url(),
1530
+ rendererVersion: NonEmptyString.optional(),
1531
+ suppressFeedback: z10.boolean().optional(),
1532
+ suppressCorrectResponse: z10.boolean().optional()
1533
+ });
1520
1534
  var PowerPathSyllabusQueryParams = z10.object({
1521
1535
  status: z10.enum(["active", "tobedeleted"]).optional()
1522
1536
  });
@@ -1781,6 +1795,23 @@ var QtiLessonFeedbackInput = z11.object({
1781
1795
  lessonId: NonEmptyString,
1782
1796
  humanApproved: z11.boolean().optional()
1783
1797
  }).strict();
1798
+ // ../../types/src/zod/reporting.ts
1799
+ import { z as z12 } from "zod/v4";
1800
+ var ReportingAuthMode = z12.enum(["creator_only", "same_org", "all_orgs"]);
1801
+ var ReportingSavedQueryId = z12.string().uuid();
1802
+ var ReportingUserEmail = z12.email();
1803
+ var ReportingQueryInput = z12.object({
1804
+ sql: NonEmptyString
1805
+ });
1806
+ var PersistReportingQueryInput = z12.object({
1807
+ endpointName: NonEmptyString,
1808
+ sql: NonEmptyString,
1809
+ authMode: ReportingAuthMode,
1810
+ description: NonEmptyString.optional()
1811
+ });
1812
+ var RemoveReportingQueryInput = z12.object({
1813
+ endpointId: ReportingSavedQueryId
1814
+ });
1784
1815
  // src/lib/pagination.ts
1785
1816
  function translateParams(params) {
1786
1817
  const {
package/dist/parse.js CHANGED
@@ -11,7 +11,7 @@ function extractChoices(xml) {
11
11
  if (!xml)
12
12
  return [];
13
13
  const choices = [];
14
- const regex = /<qti-simple-choice[^>]*identifier="([^"]+)"[^>]*>([\s\S]*?)<\/qti-simple-choice>/gi;
14
+ const regex = /<qti-simple-choice[^>]*(?:^|\s)identifier="([^"]+)"[^>]*>([\s\S]*?)<\/qti-simple-choice>/gi;
15
15
  let match;
16
16
  while ((match = regex.exec(xml)) !== null) {
17
17
  let text = match[2] ?? "";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timeback/qti",
3
- "version": "0.2.1-beta.20260314020510",
3
+ "version": "0.2.1",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {