@timeback/core 0.1.5 → 0.1.6

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.
package/dist/client.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  import type { CaliperClientInstance } from '@timeback/caliper';
2
+ import type { CaseClientInstance } from '@timeback/case';
3
+ import type { ClrClientInstance } from '@timeback/clr';
2
4
  import type { EdubridgeClientInstance } from '@timeback/edubridge';
3
5
  import type { AuthCheckResult, TimebackProvider } from '@timeback/internal-client-infra';
4
6
  import type { OneRosterClientInstance } from '@timeback/oneroster';
@@ -19,6 +21,8 @@ import type { TimebackClientConfig } from './types/index';
19
21
  * - **Caliper**: Learning analytics events
20
22
  * - **QTI**: Assessment content management
21
23
  * - **PowerPath**: Placement tests, lesson plans, and assessments
24
+ * - **CLR**: Comprehensive Learner Record credentials
25
+ * - **CASE**: Competency and Academic Standards Exchange
22
26
  *
23
27
  * All sub-clients share a single OAuth token, reducing auth requests.
24
28
  *
@@ -76,6 +80,8 @@ export declare class TimebackClient {
76
80
  private _caliper?;
77
81
  private _qti?;
78
82
  private _powerpath?;
83
+ private _clr?;
84
+ private _case?;
79
85
  /**
80
86
  * Creates a new Timeback client.
81
87
  *
@@ -134,6 +140,26 @@ export declare class TimebackClient {
134
140
  * @throws {Error} If client has been closed or service not configured
135
141
  */
136
142
  get powerpath(): PowerPathClientInstance;
143
+ /**
144
+ * CLR API client for Comprehensive Learner Record credentials.
145
+ *
146
+ * Lazily initialized on first access. Shares OAuth tokens with other
147
+ * sub-clients through the provider.
148
+ *
149
+ * @returns The CLR client instance
150
+ * @throws {Error} If client has been closed or service not configured
151
+ */
152
+ get clr(): ClrClientInstance;
153
+ /**
154
+ * CASE API client for Competency and Academic Standards Exchange.
155
+ *
156
+ * Lazily initialized on first access. Shares OAuth tokens with other
157
+ * sub-clients through the provider.
158
+ *
159
+ * @returns The CASE client instance
160
+ * @throws {Error} If client has been closed or service not configured
161
+ */
162
+ get case(): CaseClientInstance;
137
163
  /**
138
164
  * Verify that OAuth authentication is working.
139
165
  *
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AACxF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAEzD;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,qBAAa,cAAc;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,OAAO,CAAQ;IAEvB,OAAO,CAAC,UAAU,CAAC,CAAyB;IAC5C,OAAO,CAAC,UAAU,CAAC,CAAyB;IAC5C,OAAO,CAAC,QAAQ,CAAC,CAAuB;IACxC,OAAO,CAAC,IAAI,CAAC,CAAmB;IAChC,OAAO,CAAC,UAAU,CAAC,CAAyB;IAE5C;;;;;;OAMG;IACH,YAAY,MAAM,CAAC,EAAE,oBAAoB,EAUxC;IAED;;;;;;;;OAQG;IACH,IAAI,SAAS,IAAI,uBAAuB,CASvC;IAED;;;;;;;;OAQG;IACH,IAAI,SAAS,IAAI,uBAAuB,CASvC;IAED;;;;;;;;OAQG;IACH,IAAI,OAAO,IAAI,qBAAqB,CASnC;IAED;;;;;;;;OAQG;IACH,IAAI,GAAG,IAAI,iBAAiB,CAS3B;IAED;;;;;;;;OAQG;IACH,IAAI,SAAS,IAAI,uBAAuB,CASvC;IAMD;;;;;;;;OAQG;IACH,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC,CAGpC;IAED;;;;;;;OAOG;IACH,KAAK,IAAI,IAAI,CAYZ;IAED;;;OAGG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;;OAIG;IACH,WAAW,IAAI,gBAAgB,CAE9B;IAED;;OAEG;IACH,OAAO,CAAC,UAAU;IAMlB;;;OAGG;IACH,OAAO,CAAC,aAAa;CAOrB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AACxF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAEzD;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,qBAAa,cAAc;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,OAAO,CAAQ;IAEvB,OAAO,CAAC,UAAU,CAAC,CAAyB;IAC5C,OAAO,CAAC,UAAU,CAAC,CAAyB;IAC5C,OAAO,CAAC,QAAQ,CAAC,CAAuB;IACxC,OAAO,CAAC,IAAI,CAAC,CAAmB;IAChC,OAAO,CAAC,UAAU,CAAC,CAAyB;IAC5C,OAAO,CAAC,IAAI,CAAC,CAAmB;IAChC,OAAO,CAAC,KAAK,CAAC,CAAoB;IAElC;;;;;;OAMG;IACH,YAAY,MAAM,CAAC,EAAE,oBAAoB,EAUxC;IAED;;;;;;;;OAQG;IACH,IAAI,SAAS,IAAI,uBAAuB,CASvC;IAED;;;;;;;;OAQG;IACH,IAAI,SAAS,IAAI,uBAAuB,CASvC;IAED;;;;;;;;OAQG;IACH,IAAI,OAAO,IAAI,qBAAqB,CASnC;IAED;;;;;;;;OAQG;IACH,IAAI,GAAG,IAAI,iBAAiB,CAS3B;IAED;;;;;;;;OAQG;IACH,IAAI,SAAS,IAAI,uBAAuB,CASvC;IAED;;;;;;;;OAQG;IACH,IAAI,GAAG,IAAI,iBAAiB,CAS3B;IAED;;;;;;;;OAQG;IACH,IAAI,IAAI,IAAI,kBAAkB,CAS7B;IAMD;;;;;;;;OAQG;IACH,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC,CAGpC;IAED;;;;;;;OAOG;IACH,KAAK,IAAI,IAAI,CAcZ;IAED;;;OAGG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;;OAIG;IACH,WAAW,IAAI,gBAAgB,CAE9B;IAED;;OAEG;IACH,OAAO,CAAC,UAAU;IAMlB;;;OAGG;IACH,OAAO,CAAC,aAAa;CAOrB"}
package/dist/errors.js CHANGED
@@ -884,6 +884,13 @@ var BEYONDAI_PATHS = {
884
884
  },
885
885
  powerpath: {
886
886
  base: "/powerpath"
887
+ },
888
+ clr: {
889
+ credentials: "/ims/clr/v2p0/credentials",
890
+ discovery: "/ims/clr/v2p0/discovery"
891
+ },
892
+ case: {
893
+ base: "/ims/case/v1p1"
887
894
  }
888
895
  };
889
896
  var LEARNWITHAI_PATHS = {
@@ -900,7 +907,9 @@ var LEARNWITHAI_PATHS = {
900
907
  resources: "/resources/1.0"
901
908
  },
902
909
  edubridge: null,
903
- powerpath: null
910
+ powerpath: null,
911
+ clr: null,
912
+ case: null
904
913
  };
905
914
  var PLATFORM_PATHS = {
906
915
  BEYOND_AI: BEYONDAI_PATHS,
@@ -923,7 +932,9 @@ function resolvePathProfiles(pathProfile, customPaths) {
923
932
  caliper: customPaths?.caliper ?? basePaths.caliper,
924
933
  oneroster: customPaths?.oneroster ?? basePaths.oneroster,
925
934
  edubridge: customPaths?.edubridge ?? basePaths.edubridge,
926
- powerpath: customPaths?.powerpath ?? basePaths.powerpath
935
+ powerpath: customPaths?.powerpath ?? basePaths.powerpath,
936
+ clr: customPaths?.clr ?? basePaths.clr,
937
+ case: customPaths?.case ?? basePaths.case
927
938
  };
928
939
  }
929
940
 
@@ -963,6 +974,14 @@ class TimebackProvider {
963
974
  baseUrl: platformEndpoints.api[env],
964
975
  authUrl: this.authUrl
965
976
  },
977
+ clr: {
978
+ baseUrl: platformEndpoints.api[env],
979
+ authUrl: this.authUrl
980
+ },
981
+ case: {
982
+ baseUrl: platformEndpoints.api[env],
983
+ authUrl: this.authUrl
984
+ },
966
985
  caliper: {
967
986
  baseUrl: platformEndpoints.caliper[env],
968
987
  authUrl: this.authUrl
@@ -980,6 +999,8 @@ class TimebackProvider {
980
999
  oneroster: { baseUrl: config.baseUrl, authUrl: this.authUrl },
981
1000
  edubridge: { baseUrl: config.baseUrl, authUrl: this.authUrl },
982
1001
  powerpath: { baseUrl: config.baseUrl, authUrl: this.authUrl },
1002
+ clr: { baseUrl: config.baseUrl, authUrl: this.authUrl },
1003
+ case: { baseUrl: config.baseUrl, authUrl: this.authUrl },
983
1004
  caliper: { baseUrl: config.baseUrl, authUrl: this.authUrl },
984
1005
  qti: { baseUrl: config.baseUrl, authUrl: this.authUrl }
985
1006
  };