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.
- package/README.md +34 -559
- package/dist/cli/src/config.d.ts +8 -0
- package/dist/cli.js +111089 -0
- package/dist/types/src/config.d.ts +106 -0
- package/dist/types/src/index.d.ts +5 -0
- package/dist/types/src/primitives.d.ts +53 -0
- package/package.json +27 -91
- package/schema.json +222 -0
- package/dist/client/adapters/react/SignInButton.d.ts +0 -60
- package/dist/client/adapters/react/SignInButton.d.ts.map +0 -1
- package/dist/client/adapters/react/index.d.ts +0 -43
- package/dist/client/adapters/react/index.d.ts.map +0 -1
- package/dist/client/adapters/react/index.js +0 -478
- package/dist/client/adapters/react/provider.d.ts +0 -74
- package/dist/client/adapters/react/provider.d.ts.map +0 -1
- package/dist/client/adapters/solid/SignInButton.d.ts +0 -52
- package/dist/client/adapters/solid/SignInButton.d.ts.map +0 -1
- package/dist/client/adapters/solid/SignInButton.tsx +0 -321
- package/dist/client/adapters/solid/context.d.ts +0 -73
- package/dist/client/adapters/solid/context.d.ts.map +0 -1
- package/dist/client/adapters/solid/context.tsx +0 -91
- package/dist/client/adapters/solid/index.d.ts +0 -42
- package/dist/client/adapters/solid/index.d.ts.map +0 -1
- package/dist/client/adapters/solid/index.ts +0 -46
- package/dist/client/adapters/svelte/SignInButton.svelte +0 -234
- package/dist/client/adapters/svelte/SignInButton.svelte.d.ts +0 -24
- package/dist/client/adapters/svelte/index.d.ts +0 -33
- package/dist/client/adapters/svelte/index.d.ts.map +0 -1
- package/dist/client/adapters/svelte/index.ts +0 -38
- package/dist/client/adapters/svelte/stores.d.ts +0 -62
- package/dist/client/adapters/svelte/stores.d.ts.map +0 -1
- package/dist/client/adapters/svelte/stores.ts +0 -139
- package/dist/client/adapters/vue/SignInButton.vue +0 -260
- package/dist/client/adapters/vue/SignInButton.vue.d.ts +0 -53
- package/dist/client/adapters/vue/index.d.ts +0 -43
- package/dist/client/adapters/vue/index.d.ts.map +0 -1
- package/dist/client/adapters/vue/index.ts +0 -48
- package/dist/client/adapters/vue/provider.d.ts +0 -94
- package/dist/client/adapters/vue/provider.d.ts.map +0 -1
- package/dist/client/adapters/vue/provider.ts +0 -147
- package/dist/client/index.d.ts +0 -9
- package/dist/client/index.d.ts.map +0 -1
- package/dist/client/lib/activity/activity.class.d.ts +0 -73
- package/dist/client/lib/activity/activity.class.d.ts.map +0 -1
- package/dist/client/lib/activity/activity.d.ts +0 -16
- package/dist/client/lib/activity/activity.d.ts.map +0 -1
- package/dist/client/lib/activity/index.d.ts +0 -6
- package/dist/client/lib/activity/index.d.ts.map +0 -1
- package/dist/client/lib/utils.d.ts +0 -20
- package/dist/client/lib/utils.d.ts.map +0 -1
- package/dist/client/namespaces/activity.d.ts +0 -37
- package/dist/client/namespaces/activity.d.ts.map +0 -1
- package/dist/client/namespaces/auth.d.ts +0 -33
- package/dist/client/namespaces/auth.d.ts.map +0 -1
- package/dist/client/namespaces/index.d.ts +0 -7
- package/dist/client/namespaces/index.d.ts.map +0 -1
- package/dist/client/namespaces/user.d.ts +0 -29
- package/dist/client/namespaces/user.d.ts.map +0 -1
- package/dist/client/timeback-client.class.d.ts +0 -37
- package/dist/client/timeback-client.class.d.ts.map +0 -1
- package/dist/client/timeback-client.d.ts +0 -29
- package/dist/client/timeback-client.d.ts.map +0 -1
- package/dist/client.d.ts +0 -30
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -198
- package/dist/edge.d.ts +0 -13
- package/dist/edge.d.ts.map +0 -1
- package/dist/edge.js +0 -1149
- package/dist/identity.d.ts +0 -14
- package/dist/identity.d.ts.map +0 -1
- package/dist/identity.js +0 -1019
- package/dist/index.d.ts +0 -48
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -10221
- package/dist/server/adapters/express.d.ts +0 -66
- package/dist/server/adapters/express.d.ts.map +0 -1
- package/dist/server/adapters/express.js +0 -9326
- package/dist/server/adapters/native.d.ts +0 -47
- package/dist/server/adapters/native.d.ts.map +0 -1
- package/dist/server/adapters/native.js +0 -190
- package/dist/server/adapters/nextjs.d.ts +0 -32
- package/dist/server/adapters/nextjs.d.ts.map +0 -1
- package/dist/server/adapters/nextjs.js +0 -202
- package/dist/server/adapters/nuxt.d.ts +0 -98
- package/dist/server/adapters/nuxt.d.ts.map +0 -1
- package/dist/server/adapters/nuxt.js +0 -9395
- package/dist/server/adapters/solid-start.d.ts +0 -63
- package/dist/server/adapters/solid-start.d.ts.map +0 -1
- package/dist/server/adapters/solid-start.js +0 -9294
- package/dist/server/adapters/svelte-kit.d.ts +0 -84
- package/dist/server/adapters/svelte-kit.d.ts.map +0 -1
- package/dist/server/adapters/svelte-kit.js +0 -243
- package/dist/server/adapters/tanstack-start.d.ts +0 -42
- package/dist/server/adapters/tanstack-start.d.ts.map +0 -1
- package/dist/server/adapters/tanstack-start.js +0 -9272
- package/dist/server/adapters/types.d.ts +0 -294
- package/dist/server/adapters/types.d.ts.map +0 -1
- package/dist/server/adapters/utils.d.ts +0 -76
- package/dist/server/adapters/utils.d.ts.map +0 -1
- package/dist/server/handlers/activity.d.ts +0 -28
- package/dist/server/handlers/activity.d.ts.map +0 -1
- package/dist/server/handlers/identity-full.d.ts +0 -28
- package/dist/server/handlers/identity-full.d.ts.map +0 -1
- package/dist/server/handlers/identity-only.d.ts +0 -22
- package/dist/server/handlers/identity-only.d.ts.map +0 -1
- package/dist/server/handlers/index.d.ts +0 -9
- package/dist/server/handlers/index.d.ts.map +0 -1
- package/dist/server/handlers/user.d.ts +0 -30
- package/dist/server/handlers/user.d.ts.map +0 -1
- package/dist/server/index.d.ts +0 -9
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/lib/index.d.ts +0 -10
- package/dist/server/lib/index.d.ts.map +0 -1
- package/dist/server/lib/logger.d.ts +0 -21
- package/dist/server/lib/logger.d.ts.map +0 -1
- package/dist/server/lib/oidc.d.ts +0 -76
- package/dist/server/lib/oidc.d.ts.map +0 -1
- package/dist/server/lib/resolve-timeback-user.d.ts +0 -42
- package/dist/server/lib/resolve-timeback-user.d.ts.map +0 -1
- package/dist/server/lib/utils.d.ts +0 -54
- package/dist/server/lib/utils.d.ts.map +0 -1
- package/dist/server/timeback-identity.d.ts +0 -19
- package/dist/server/timeback-identity.d.ts.map +0 -1
- package/dist/server/timeback.d.ts +0 -68
- package/dist/server/timeback.d.ts.map +0 -1
- package/dist/server/types.d.ts +0 -402
- package/dist/server/types.d.ts.map +0 -1
- package/dist/shared/constants.d.ts +0 -18
- package/dist/shared/constants.d.ts.map +0 -1
- package/dist/shared/types.d.ts +0 -144
- package/dist/shared/types.d.ts.map +0 -1
package/dist/shared/types.d.ts
DELETED
|
@@ -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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"}
|