@timeback/edubridge 0.1.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.
- package/README.md +220 -0
- package/dist/client.d.ts +70 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/constants.d.ts +25 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/errors.d.ts +9 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +1217 -0
- package/dist/factory.d.ts +46 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1566 -0
- package/dist/lib/index.d.ts +9 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/resolve.d.ts +21 -0
- package/dist/lib/resolve.d.ts.map +1 -0
- package/dist/lib/transport.d.ts +49 -0
- package/dist/lib/transport.d.ts.map +1 -0
- package/dist/resources/analytics.d.ts +56 -0
- package/dist/resources/analytics.d.ts.map +1 -0
- package/dist/resources/applications.d.ts +30 -0
- package/dist/resources/applications.d.ts.map +1 -0
- package/dist/resources/enrollments.d.ts +71 -0
- package/dist/resources/enrollments.d.ts.map +1 -0
- package/dist/resources/index.d.ts +10 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/learning-reports.d.ts +30 -0
- package/dist/resources/learning-reports.d.ts.map +1 -0
- package/dist/resources/subject-track.d.ts +48 -0
- package/dist/resources/subject-track.d.ts.map +1 -0
- package/dist/resources/users.d.ts +53 -0
- package/dist/resources/users.d.ts.map +1 -0
- package/dist/types/analytics.d.ts +208 -0
- package/dist/types/analytics.d.ts.map +1 -0
- package/dist/types/applications.d.ts +27 -0
- package/dist/types/applications.d.ts.map +1 -0
- package/dist/types/base.d.ts +38 -0
- package/dist/types/base.d.ts.map +1 -0
- package/dist/types/client.d.ts +52 -0
- package/dist/types/client.d.ts.map +1 -0
- package/dist/types/enrollments.d.ts +113 -0
- package/dist/types/enrollments.d.ts.map +1 -0
- package/dist/types/index.d.ts +14 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/learning-reports.d.ts +27 -0
- package/dist/types/learning-reports.d.ts.map +1 -0
- package/dist/types/subject-track.d.ts +54 -0
- package/dist/types/subject-track.d.ts.map +1 -0
- package/dist/types/users.d.ts +107 -0
- package/dist/types/users.d.ts.map +1 -0
- package/dist/types.d.ts +10 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +0 -0
- package/dist/utils.d.ts +64 -0
- package/dist/utils.d.ts.map +1 -0
- package/package.json +40 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,YAAY,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider Resolution
|
|
3
|
+
*
|
|
4
|
+
* Edubridge-specific wrapper around the generic provider resolver.
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
import type { ProviderRegistry } from '@timeback/internal-client-infra';
|
|
9
|
+
import type { EdubridgeClientConfig, EdubridgeResolvedProvider } from '../types';
|
|
10
|
+
/**
|
|
11
|
+
* Resolve Edubridge client config to a TimebackProvider.
|
|
12
|
+
*
|
|
13
|
+
* @param config - Client configuration
|
|
14
|
+
* @param registry - Provider registry for platform/env resolution
|
|
15
|
+
* @returns Resolved provider or transport
|
|
16
|
+
* @throws {Error} If configuration is invalid or incomplete
|
|
17
|
+
*
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export declare function resolveToProvider(config: EdubridgeClientConfig, registry?: ProviderRegistry): EdubridgeResolvedProvider;
|
|
21
|
+
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/lib/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAEhF;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAChC,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,GAAE,gBAA4C,GACpD,yBAAyB,CAM3B"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transport Layer
|
|
3
|
+
*
|
|
4
|
+
* HTTP transport for Edubridge API communication.
|
|
5
|
+
*/
|
|
6
|
+
import { BaseTransport } from '@timeback/internal-client-infra';
|
|
7
|
+
import type { EdubridgePaths, PaginatedResponse, RequestOptions } from '@timeback/internal-client-infra';
|
|
8
|
+
import type { EdubridgeTransportConfig } from '../types';
|
|
9
|
+
/**
|
|
10
|
+
* HTTP transport layer for Edubridge API communication.
|
|
11
|
+
*
|
|
12
|
+
* Uses body-based pagination (totalCount, pageNumber, pageCount in response body).
|
|
13
|
+
*/
|
|
14
|
+
export declare class Transport extends BaseTransport {
|
|
15
|
+
/** API path profiles for Edubridge operations */
|
|
16
|
+
readonly paths: EdubridgePaths;
|
|
17
|
+
constructor(config: EdubridgeTransportConfig);
|
|
18
|
+
/**
|
|
19
|
+
* Make a paginated request using body-based pagination.
|
|
20
|
+
*
|
|
21
|
+
* Edubridge APIs return pagination metadata in the response body:
|
|
22
|
+
* - `totalCount`: Total items across all pages
|
|
23
|
+
* - `pageCount`: Total number of pages
|
|
24
|
+
* - `pageNumber`: Current page (1-indexed)
|
|
25
|
+
*
|
|
26
|
+
* The returned `data` is the full response body. Use Paginator's `unwrapKey`
|
|
27
|
+
* to extract the actual items (e.g., "users", "enrollments").
|
|
28
|
+
*
|
|
29
|
+
* @template T - Expected item type in the response
|
|
30
|
+
* @param path - API endpoint path
|
|
31
|
+
* @param options - Request options
|
|
32
|
+
* @returns Normalized paginated response with body as data
|
|
33
|
+
*/
|
|
34
|
+
requestPaginated<T>(path: string, options?: RequestOptions): Promise<PaginatedResponse<T>>;
|
|
35
|
+
/**
|
|
36
|
+
* Extract error message from Edubridge API error response.
|
|
37
|
+
*
|
|
38
|
+
* Edubridge returns errors in array format:
|
|
39
|
+
* - `errors[].message`: High-level error message
|
|
40
|
+
* - `errors[].detail`: More specific error detail
|
|
41
|
+
* - `errors[].meta.issues[]`: Field-level validation errors
|
|
42
|
+
*
|
|
43
|
+
* @param body - The error response body
|
|
44
|
+
* @param fallback - Fallback message if extraction fails
|
|
45
|
+
* @returns Human-readable error message with field details
|
|
46
|
+
*/
|
|
47
|
+
protected extractErrorMessage(body: unknown, fallback: string): string;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/lib/transport.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAA0B,MAAM,iCAAiC,CAAA;AAIvF,OAAO,KAAK,EAEX,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AAqBxD;;;;GAIG;AACH,qBAAa,SAAU,SAAQ,aAAa;IAC3C,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAA;IAE9B,YAAY,MAAM,EAAE,wBAAwB,EAG3C;IAED;;;;;;;;;;;;;;;OAeG;IACG,gBAAgB,CAAC,CAAC,EACvB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,cAAmB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAI/B;IAED;;;;;;;;;;;OAWG;IACH,UAAmB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmC9E;CACD"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analytics Resource
|
|
3
|
+
*
|
|
4
|
+
* Student activity data and metrics.
|
|
5
|
+
*/
|
|
6
|
+
import type { ActivityParams, DailyActivityMap, EdubridgeTransportLike, EnrollmentFacts, EnrollmentFactsParams, HighestGradeMastered, WeeklyFacts, WeeklyFactsParams } from '../types';
|
|
7
|
+
/**
|
|
8
|
+
* Analytics resource for retrieving student activity data.
|
|
9
|
+
*
|
|
10
|
+
* Provides access to activity metrics, weekly facts, and grade mastery data.
|
|
11
|
+
*/
|
|
12
|
+
export declare class AnalyticsResource {
|
|
13
|
+
private readonly transport;
|
|
14
|
+
constructor(transport: EdubridgeTransportLike);
|
|
15
|
+
/**
|
|
16
|
+
* Get activity data for a date range.
|
|
17
|
+
*
|
|
18
|
+
* Returns metrics grouped by date, then by subject.
|
|
19
|
+
* Accepts dates in YYYY-MM-DD or full ISO 8601 format.
|
|
20
|
+
*
|
|
21
|
+
* @param params - Query parameters including email or studentId, startDate, endDate
|
|
22
|
+
* @returns Activity data keyed by date, then subject
|
|
23
|
+
*/
|
|
24
|
+
getActivity(params: ActivityParams): Promise<DailyActivityMap>;
|
|
25
|
+
/**
|
|
26
|
+
* Get weekly facts for a student.
|
|
27
|
+
*
|
|
28
|
+
* Returns individual facts grouped by date for a specific week.
|
|
29
|
+
* Accepts weekDate in YYYY-MM-DD or full ISO 8601 format.
|
|
30
|
+
*
|
|
31
|
+
* @param params - Query parameters including email or studentId and weekDate
|
|
32
|
+
* @returns Weekly facts data
|
|
33
|
+
*/
|
|
34
|
+
getWeeklyFacts(params: WeeklyFactsParams): Promise<WeeklyFacts>;
|
|
35
|
+
/**
|
|
36
|
+
* Get aggregated facts for an enrollment.
|
|
37
|
+
*
|
|
38
|
+
* Returns aggregated metrics for all activity within an enrollment.
|
|
39
|
+
* Accepts dates in YYYY-MM-DD or full ISO 8601 format.
|
|
40
|
+
*
|
|
41
|
+
* @param params - Query parameters including enrollmentId and optional date filters
|
|
42
|
+
* @returns Enrollment facts
|
|
43
|
+
*/
|
|
44
|
+
getEnrollmentFacts(params: EnrollmentFactsParams): Promise<EnrollmentFacts>;
|
|
45
|
+
/**
|
|
46
|
+
* Get the highest grade a student has mastered for a subject.
|
|
47
|
+
*
|
|
48
|
+
* Returns grade data from multiple sources (Edulastic, placement tests, test-out).
|
|
49
|
+
*
|
|
50
|
+
* @param studentId - Student ID
|
|
51
|
+
* @param subject - Subject name
|
|
52
|
+
* @returns Highest grade mastered data
|
|
53
|
+
*/
|
|
54
|
+
getHighestGradeMastered(studentId: string, subject: string): Promise<HighestGradeMastered>;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=analytics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/resources/analytics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EACX,cAAc,EAEd,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EAErB,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EAEjB,MAAM,UAAU,CAAA;AAEjB;;;;GAIG;AACH,qBAAa,iBAAiB;IACjB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAtC,YAA6B,SAAS,EAAE,sBAAsB,EAAI;IAElE;;;;;;;;OAQG;IACG,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAcnE;IAED;;;;;;;;OAQG;IACG,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAapE;IAED;;;;;;;;OAQG;IACG,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC,CAYhF;IAED;;;;;;;;OAQG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAIzF;CACD"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Applications Resource
|
|
3
|
+
*
|
|
4
|
+
* Manage and retrieve applications available in the system.
|
|
5
|
+
*/
|
|
6
|
+
import type { Application, ApplicationMetrics, EdubridgeTransportLike } from '../types';
|
|
7
|
+
/**
|
|
8
|
+
* Applications resource for managing learning platforms.
|
|
9
|
+
*
|
|
10
|
+
* Applications represent different learning platforms or educational
|
|
11
|
+
* software that can be integrated with Timeback.
|
|
12
|
+
*/
|
|
13
|
+
export declare class ApplicationsResource {
|
|
14
|
+
private readonly transport;
|
|
15
|
+
constructor(transport: EdubridgeTransportLike);
|
|
16
|
+
/**
|
|
17
|
+
* List all applications.
|
|
18
|
+
*
|
|
19
|
+
* @returns List of applications
|
|
20
|
+
*/
|
|
21
|
+
list(): Promise<Application[]>;
|
|
22
|
+
/**
|
|
23
|
+
* Get metrics for an application.
|
|
24
|
+
*
|
|
25
|
+
* @param applicationSourcedId - Application ID
|
|
26
|
+
* @returns Application metrics
|
|
27
|
+
*/
|
|
28
|
+
getMetrics(applicationSourcedId: string): Promise<ApplicationMetrics>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=applications.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applications.d.ts","sourceRoot":"","sources":["../../src/resources/applications.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAEvF;;;;;GAKG;AACH,qBAAa,oBAAoB;IACpB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAtC,YAA6B,SAAS,EAAE,sBAAsB,EAAI;IAElE;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAKnC;IAED;;;;;OAKG;IACG,UAAU,CAAC,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAK1E;CACD"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enrollments Resource
|
|
3
|
+
*
|
|
4
|
+
* Simplified, course-centric enrollment management.
|
|
5
|
+
*/
|
|
6
|
+
import type { DefaultClass, EdubridgeTransportLike, Enrollment, EnrollOptions, ListEnrollmentsParams, ResetGoalsResult } from '../types';
|
|
7
|
+
/**
|
|
8
|
+
* Enrollments resource for course-centric enrollment management.
|
|
9
|
+
*
|
|
10
|
+
* Provides simplified methods to enroll/unenroll users in courses
|
|
11
|
+
* without needing to understand the underlying OneRoster academic hierarchy.
|
|
12
|
+
*/
|
|
13
|
+
export declare class EnrollmentsResource {
|
|
14
|
+
private readonly transport;
|
|
15
|
+
constructor(transport: EdubridgeTransportLike);
|
|
16
|
+
/**
|
|
17
|
+
* List enrollments with filtering.
|
|
18
|
+
*
|
|
19
|
+
* @param params - Query parameters including userId filter
|
|
20
|
+
* @returns List of course enrollments
|
|
21
|
+
*/
|
|
22
|
+
list(params: ListEnrollmentsParams): Promise<Enrollment[]>;
|
|
23
|
+
/**
|
|
24
|
+
* Enroll a user in a course.
|
|
25
|
+
*
|
|
26
|
+
* Automatically handles creating the appropriate class and academic session
|
|
27
|
+
* records required by OneRoster.
|
|
28
|
+
*
|
|
29
|
+
* @param userId - User ID to enroll
|
|
30
|
+
* @param courseId - Course ID to enroll in
|
|
31
|
+
* @param schoolId - Optional school ID (uses user's primary org if not specified)
|
|
32
|
+
* @param options - Enrollment options (role, metadata, etc.)
|
|
33
|
+
* @returns Created enrollment
|
|
34
|
+
*/
|
|
35
|
+
enroll(userId: string, courseId: string, schoolId?: string, options?: EnrollOptions): Promise<Enrollment>;
|
|
36
|
+
/**
|
|
37
|
+
* Unenroll a user from a course.
|
|
38
|
+
*
|
|
39
|
+
* Marks the enrollment as 'tobedeleted'.
|
|
40
|
+
*
|
|
41
|
+
* @param userId - User ID to unenroll
|
|
42
|
+
* @param courseId - Course ID to unenroll from
|
|
43
|
+
* @param schoolId - Optional school ID
|
|
44
|
+
*/
|
|
45
|
+
unenroll(userId: string, courseId: string, schoolId?: string): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Reset enrollment goals for all users in a course.
|
|
48
|
+
*
|
|
49
|
+
* @param courseId - Course ID to reset goals for
|
|
50
|
+
* @returns Result with count of updated enrollments
|
|
51
|
+
*/
|
|
52
|
+
resetGoals(courseId: string): Promise<ResetGoalsResult>;
|
|
53
|
+
/**
|
|
54
|
+
* Reset a user's progress in a course.
|
|
55
|
+
*
|
|
56
|
+
* Marks all assessment results for the user/course as 'tobedeleted'.
|
|
57
|
+
*
|
|
58
|
+
* @param userId - User ID
|
|
59
|
+
* @param courseId - Course ID
|
|
60
|
+
*/
|
|
61
|
+
resetProgress(userId: string, courseId: string): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Get the default class for a course.
|
|
64
|
+
*
|
|
65
|
+
* @param courseId - Course ID
|
|
66
|
+
* @param schoolId - Optional school ID
|
|
67
|
+
* @returns Default class and term information
|
|
68
|
+
*/
|
|
69
|
+
getDefaultClass(courseId: string, schoolId?: string): Promise<DefaultClass>;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=enrollments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enrollments.d.ts","sourceRoot":"","sources":["../../src/resources/enrollments.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAEX,YAAY,EACZ,sBAAsB,EACtB,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,MAAM,UAAU,CAAA;AAEjB;;;;;GAKG;AACH,qBAAa,mBAAmB;IACnB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAtC,YAA6B,SAAS,EAAE,sBAAsB,EAAI;IAElE;;;;;OAKG;IACG,IAAI,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAK/D;IAED;;;;;;;;;;;OAWG;IACG,MAAM,CACX,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,GAAE,aAAkB,GACzB,OAAO,CAAC,UAAU,CAAC,CASrB;IAED;;;;;;;;OAQG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKjF;IAED;;;;;OAKG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAM5D;IAED;;;;;;;OAOG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKnE;IAED;;;;;;OAMG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAMhF;CACD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Edubridge Resources
|
|
3
|
+
*/
|
|
4
|
+
export { AnalyticsResource } from './analytics';
|
|
5
|
+
export { ApplicationsResource } from './applications';
|
|
6
|
+
export { EnrollmentsResource } from './enrollments';
|
|
7
|
+
export { LearningReportsResource } from './learning-reports';
|
|
8
|
+
export { SubjectTrackResource } from './subject-track';
|
|
9
|
+
export { UsersResource } from './users';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Learning Reports Resource
|
|
3
|
+
*
|
|
4
|
+
* Student learning reports and time tracking.
|
|
5
|
+
*/
|
|
6
|
+
import type { EdubridgeTransportLike, MapProfile, TimeSaved } from '../types';
|
|
7
|
+
/**
|
|
8
|
+
* Learning Reports resource for student progress data.
|
|
9
|
+
*
|
|
10
|
+
* Provides access to MAP profiles and time saved metrics.
|
|
11
|
+
*/
|
|
12
|
+
export declare class LearningReportsResource {
|
|
13
|
+
private readonly transport;
|
|
14
|
+
constructor(transport: EdubridgeTransportLike);
|
|
15
|
+
/**
|
|
16
|
+
* Get MAP profile for a user.
|
|
17
|
+
*
|
|
18
|
+
* @param userId - User ID
|
|
19
|
+
* @returns MAP profile data
|
|
20
|
+
*/
|
|
21
|
+
getMapProfile(userId: string): Promise<MapProfile>;
|
|
22
|
+
/**
|
|
23
|
+
* Get time saved metrics for a user.
|
|
24
|
+
*
|
|
25
|
+
* @param userId - User ID
|
|
26
|
+
* @returns Time saved data
|
|
27
|
+
*/
|
|
28
|
+
getTimeSaved(userId: string): Promise<TimeSaved>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=learning-reports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learning-reports.d.ts","sourceRoot":"","sources":["../../src/resources/learning-reports.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAE7E;;;;GAIG;AACH,qBAAa,uBAAuB;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAtC,YAA6B,SAAS,EAAE,sBAAsB,EAAI;IAElE;;;;;OAKG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAKvD;IAED;;;;;OAKG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAKrD;CACD"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subject Track Resource
|
|
3
|
+
*
|
|
4
|
+
* Manage subject track mappings.
|
|
5
|
+
*/
|
|
6
|
+
import type { EdubridgeTransportLike, SubjectTrack, SubjectTrackGroup, SubjectTrackInput } from '../types';
|
|
7
|
+
/**
|
|
8
|
+
* Subject Track resource for managing subject-to-course mappings.
|
|
9
|
+
*
|
|
10
|
+
* Subject tracks determine the target course for each subject and grade level.
|
|
11
|
+
* For example, for subject 'Math' grade level '9', the target course can be
|
|
12
|
+
* 'Math Academy 9th Grade'.
|
|
13
|
+
*/
|
|
14
|
+
export declare class SubjectTrackResource {
|
|
15
|
+
private readonly transport;
|
|
16
|
+
constructor(transport: EdubridgeTransportLike);
|
|
17
|
+
/**
|
|
18
|
+
* List all subject tracks.
|
|
19
|
+
*
|
|
20
|
+
* @returns List of subject tracks
|
|
21
|
+
*/
|
|
22
|
+
list(): Promise<SubjectTrack[]>;
|
|
23
|
+
/**
|
|
24
|
+
* Create or update a subject track.
|
|
25
|
+
*
|
|
26
|
+
* This is an upsert operation - if the subject track with the given id
|
|
27
|
+
* exists it will be updated, otherwise it will be created.
|
|
28
|
+
*
|
|
29
|
+
* @param data - Subject track data including id
|
|
30
|
+
* @returns The created or updated subject track
|
|
31
|
+
*/
|
|
32
|
+
upsert(data: SubjectTrackInput & {
|
|
33
|
+
id: string;
|
|
34
|
+
}): Promise<SubjectTrack>;
|
|
35
|
+
/**
|
|
36
|
+
* Delete a subject track.
|
|
37
|
+
*
|
|
38
|
+
* @param id - Subject track ID
|
|
39
|
+
*/
|
|
40
|
+
delete(id: string): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* List all subject track groups.
|
|
43
|
+
*
|
|
44
|
+
* @returns List of subject track groups
|
|
45
|
+
*/
|
|
46
|
+
listGroups(): Promise<SubjectTrackGroup[]>;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=subject-track.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subject-track.d.ts","sourceRoot":"","sources":["../../src/resources/subject-track.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACX,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,EAEjB,iBAAiB,EAGjB,MAAM,UAAU,CAAA;AAEjB;;;;;;GAMG;AACH,qBAAa,oBAAoB;IACpB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAtC,YAA6B,SAAS,EAAE,sBAAsB,EAAI;IAElE;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAKpC;IAED;;;;;;;;OAQG;IACG,MAAM,CAAC,IAAI,EAAE,iBAAiB,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAM5E;IAED;;;;OAIG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKtC;IAED;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAK/C;CACD"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Users Resource
|
|
3
|
+
*
|
|
4
|
+
* Enhanced user management beyond standard OneRoster.
|
|
5
|
+
*/
|
|
6
|
+
import type { EdubridgeTransportLike, ListUsersParams, Role, User } from '../types';
|
|
7
|
+
/**
|
|
8
|
+
* Users resource for querying users with enhanced filtering.
|
|
9
|
+
*
|
|
10
|
+
* Provides role-based filtering and search capabilities beyond
|
|
11
|
+
* the standard OneRoster API.
|
|
12
|
+
*/
|
|
13
|
+
export declare class UsersResource {
|
|
14
|
+
private readonly transport;
|
|
15
|
+
constructor(transport: EdubridgeTransportLike);
|
|
16
|
+
/**
|
|
17
|
+
* List users with filtering.
|
|
18
|
+
*
|
|
19
|
+
* Returns users who have exclusively the specified role(s) and no other roles.
|
|
20
|
+
*
|
|
21
|
+
* @param params - Query parameters including required roles filter
|
|
22
|
+
* @returns List of matching users
|
|
23
|
+
*/
|
|
24
|
+
list(params: ListUsersParams): Promise<User[]>;
|
|
25
|
+
/**
|
|
26
|
+
* List all students.
|
|
27
|
+
*
|
|
28
|
+
* Convenience method for listing users with student role.
|
|
29
|
+
*
|
|
30
|
+
* @param params - Optional query parameters
|
|
31
|
+
* @returns List of students
|
|
32
|
+
*/
|
|
33
|
+
listStudents(params?: Omit<ListUsersParams, 'roles'>): Promise<User[]>;
|
|
34
|
+
/**
|
|
35
|
+
* List all teachers.
|
|
36
|
+
*
|
|
37
|
+
* Convenience method for listing users with teacher role.
|
|
38
|
+
*
|
|
39
|
+
* @param params - Optional query parameters
|
|
40
|
+
* @returns List of teachers
|
|
41
|
+
*/
|
|
42
|
+
listTeachers(params?: Omit<ListUsersParams, 'roles'>): Promise<User[]>;
|
|
43
|
+
/**
|
|
44
|
+
* Search users by role.
|
|
45
|
+
*
|
|
46
|
+
* @param roles - Roles to filter by
|
|
47
|
+
* @param search - Search term
|
|
48
|
+
* @param limit - Maximum results
|
|
49
|
+
* @returns List of matching users
|
|
50
|
+
*/
|
|
51
|
+
search(roles: Role[], search: string, limit?: number): Promise<User[]>;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=users.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/resources/users.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAEnF;;;;;GAKG;AACH,qBAAa,aAAa;IACb,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAtC,YAA6B,SAAS,EAAE,sBAAsB,EAAI;IAElE;;;;;;;OAOG;IACG,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CA2CnD;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,MAAM,GAAE,IAAI,CAAC,eAAe,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAEzE;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,MAAM,GAAE,IAAI,CAAC,eAAe,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAEzE;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAElE;CACD"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analytics Types
|
|
3
|
+
*
|
|
4
|
+
* Types for analytics and reporting endpoints.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Activity metrics from the API.
|
|
8
|
+
*/
|
|
9
|
+
export interface ActivityMetricsData {
|
|
10
|
+
xpEarned: number;
|
|
11
|
+
totalQuestions: number;
|
|
12
|
+
correctQuestions: number;
|
|
13
|
+
masteredUnits: number;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Time spent metrics from the API.
|
|
17
|
+
*/
|
|
18
|
+
export interface TimeSpentMetricsData {
|
|
19
|
+
activeSeconds: number;
|
|
20
|
+
inactiveSeconds: number;
|
|
21
|
+
wasteSeconds: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Metrics for a specific subject on a given day.
|
|
25
|
+
*/
|
|
26
|
+
export interface SubjectMetrics {
|
|
27
|
+
activityMetrics: ActivityMetricsData;
|
|
28
|
+
timeSpentMetrics: TimeSpentMetricsData;
|
|
29
|
+
apps: string[];
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Activity data grouped by date, then by subject.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* const activity: DailyActivityMap = {
|
|
37
|
+
* "2025-12-17": {
|
|
38
|
+
* "FastMath": {
|
|
39
|
+
* activityMetrics: { xpEarned: 3.4, totalQuestions: 114, ... },
|
|
40
|
+
* timeSpentMetrics: { activeSeconds: 0, ... },
|
|
41
|
+
* apps: ["Math Raiders"]
|
|
42
|
+
* }
|
|
43
|
+
* }
|
|
44
|
+
* }
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export type DailyActivityMap = Record<string, Record<string, SubjectMetrics>>;
|
|
48
|
+
/**
|
|
49
|
+
* A single fact/event record from the weekly facts endpoint.
|
|
50
|
+
*/
|
|
51
|
+
export interface WeeklyFactRecord {
|
|
52
|
+
id: number;
|
|
53
|
+
email: string;
|
|
54
|
+
date: string;
|
|
55
|
+
datetime: string;
|
|
56
|
+
username?: string;
|
|
57
|
+
userGrade?: string;
|
|
58
|
+
userFamilyName?: string;
|
|
59
|
+
userGivenName?: string;
|
|
60
|
+
userId?: string;
|
|
61
|
+
subject?: string;
|
|
62
|
+
app?: string;
|
|
63
|
+
courseId?: string;
|
|
64
|
+
courseName?: string;
|
|
65
|
+
campusId?: string;
|
|
66
|
+
campusName?: string;
|
|
67
|
+
enrollmentId?: string;
|
|
68
|
+
activityId?: string;
|
|
69
|
+
activityName?: string;
|
|
70
|
+
totalQuestions?: number;
|
|
71
|
+
correctQuestions?: number;
|
|
72
|
+
xpEarned?: number;
|
|
73
|
+
masteredUnits?: number;
|
|
74
|
+
activeSeconds?: string;
|
|
75
|
+
inactiveSeconds?: string;
|
|
76
|
+
wasteSeconds?: string;
|
|
77
|
+
source: string;
|
|
78
|
+
alphaLevel?: string;
|
|
79
|
+
generatedAt?: string;
|
|
80
|
+
sendTime?: string;
|
|
81
|
+
sensor?: string;
|
|
82
|
+
eventType?: string;
|
|
83
|
+
year: number;
|
|
84
|
+
month: number;
|
|
85
|
+
day: number;
|
|
86
|
+
dayOfWeek: number;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Weekly facts is an array of individual fact records.
|
|
90
|
+
*/
|
|
91
|
+
export type WeeklyFacts = WeeklyFactRecord[];
|
|
92
|
+
/**
|
|
93
|
+
* Enrollment facts grouped by date, then by subject.
|
|
94
|
+
*
|
|
95
|
+
* Same structure as DailyActivityMap - the enrollment endpoint returns
|
|
96
|
+
* activity data filtered to a specific enrollment.
|
|
97
|
+
*/
|
|
98
|
+
export type EnrollmentFacts = DailyActivityMap;
|
|
99
|
+
/**
|
|
100
|
+
* Grade mastery data from various sources.
|
|
101
|
+
*/
|
|
102
|
+
export interface GradeMasteryData {
|
|
103
|
+
ritGrade: number | null;
|
|
104
|
+
edulasticGrade: string | null;
|
|
105
|
+
placementGrade: string | null;
|
|
106
|
+
testOutGrade: string | null;
|
|
107
|
+
highestGradeOverall: string | null;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Highest grade mastered for a subject.
|
|
111
|
+
*/
|
|
112
|
+
export interface HighestGradeMastered {
|
|
113
|
+
studentId: string;
|
|
114
|
+
subject: string;
|
|
115
|
+
grades: GradeMasteryData;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Response from the activity endpoint.
|
|
119
|
+
*/
|
|
120
|
+
export interface ActivityResponse {
|
|
121
|
+
message: string;
|
|
122
|
+
startDate: string;
|
|
123
|
+
endDate: string;
|
|
124
|
+
facts: DailyActivityMap;
|
|
125
|
+
factsByApp?: Record<string, Record<string, Record<string, SubjectMetrics>>>;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Response from the weekly facts endpoint.
|
|
129
|
+
*/
|
|
130
|
+
export interface WeeklyFactsResponse {
|
|
131
|
+
message: string;
|
|
132
|
+
startDate: string;
|
|
133
|
+
endDate: string;
|
|
134
|
+
facts: WeeklyFacts;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Response from the enrollment facts endpoint.
|
|
138
|
+
*/
|
|
139
|
+
export interface EnrollmentFactsResponse {
|
|
140
|
+
message: string;
|
|
141
|
+
enrollmentId: string;
|
|
142
|
+
startDate?: string;
|
|
143
|
+
endDate?: string;
|
|
144
|
+
facts: EnrollmentFacts;
|
|
145
|
+
factsByApp?: Record<string, Record<string, Record<string, SubjectMetrics>>>;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Parameters for activity query.
|
|
149
|
+
*
|
|
150
|
+
* Must provide either `email` or `studentId` to identify the user.
|
|
151
|
+
*/
|
|
152
|
+
export interface ActivityParams {
|
|
153
|
+
/** User email address */
|
|
154
|
+
email?: string;
|
|
155
|
+
/** Student sourcedId */
|
|
156
|
+
studentId?: string;
|
|
157
|
+
/** Start date (ISO format: YYYY-MM-DD or YYYY-MM-DDTHH:mm:ssZ) */
|
|
158
|
+
startDate: string;
|
|
159
|
+
/** End date (ISO format: YYYY-MM-DD or YYYY-MM-DDTHH:mm:ssZ) */
|
|
160
|
+
endDate: string;
|
|
161
|
+
/** IANA timezone for date calculations (e.g., America/New_York) */
|
|
162
|
+
timezone?: string;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Parameters for weekly facts query.
|
|
166
|
+
*
|
|
167
|
+
* Must provide either `email` or `studentId` to identify the user.
|
|
168
|
+
*/
|
|
169
|
+
export interface WeeklyFactsParams {
|
|
170
|
+
/** User email address */
|
|
171
|
+
email?: string;
|
|
172
|
+
/** Student sourcedId */
|
|
173
|
+
studentId?: string;
|
|
174
|
+
/** Week date (ISO format) - required, determines which week to query */
|
|
175
|
+
weekDate: string;
|
|
176
|
+
/** IANA timezone for date calculations (e.g., America/New_York) */
|
|
177
|
+
timezone?: string;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Parameters for enrollment facts query.
|
|
181
|
+
*/
|
|
182
|
+
export interface EnrollmentFactsParams {
|
|
183
|
+
/** Enrollment ID */
|
|
184
|
+
enrollmentId: string;
|
|
185
|
+
/** Start date filter (ISO format) */
|
|
186
|
+
startDate?: string;
|
|
187
|
+
/** End date filter (ISO format) */
|
|
188
|
+
endDate?: string;
|
|
189
|
+
/** Timezone for date calculations */
|
|
190
|
+
timezone?: string;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Aggregated metrics across all dates and subjects.
|
|
194
|
+
*
|
|
195
|
+
* Use `aggregateActivityMetrics()` to compute this from a DailyActivityMap.
|
|
196
|
+
*/
|
|
197
|
+
export interface AggregatedMetrics {
|
|
198
|
+
totalXp: number;
|
|
199
|
+
totalQuestions: number;
|
|
200
|
+
correctQuestions: number;
|
|
201
|
+
masteredUnits: number;
|
|
202
|
+
activeSeconds: number;
|
|
203
|
+
inactiveSeconds: number;
|
|
204
|
+
wasteSeconds: number;
|
|
205
|
+
dayCount: number;
|
|
206
|
+
subjectCount: number;
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=analytics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/types/analytics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Application Types
|
|
3
|
+
*
|
|
4
|
+
* Types for application management.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* An application/learning platform.
|
|
8
|
+
*/
|
|
9
|
+
export interface Application {
|
|
10
|
+
sourcedId: string;
|
|
11
|
+
name: string;
|
|
12
|
+
description?: string | null;
|
|
13
|
+
domain: string[];
|
|
14
|
+
metadata?: Record<string, unknown> | null;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Metrics for an application.
|
|
18
|
+
*/
|
|
19
|
+
export interface ApplicationMetrics {
|
|
20
|
+
applicationSourcedId: string;
|
|
21
|
+
totalUsers?: number;
|
|
22
|
+
activeUsers?: number;
|
|
23
|
+
totalSessions?: number;
|
|
24
|
+
avgSessionDuration?: number;
|
|
25
|
+
metadata?: Record<string, unknown>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=applications.d.ts.map
|