timeback 0.1.3 → 0.1.4

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 (131) hide show
  1. package/README.md +34 -559
  2. package/dist/cli/src/config.d.ts +8 -0
  3. package/dist/cli.js +111089 -0
  4. package/dist/types/src/config.d.ts +106 -0
  5. package/dist/types/src/index.d.ts +5 -0
  6. package/dist/types/src/primitives.d.ts +53 -0
  7. package/package.json +27 -91
  8. package/schema.json +222 -0
  9. package/dist/client/adapters/react/SignInButton.d.ts +0 -60
  10. package/dist/client/adapters/react/SignInButton.d.ts.map +0 -1
  11. package/dist/client/adapters/react/index.d.ts +0 -43
  12. package/dist/client/adapters/react/index.d.ts.map +0 -1
  13. package/dist/client/adapters/react/index.js +0 -478
  14. package/dist/client/adapters/react/provider.d.ts +0 -74
  15. package/dist/client/adapters/react/provider.d.ts.map +0 -1
  16. package/dist/client/adapters/solid/SignInButton.d.ts +0 -52
  17. package/dist/client/adapters/solid/SignInButton.d.ts.map +0 -1
  18. package/dist/client/adapters/solid/SignInButton.tsx +0 -321
  19. package/dist/client/adapters/solid/context.d.ts +0 -73
  20. package/dist/client/adapters/solid/context.d.ts.map +0 -1
  21. package/dist/client/adapters/solid/context.tsx +0 -91
  22. package/dist/client/adapters/solid/index.d.ts +0 -42
  23. package/dist/client/adapters/solid/index.d.ts.map +0 -1
  24. package/dist/client/adapters/solid/index.ts +0 -46
  25. package/dist/client/adapters/svelte/SignInButton.svelte +0 -234
  26. package/dist/client/adapters/svelte/SignInButton.svelte.d.ts +0 -24
  27. package/dist/client/adapters/svelte/index.d.ts +0 -33
  28. package/dist/client/adapters/svelte/index.d.ts.map +0 -1
  29. package/dist/client/adapters/svelte/index.ts +0 -38
  30. package/dist/client/adapters/svelte/stores.d.ts +0 -62
  31. package/dist/client/adapters/svelte/stores.d.ts.map +0 -1
  32. package/dist/client/adapters/svelte/stores.ts +0 -139
  33. package/dist/client/adapters/vue/SignInButton.vue +0 -260
  34. package/dist/client/adapters/vue/SignInButton.vue.d.ts +0 -53
  35. package/dist/client/adapters/vue/index.d.ts +0 -43
  36. package/dist/client/adapters/vue/index.d.ts.map +0 -1
  37. package/dist/client/adapters/vue/index.ts +0 -48
  38. package/dist/client/adapters/vue/provider.d.ts +0 -94
  39. package/dist/client/adapters/vue/provider.d.ts.map +0 -1
  40. package/dist/client/adapters/vue/provider.ts +0 -147
  41. package/dist/client/index.d.ts +0 -9
  42. package/dist/client/index.d.ts.map +0 -1
  43. package/dist/client/lib/activity/activity.class.d.ts +0 -73
  44. package/dist/client/lib/activity/activity.class.d.ts.map +0 -1
  45. package/dist/client/lib/activity/activity.d.ts +0 -16
  46. package/dist/client/lib/activity/activity.d.ts.map +0 -1
  47. package/dist/client/lib/activity/index.d.ts +0 -6
  48. package/dist/client/lib/activity/index.d.ts.map +0 -1
  49. package/dist/client/lib/utils.d.ts +0 -20
  50. package/dist/client/lib/utils.d.ts.map +0 -1
  51. package/dist/client/namespaces/activity.d.ts +0 -37
  52. package/dist/client/namespaces/activity.d.ts.map +0 -1
  53. package/dist/client/namespaces/auth.d.ts +0 -33
  54. package/dist/client/namespaces/auth.d.ts.map +0 -1
  55. package/dist/client/namespaces/index.d.ts +0 -7
  56. package/dist/client/namespaces/index.d.ts.map +0 -1
  57. package/dist/client/namespaces/user.d.ts +0 -29
  58. package/dist/client/namespaces/user.d.ts.map +0 -1
  59. package/dist/client/timeback-client.class.d.ts +0 -37
  60. package/dist/client/timeback-client.class.d.ts.map +0 -1
  61. package/dist/client/timeback-client.d.ts +0 -29
  62. package/dist/client/timeback-client.d.ts.map +0 -1
  63. package/dist/client.d.ts +0 -30
  64. package/dist/client.d.ts.map +0 -1
  65. package/dist/client.js +0 -198
  66. package/dist/edge.d.ts +0 -13
  67. package/dist/edge.d.ts.map +0 -1
  68. package/dist/edge.js +0 -1149
  69. package/dist/identity.d.ts +0 -14
  70. package/dist/identity.d.ts.map +0 -1
  71. package/dist/identity.js +0 -1019
  72. package/dist/index.d.ts +0 -48
  73. package/dist/index.d.ts.map +0 -1
  74. package/dist/index.js +0 -10221
  75. package/dist/server/adapters/express.d.ts +0 -66
  76. package/dist/server/adapters/express.d.ts.map +0 -1
  77. package/dist/server/adapters/express.js +0 -9326
  78. package/dist/server/adapters/native.d.ts +0 -47
  79. package/dist/server/adapters/native.d.ts.map +0 -1
  80. package/dist/server/adapters/native.js +0 -190
  81. package/dist/server/adapters/nextjs.d.ts +0 -32
  82. package/dist/server/adapters/nextjs.d.ts.map +0 -1
  83. package/dist/server/adapters/nextjs.js +0 -202
  84. package/dist/server/adapters/nuxt.d.ts +0 -98
  85. package/dist/server/adapters/nuxt.d.ts.map +0 -1
  86. package/dist/server/adapters/nuxt.js +0 -9395
  87. package/dist/server/adapters/solid-start.d.ts +0 -63
  88. package/dist/server/adapters/solid-start.d.ts.map +0 -1
  89. package/dist/server/adapters/solid-start.js +0 -9294
  90. package/dist/server/adapters/svelte-kit.d.ts +0 -84
  91. package/dist/server/adapters/svelte-kit.d.ts.map +0 -1
  92. package/dist/server/adapters/svelte-kit.js +0 -243
  93. package/dist/server/adapters/tanstack-start.d.ts +0 -42
  94. package/dist/server/adapters/tanstack-start.d.ts.map +0 -1
  95. package/dist/server/adapters/tanstack-start.js +0 -9272
  96. package/dist/server/adapters/types.d.ts +0 -294
  97. package/dist/server/adapters/types.d.ts.map +0 -1
  98. package/dist/server/adapters/utils.d.ts +0 -76
  99. package/dist/server/adapters/utils.d.ts.map +0 -1
  100. package/dist/server/handlers/activity.d.ts +0 -28
  101. package/dist/server/handlers/activity.d.ts.map +0 -1
  102. package/dist/server/handlers/identity-full.d.ts +0 -28
  103. package/dist/server/handlers/identity-full.d.ts.map +0 -1
  104. package/dist/server/handlers/identity-only.d.ts +0 -22
  105. package/dist/server/handlers/identity-only.d.ts.map +0 -1
  106. package/dist/server/handlers/index.d.ts +0 -9
  107. package/dist/server/handlers/index.d.ts.map +0 -1
  108. package/dist/server/handlers/user.d.ts +0 -30
  109. package/dist/server/handlers/user.d.ts.map +0 -1
  110. package/dist/server/index.d.ts +0 -9
  111. package/dist/server/index.d.ts.map +0 -1
  112. package/dist/server/lib/index.d.ts +0 -10
  113. package/dist/server/lib/index.d.ts.map +0 -1
  114. package/dist/server/lib/logger.d.ts +0 -21
  115. package/dist/server/lib/logger.d.ts.map +0 -1
  116. package/dist/server/lib/oidc.d.ts +0 -76
  117. package/dist/server/lib/oidc.d.ts.map +0 -1
  118. package/dist/server/lib/resolve-timeback-user.d.ts +0 -42
  119. package/dist/server/lib/resolve-timeback-user.d.ts.map +0 -1
  120. package/dist/server/lib/utils.d.ts +0 -54
  121. package/dist/server/lib/utils.d.ts.map +0 -1
  122. package/dist/server/timeback-identity.d.ts +0 -19
  123. package/dist/server/timeback-identity.d.ts.map +0 -1
  124. package/dist/server/timeback.d.ts +0 -68
  125. package/dist/server/timeback.d.ts.map +0 -1
  126. package/dist/server/types.d.ts +0 -402
  127. package/dist/server/types.d.ts.map +0 -1
  128. package/dist/shared/constants.d.ts +0 -18
  129. package/dist/shared/constants.d.ts.map +0 -1
  130. package/dist/shared/types.d.ts +0 -144
  131. package/dist/shared/types.d.ts.map +0 -1
@@ -1,144 +0,0 @@
1
- /**
2
- * Shared Types
3
- *
4
- * Types shared between client and server.
5
- */
6
- /**
7
- * User identity returned from SSO.
8
- */
9
- export interface TimebackIdentity {
10
- id: string;
11
- email: string;
12
- name?: string;
13
- }
14
- /**
15
- * Timeback user profile with enriched data from the Timeback API.
16
- */
17
- export interface TimebackProfile {
18
- /** Timeback user ID */
19
- id: string;
20
- /** User's email address */
21
- email: string;
22
- /** User's display name */
23
- name?: string;
24
- /** School information */
25
- school?: {
26
- id: string;
27
- name: string;
28
- };
29
- /** Grade level */
30
- grade?: number;
31
- /** XP earned on this app */
32
- xp?: number;
33
- /** Enrolled courses */
34
- courses?: Array<{
35
- id: string;
36
- code: string;
37
- name: string;
38
- }>;
39
- /** Goals and progress */
40
- goals?: {
41
- dailyXp?: number;
42
- dailyLessons?: number;
43
- dailyActiveMinutes?: number;
44
- };
45
- }
46
- /**
47
- * Recommended minimal user payload to persist in a session.
48
- *
49
- * **User-facing note:** this type is part of the SDK’s developer experience.
50
- * It exists to give you a “safe default” session shape that works well for
51
- * cookie-based sessions (small payload) while still carrying enough Timeback
52
- * context to power common UI affordances (e.g. showing a school name or grade).
53
- *
54
- * **What it is:** a minimal, serializable subset of `TimebackProfile`.
55
- * **What it isn’t:** a guarantee that you’ll always have the full Timeback
56
- * profile (courses, goals, xp, etc.) in-session. If you need richer data, fetch
57
- * it from the API (e.g. `timeback.user.fetch()`) and cache/store it according
58
- * to your app’s needs.
59
- *
60
- * **Stability:** this is still early and we’re actively iterating on identity
61
- * and session ergonomics. We may rename, restructure, or remove this type from
62
- * the public surface as the SDK evolves.
63
- */
64
- export type TimebackSessionUser = Pick<TimebackProfile, 'id' | 'email' | 'name' | 'school' | 'grade'>;
65
- /**
66
- * Claims from the identity provider (IdP).
67
- *
68
- * Normalized subset of OIDC UserInfo claims.
69
- */
70
- export interface IdentityClaims {
71
- /** Subject identifier (unique user ID from IdP) */
72
- sub: string;
73
- /** User's email address */
74
- email: string;
75
- /** User's first/given name */
76
- firstName?: string;
77
- /** User's last/family name */
78
- lastName?: string;
79
- /** User's profile picture URL */
80
- pictureUrl?: string;
81
- }
82
- /**
83
- * Authenticated user with Timeback profile and IdP claims.
84
- *
85
- * This is the primary user object returned during SSO callback when using
86
- * `createTimeback()`. The `id` field is the canonical `timebackId` (stable identifier).
87
- */
88
- export interface TimebackAuthUser extends TimebackProfile {
89
- /** IdP claims (raw identity provider data) */
90
- claims: IdentityClaims;
91
- }
92
- /**
93
- * Activity start parameters.
94
- */
95
- export interface ActivityParams {
96
- /** Unique identifier for the learning object */
97
- id: string;
98
- /** Display name of the activity */
99
- name: string;
100
- /** Course code from timeback.config.ts (e.g., 'FASTMATH-1') */
101
- courseCode: string;
102
- }
103
- /**
104
- * Activity metrics (optional performance data).
105
- */
106
- export interface ActivityMetrics {
107
- /** Total questions attempted */
108
- totalQuestions?: number;
109
- /** Number of correct answers */
110
- correctQuestions?: number;
111
- /** XP earned from this activity */
112
- xpEarned?: number;
113
- /** Number of units mastered */
114
- masteredUnits?: number;
115
- }
116
- /**
117
- * Activity state sent to the server when ending.
118
- */
119
- export interface ActivityEndPayload {
120
- /** Unique identifier for the learning object */
121
- id: string;
122
- /** Display name of the activity */
123
- name: string;
124
- /** Course code from timeback.config.ts */
125
- courseCode: string;
126
- /** ISO 8601 timestamp when activity started */
127
- startedAt: string;
128
- /** ISO 8601 timestamp when activity ended */
129
- endedAt: string;
130
- /** Active time in milliseconds (excluding paused time) */
131
- elapsedMs: number;
132
- /** Total paused time in milliseconds */
133
- pausedMs: number;
134
- /** Activity metrics */
135
- metrics: ActivityMetrics;
136
- }
137
- /**
138
- * Activity submission response.
139
- */
140
- export interface ActivityResponse {
141
- success: boolean;
142
- error?: string;
143
- }
144
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}