@timeback/oneroster 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/errors.js +93 -4
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +15336 -180
  5. package/dist/lib/index.d.ts +1 -0
  6. package/dist/lib/index.d.ts.map +1 -1
  7. package/dist/lib/pagination.d.ts +3 -0
  8. package/dist/lib/pagination.d.ts.map +1 -1
  9. package/dist/lib/validation.d.ts +21 -0
  10. package/dist/lib/validation.d.ts.map +1 -0
  11. package/dist/resources/assessment/line-items.d.ts.map +1 -1
  12. package/dist/resources/assessment/results.d.ts +6 -1
  13. package/dist/resources/assessment/results.d.ts.map +1 -1
  14. package/dist/resources/base.d.ts +41 -2
  15. package/dist/resources/base.d.ts.map +1 -1
  16. package/dist/resources/gradebook/categories.d.ts +5 -1
  17. package/dist/resources/gradebook/categories.d.ts.map +1 -1
  18. package/dist/resources/gradebook/line-items.d.ts.map +1 -1
  19. package/dist/resources/gradebook/results.d.ts +8 -3
  20. package/dist/resources/gradebook/results.d.ts.map +1 -1
  21. package/dist/resources/gradebook/score-scales.d.ts +5 -1
  22. package/dist/resources/gradebook/score-scales.d.ts.map +1 -1
  23. package/dist/resources/resources/resources.d.ts.map +1 -1
  24. package/dist/resources/resources/resources.type-test.d.ts +2 -0
  25. package/dist/resources/resources/resources.type-test.d.ts.map +1 -0
  26. package/dist/resources/rostering/academic-sessions.d.ts +8 -1
  27. package/dist/resources/rostering/academic-sessions.d.ts.map +1 -1
  28. package/dist/resources/rostering/classes.d.ts +3 -1
  29. package/dist/resources/rostering/classes.d.ts.map +1 -1
  30. package/dist/resources/rostering/courses.d.ts +1 -1
  31. package/dist/resources/rostering/courses.d.ts.map +1 -1
  32. package/dist/resources/rostering/demographics.d.ts +5 -1
  33. package/dist/resources/rostering/demographics.d.ts.map +1 -1
  34. package/dist/resources/rostering/enrollments.d.ts +7 -1
  35. package/dist/resources/rostering/enrollments.d.ts.map +1 -1
  36. package/dist/resources/rostering/orgs.d.ts +5 -1
  37. package/dist/resources/rostering/orgs.d.ts.map +1 -1
  38. package/dist/resources/rostering/schools.d.ts +2 -1
  39. package/dist/resources/rostering/schools.d.ts.map +1 -1
  40. package/dist/resources/rostering/users.d.ts +6 -1
  41. package/dist/resources/rostering/users.d.ts.map +1 -1
  42. package/dist/types/callable.d.ts +5 -7
  43. package/dist/types/callable.d.ts.map +1 -1
  44. package/dist/types/index.d.ts +3 -10
  45. package/dist/types/index.d.ts.map +1 -1
  46. package/dist/types/streamable.d.ts +36 -0
  47. package/dist/types/streamable.d.ts.map +1 -0
  48. package/package.json +3 -2
  49. package/dist/types/base.d.ts +0 -137
  50. package/dist/types/base.d.ts.map +0 -1
  51. package/dist/types/filters.d.ts +0 -165
  52. package/dist/types/filters.d.ts.map +0 -1
  53. package/dist/types/gradebook.d.ts +0 -262
  54. package/dist/types/gradebook.d.ts.map +0 -1
  55. package/dist/types/resources.d.ts +0 -191
  56. package/dist/types/resources.d.ts.map +0 -1
  57. package/dist/types/rostering.d.ts +0 -732
  58. package/dist/types/rostering.d.ts.map +0 -1
package/dist/errors.js CHANGED
@@ -15,6 +15,15 @@ var __toESM = (mod, isNodeMode, target) => {
15
15
  });
16
16
  return to;
17
17
  };
18
+ var __export = (target, all) => {
19
+ for (var name in all)
20
+ __defProp(target, name, {
21
+ get: all[name],
22
+ enumerable: true,
23
+ configurable: true,
24
+ set: (newValue) => all[name] = () => newValue
25
+ });
26
+ };
18
27
  var __require = /* @__PURE__ */ createRequire(import.meta.url);
19
28
 
20
29
  // ../../internal/constants/src/endpoints.ts
@@ -68,9 +77,12 @@ var PLATFORM_ENDPOINTS = {
68
77
  // ../../internal/constants/src/typescript.ts
69
78
  var TypeScriptPackages = {
70
79
  tsc: "tsc",
71
- nativePreview: "@typescript/native-preview@7.0.0-dev.20251217.1"
80
+ nativePreview: "@typescript/native-preview"
81
+ };
82
+ var TYPESCRIPT_RUNNER = {
83
+ package: TypeScriptPackages.nativePreview,
84
+ bin: "tsgo"
72
85
  };
73
- var TYPESCRIPT_PACKAGE = TypeScriptPackages.nativePreview;
74
86
  // ../../internal/logger/src/debug.ts
75
87
  var patterns = null;
76
88
  var debugAll = false;
@@ -475,6 +487,9 @@ var BEYONDAI_PATHS = {
475
487
  },
476
488
  edubridge: {
477
489
  base: "/edubridge"
490
+ },
491
+ powerpath: {
492
+ base: "/powerpath"
478
493
  }
479
494
  };
480
495
  var LEARNWITHAI_PATHS = {
@@ -490,7 +505,8 @@ var LEARNWITHAI_PATHS = {
490
505
  gradebook: "/gradebook/1.0",
491
506
  resources: "/resources/1.0"
492
507
  },
493
- edubridge: null
508
+ edubridge: null,
509
+ powerpath: null
494
510
  };
495
511
  var PLATFORM_PATHS = {
496
512
  BEYOND_AI: BEYONDAI_PATHS,
@@ -512,7 +528,8 @@ function resolvePathProfiles(pathProfile, customPaths) {
512
528
  return {
513
529
  caliper: customPaths?.caliper ?? basePaths.caliper,
514
530
  oneroster: customPaths?.oneroster ?? basePaths.oneroster,
515
- edubridge: customPaths?.edubridge ?? basePaths.edubridge
531
+ edubridge: customPaths?.edubridge ?? basePaths.edubridge,
532
+ powerpath: customPaths?.powerpath ?? basePaths.powerpath
516
533
  };
517
534
  }
518
535
 
@@ -548,6 +565,10 @@ class TimebackProvider {
548
565
  baseUrl: platformEndpoints.api[env],
549
566
  authUrl: this.authUrl
550
567
  },
568
+ powerpath: {
569
+ baseUrl: platformEndpoints.api[env],
570
+ authUrl: this.authUrl
571
+ },
551
572
  caliper: {
552
573
  baseUrl: platformEndpoints.caliper[env],
553
574
  authUrl: this.authUrl
@@ -564,6 +585,7 @@ class TimebackProvider {
564
585
  this.endpoints = {
565
586
  oneroster: { baseUrl: config.baseUrl, authUrl: this.authUrl },
566
587
  edubridge: { baseUrl: config.baseUrl, authUrl: this.authUrl },
588
+ powerpath: { baseUrl: config.baseUrl, authUrl: this.authUrl },
567
589
  caliper: { baseUrl: config.baseUrl, authUrl: this.authUrl },
568
590
  qti: { baseUrl: config.baseUrl, authUrl: this.authUrl }
569
591
  };
@@ -971,6 +993,27 @@ class ValidationError extends ApiError {
971
993
  super(message, 422, response);
972
994
  }
973
995
  }
996
+
997
+ class InputValidationError extends ApiError {
998
+ name = "InputValidationError";
999
+ issues;
1000
+ constructor(message, issues) {
1001
+ const response = {
1002
+ imsx_codeMajor: "failure",
1003
+ imsx_severity: "error",
1004
+ imsx_description: message,
1005
+ imsx_error_details: issues.map((issue) => ({
1006
+ path: issue.path,
1007
+ message: issue.message
1008
+ }))
1009
+ };
1010
+ super(message, 400, response);
1011
+ this.issues = issues;
1012
+ }
1013
+ }
1014
+ function createInputValidationError(message, issues) {
1015
+ return new InputValidationError(message, issues);
1016
+ }
974
1017
  // ../../internal/client-infra/src/transport/constants.ts
975
1018
  var MAX_RETRIES = 3;
976
1019
  var RETRY_STATUS_CODES = [429, 503];
@@ -1413,6 +1456,52 @@ function parseHeaderPagination(response, data) {
1413
1456
  total
1414
1457
  };
1415
1458
  }
1459
+ // ../../internal/client-infra/src/validation/index.ts
1460
+ function issue(path, message) {
1461
+ return { path, message };
1462
+ }
1463
+ function validateWithSchema(schema, data, context) {
1464
+ const result = schema.safeParse(data);
1465
+ if (result.success) {
1466
+ return;
1467
+ }
1468
+ const issues = result.error.issues.map((errorIssue) => ({
1469
+ path: errorIssue.path.join(".") || "(root)",
1470
+ message: errorIssue.message
1471
+ }));
1472
+ throw createInputValidationError(`Invalid ${context} data`, issues);
1473
+ }
1474
+ function validateOffsetListParams(params) {
1475
+ if (!params) {
1476
+ return;
1477
+ }
1478
+ const issues = [];
1479
+ if (params.limit !== undefined) {
1480
+ if (!Number.isInteger(params.limit) || params.limit <= 0) {
1481
+ issues.push(issue("limit", "Must be a positive integer"));
1482
+ }
1483
+ }
1484
+ if (params.offset !== undefined) {
1485
+ if (!Number.isInteger(params.offset) || params.offset < 0) {
1486
+ issues.push(issue("offset", "Must be a non-negative integer"));
1487
+ }
1488
+ }
1489
+ if (params.max !== undefined) {
1490
+ if (!Number.isInteger(params.max) || params.max <= 0) {
1491
+ issues.push(issue("max", "Must be a positive integer"));
1492
+ }
1493
+ }
1494
+ if (issues.length > 0) {
1495
+ throw createInputValidationError("Invalid list parameters", issues);
1496
+ }
1497
+ }
1498
+ function validateSourcedId(sourcedId, context) {
1499
+ if (typeof sourcedId !== "string" || sourcedId.trim() === "") {
1500
+ throw createInputValidationError(`Invalid ${context} request`, [
1501
+ issue("sourcedId", "Must be a non-empty string")
1502
+ ]);
1503
+ }
1504
+ }
1416
1505
  export {
1417
1506
  ValidationError,
1418
1507
  UnauthorizedError,
package/dist/index.d.ts CHANGED
@@ -34,7 +34,7 @@ export { OneRosterClient, type OneRosterClientInstance } from './client';
34
34
  export { createOneRosterClient } from './factory';
35
35
  export type { OneRosterClientConfig } from './types/client';
36
36
  export type { Environment, EnvAuth, ExplicitAuth } from './types/client';
37
- export type { StreamableResource } from './types/base';
37
+ export type { StreamableResource } from './types';
38
38
  export type { AuthCheckResult, ListParams, PageResult } from '@timeback/internal-client-infra';
39
39
  export { whereToFilter } from '@timeback/internal-client-infra';
40
40
  export type { FieldCondition, FieldOperators, FilterFields, FilterValue, OrCondition, WhereClause, } from '@timeback/internal-client-infra';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAMH,OAAO,EAAE,eAAe,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAExE,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAEjD,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAM3D,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAExE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEtD,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAM9F,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE/D,YAAY,EACX,cAAc,EACd,cAAc,EACd,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,GACX,MAAM,iCAAiC,CAAA;AAMxC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAMH,OAAO,EAAE,eAAe,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAExE,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAEjD,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAM3D,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAExE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAEjD,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAM9F,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAE/D,YAAY,EACX,cAAc,EACd,cAAc,EACd,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,GACX,MAAM,iCAAiC,CAAA;AAMxC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA"}