@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.
Files changed (57) hide show
  1. package/README.md +220 -0
  2. package/dist/client.d.ts +70 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/constants.d.ts +25 -0
  5. package/dist/constants.d.ts.map +1 -0
  6. package/dist/errors.d.ts +9 -0
  7. package/dist/errors.d.ts.map +1 -0
  8. package/dist/errors.js +1217 -0
  9. package/dist/factory.d.ts +46 -0
  10. package/dist/factory.d.ts.map +1 -0
  11. package/dist/index.d.ts +43 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +1566 -0
  14. package/dist/lib/index.d.ts +9 -0
  15. package/dist/lib/index.d.ts.map +1 -0
  16. package/dist/lib/resolve.d.ts +21 -0
  17. package/dist/lib/resolve.d.ts.map +1 -0
  18. package/dist/lib/transport.d.ts +49 -0
  19. package/dist/lib/transport.d.ts.map +1 -0
  20. package/dist/resources/analytics.d.ts +56 -0
  21. package/dist/resources/analytics.d.ts.map +1 -0
  22. package/dist/resources/applications.d.ts +30 -0
  23. package/dist/resources/applications.d.ts.map +1 -0
  24. package/dist/resources/enrollments.d.ts +71 -0
  25. package/dist/resources/enrollments.d.ts.map +1 -0
  26. package/dist/resources/index.d.ts +10 -0
  27. package/dist/resources/index.d.ts.map +1 -0
  28. package/dist/resources/learning-reports.d.ts +30 -0
  29. package/dist/resources/learning-reports.d.ts.map +1 -0
  30. package/dist/resources/subject-track.d.ts +48 -0
  31. package/dist/resources/subject-track.d.ts.map +1 -0
  32. package/dist/resources/users.d.ts +53 -0
  33. package/dist/resources/users.d.ts.map +1 -0
  34. package/dist/types/analytics.d.ts +208 -0
  35. package/dist/types/analytics.d.ts.map +1 -0
  36. package/dist/types/applications.d.ts +27 -0
  37. package/dist/types/applications.d.ts.map +1 -0
  38. package/dist/types/base.d.ts +38 -0
  39. package/dist/types/base.d.ts.map +1 -0
  40. package/dist/types/client.d.ts +52 -0
  41. package/dist/types/client.d.ts.map +1 -0
  42. package/dist/types/enrollments.d.ts +113 -0
  43. package/dist/types/enrollments.d.ts.map +1 -0
  44. package/dist/types/index.d.ts +14 -0
  45. package/dist/types/index.d.ts.map +1 -0
  46. package/dist/types/learning-reports.d.ts +27 -0
  47. package/dist/types/learning-reports.d.ts.map +1 -0
  48. package/dist/types/subject-track.d.ts +54 -0
  49. package/dist/types/subject-track.d.ts.map +1 -0
  50. package/dist/types/users.d.ts +107 -0
  51. package/dist/types/users.d.ts.map +1 -0
  52. package/dist/types.d.ts +10 -0
  53. package/dist/types.d.ts.map +1 -0
  54. package/dist/types.js +0 -0
  55. package/dist/utils.d.ts +64 -0
  56. package/dist/utils.d.ts.map +1 -0
  57. package/package.json +40 -0
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Edubridge Client Factory
3
+ *
4
+ * Creates EdubridgeClient classes bound to specific provider registries.
5
+ */
6
+ import { AnalyticsResource, ApplicationsResource, EnrollmentsResource, LearningReportsResource, SubjectTrackResource, UsersResource } from './resources';
7
+ import type { AuthCheckResult, ProviderRegistry, TimebackProvider } from '@timeback/internal-client-infra';
8
+ import type { EdubridgeClientConfig, EdubridgeTransportLike } from './types';
9
+ /**
10
+ * Create an EdubridgeClient class bound to a specific provider registry.
11
+ *
12
+ * @param registry - Provider registry to use (defaults to all Timeback platforms)
13
+ * @returns EdubridgeClient class bound to the registry
14
+ */
15
+ export declare function createEdubridgeClient(registry?: ProviderRegistry): {
16
+ new (config?: EdubridgeClientConfig): {
17
+ /** @internal */
18
+ readonly transport: EdubridgeTransportLike;
19
+ /** @internal */
20
+ readonly _provider?: TimebackProvider | undefined;
21
+ /** Query and manage student enrollments in courses, programs, and learning paths */
22
+ readonly enrollments: EnrollmentsResource;
23
+ /** Query and manage user accounts and profiles in the learning platform */
24
+ readonly users: UsersResource;
25
+ /** Access learning analytics including engagement metrics and progress tracking */
26
+ readonly analytics: AnalyticsResource;
27
+ /** Query and manage student applications and admission workflows */
28
+ readonly applications: ApplicationsResource;
29
+ /** Query and manage subject tracks defining structured learning paths and curricula */
30
+ readonly subjectTracks: SubjectTrackResource;
31
+ /** Access detailed learning progress reports and completion status */
32
+ readonly learningReports: LearningReportsResource;
33
+ /**
34
+ * Get the underlying transport for advanced use cases.
35
+ * @returns The transport instance used by this client
36
+ */
37
+ getTransport(): EdubridgeTransportLike;
38
+ /**
39
+ * Verify that OAuth authentication is working.
40
+ * @returns Auth check result
41
+ * @throws {Error} If client was initialized with custom transport (no provider)
42
+ */
43
+ checkAuth(): Promise<AuthCheckResult>;
44
+ };
45
+ };
46
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EACN,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,aAAa,EACb,MAAM,aAAa,CAAA;AAGpB,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAC1G,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAE5E;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,GAAE,gBAA4C;;QAQ1F,gBAAgB;;QAGhB,gBAAgB;;QAGhB,oFAAoF;;QAEpF,2EAA2E;;QAE3E,mFAAmF;;QAEnF,oEAAoE;;QAEpE,uFAAuF;;QAEvF,sEAAsE;;QA8CtE;;;WAGG;;QAKH;;;;WAIG;;;EASJ"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Edubridge API client SDK for Timeback.
3
+ *
4
+ * @example Environment mode (Timeback APIs)
5
+ * ```typescript
6
+ * import { EdubridgeClient } from '@timeback/edubridge'
7
+ *
8
+ * const client = new EdubridgeClient({
9
+ * env: 'staging',
10
+ * auth: {
11
+ * clientId: 'your-client-id',
12
+ * clientSecret: 'your-client-secret',
13
+ * },
14
+ * })
15
+ *
16
+ * // Enroll a user in a course
17
+ * const enrollment = await client.enrollments.enroll(userId, courseId)
18
+ *
19
+ * // Get user's enrollments
20
+ * const enrollments = await client.enrollments.list({ userId })
21
+ * ```
22
+ *
23
+ * @example Explicit mode (custom API)
24
+ * ```typescript
25
+ * const client = new EdubridgeClient({
26
+ * baseUrl: 'https://api.example.com',
27
+ * auth: {
28
+ * clientId: 'your-client-id',
29
+ * clientSecret: 'your-client-secret',
30
+ * authUrl: 'https://auth.example.com/oauth2/token',
31
+ * },
32
+ * })
33
+ * ```
34
+ */
35
+ export { EdubridgeClient, type EdubridgeClientInstance } from './client';
36
+ export { createEdubridgeClient } from './factory';
37
+ export type { EdubridgeClientConfig } from './types/client';
38
+ export type { Environment, EnvAuth, ExplicitAuth } from './types/client';
39
+ export type { AuthCheckResult, ListParams, PageResult } from '@timeback/internal-client-infra';
40
+ export type { ActivityMetricsData, ActivityParams, AggregatedMetrics, DailyActivityMap, EnrollmentFacts, EnrollmentFactsParams, GradeMasteryData, HighestGradeMastered, SubjectMetrics, TimeSpentMetricsData, WeeklyFactRecord, WeeklyFacts, WeeklyFactsParams, } from './types/analytics';
41
+ export { aggregateActivityMetrics } from './utils';
42
+ export { Transport } from './lib';
43
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAMH,OAAO,EAAE,eAAe,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAA;AACxE,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,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAE9F,YAAY,EACX,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,iBAAiB,GACjB,MAAM,mBAAmB,CAAA;AAM1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAMlD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA"}