@timeback/sdk 0.1.5 → 0.1.7
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 +21 -22
- package/dist/client/adapters/react/hooks/types.d.ts +15 -0
- package/dist/client/adapters/react/hooks/types.d.ts.map +1 -0
- package/dist/client/adapters/react/hooks/useTimebackVerification.d.ts +18 -0
- package/dist/client/adapters/react/hooks/useTimebackVerification.d.ts.map +1 -0
- package/dist/client/adapters/react/index.d.ts +2 -0
- package/dist/client/adapters/react/index.d.ts.map +1 -1
- package/dist/client/adapters/react/index.js +139 -9
- package/dist/client/auth/bearer.d.ts +17 -0
- package/dist/client/auth/bearer.d.ts.map +1 -0
- package/dist/client/auth/index.d.ts +3 -0
- package/dist/client/auth/index.d.ts.map +1 -0
- package/dist/client/auth/types.d.ts +39 -0
- package/dist/client/auth/types.d.ts.map +1 -0
- package/dist/client/index.d.ts +2 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/lib/fetch.d.ts +19 -0
- package/dist/client/lib/fetch.d.ts.map +1 -0
- package/dist/client/namespaces/user.d.ts +25 -2
- package/dist/client/namespaces/user.d.ts.map +1 -1
- package/dist/client/timeback-client.class.d.ts +15 -0
- package/dist/client/timeback-client.class.d.ts.map +1 -1
- package/dist/client/timeback-client.d.ts +3 -0
- package/dist/client/timeback-client.d.ts.map +1 -1
- package/dist/client.d.ts +2 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +69 -6
- package/dist/edge.d.ts +1 -1
- package/dist/edge.js +85291 -169
- package/dist/identity.js +85186 -74
- package/dist/index.js +1289 -840
- package/dist/server/adapters/express.d.ts.map +1 -1
- package/dist/server/adapters/express.js +489 -388
- package/dist/server/adapters/native.d.ts.map +1 -1
- package/dist/server/adapters/native.js +32 -1
- package/dist/server/adapters/nextjs.js +32 -1
- package/dist/server/adapters/nuxt.d.ts.map +1 -1
- package/dist/server/adapters/nuxt.js +493 -388
- package/dist/server/adapters/solid-start.d.ts.map +1 -1
- package/dist/server/adapters/solid-start.js +493 -388
- package/dist/server/adapters/svelte-kit.d.ts.map +1 -1
- package/dist/server/adapters/svelte-kit.js +37 -1
- package/dist/server/adapters/tanstack-start.d.ts.map +1 -1
- package/dist/server/adapters/tanstack-start.js +488 -388
- package/dist/server/adapters/utils.d.ts +1 -1
- package/dist/server/adapters/utils.d.ts.map +1 -1
- package/dist/server/{lib/build-activity-events.d.ts → handlers/activity/caliper.d.ts} +29 -4
- package/dist/server/handlers/activity/caliper.d.ts.map +1 -0
- package/dist/server/handlers/activity/gradebook.d.ts +56 -0
- package/dist/server/handlers/activity/gradebook.d.ts.map +1 -0
- package/dist/server/handlers/activity/handler.d.ts +15 -0
- package/dist/server/handlers/activity/handler.d.ts.map +1 -0
- package/dist/server/handlers/activity/index.d.ts +9 -0
- package/dist/server/handlers/activity/index.d.ts.map +1 -0
- package/dist/server/handlers/activity/resolve.d.ts +39 -0
- package/dist/server/handlers/activity/resolve.d.ts.map +1 -0
- package/dist/server/handlers/activity/schema.d.ts +52 -0
- package/dist/server/handlers/activity/schema.d.ts.map +1 -0
- package/dist/server/handlers/activity/types.d.ts +52 -0
- package/dist/server/handlers/activity/types.d.ts.map +1 -0
- package/dist/server/handlers/identity/handler.d.ts +14 -0
- package/dist/server/handlers/identity/handler.d.ts.map +1 -0
- package/dist/server/handlers/identity/index.d.ts +8 -0
- package/dist/server/handlers/identity/index.d.ts.map +1 -0
- package/dist/server/handlers/identity/oidc.d.ts +43 -0
- package/dist/server/handlers/identity/oidc.d.ts.map +1 -0
- package/dist/server/handlers/identity/types.d.ts +24 -0
- package/dist/server/handlers/identity/types.d.ts.map +1 -0
- package/dist/server/handlers/identity-only/handler.d.ts +15 -0
- package/dist/server/handlers/identity-only/handler.d.ts.map +1 -0
- package/dist/server/handlers/identity-only/index.d.ts +8 -0
- package/dist/server/handlers/identity-only/index.d.ts.map +1 -0
- package/dist/server/handlers/identity-only/oidc.d.ts +26 -0
- package/dist/server/handlers/identity-only/oidc.d.ts.map +1 -0
- package/dist/server/handlers/identity-only/types.d.ts +19 -0
- package/dist/server/handlers/identity-only/types.d.ts.map +1 -0
- package/dist/server/handlers/index.d.ts +5 -2
- package/dist/server/handlers/index.d.ts.map +1 -1
- package/dist/server/{lib/build-user-profile.d.ts → handlers/user/enrollments.d.ts} +7 -2
- package/dist/server/handlers/user/enrollments.d.ts.map +1 -0
- package/dist/server/handlers/user/handler.d.ts +17 -0
- package/dist/server/handlers/user/handler.d.ts.map +1 -0
- package/dist/server/handlers/user/index.d.ts +10 -0
- package/dist/server/handlers/user/index.d.ts.map +1 -0
- package/dist/server/handlers/user/profile.d.ts +22 -0
- package/dist/server/handlers/user/profile.d.ts.map +1 -0
- package/dist/server/handlers/user/types.d.ts +35 -0
- package/dist/server/handlers/user/types.d.ts.map +1 -0
- package/dist/server/handlers/user/verify.d.ts +25 -0
- package/dist/server/handlers/user/verify.d.ts.map +1 -0
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/lib/index.d.ts +4 -5
- package/dist/server/lib/index.d.ts.map +1 -1
- package/dist/server/lib/resolve.d.ts +4 -42
- package/dist/server/lib/resolve.d.ts.map +1 -1
- package/dist/server/lib/sso.d.ts +86 -0
- package/dist/server/lib/sso.d.ts.map +1 -0
- package/dist/server/lib/utils.d.ts +32 -1
- package/dist/server/lib/utils.d.ts.map +1 -1
- package/dist/server/timeback-identity.d.ts +2 -2
- package/dist/server/timeback-identity.d.ts.map +1 -1
- package/dist/server/timeback.d.ts.map +1 -1
- package/dist/server/types.d.ts +19 -12
- package/dist/server/types.d.ts.map +1 -1
- package/dist/shared/constants.d.ts +1 -0
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/types.d.ts +18 -3
- package/dist/shared/types.d.ts.map +1 -1
- package/package.json +7 -7
- package/dist/config.d.ts +0 -20
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -0
- package/dist/server/handlers/activity.d.ts +0 -25
- 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/user.d.ts +0 -31
- package/dist/server/handlers/user.d.ts.map +0 -1
- package/dist/server/lib/build-activity-events.d.ts.map +0 -1
- package/dist/server/lib/build-user-profile.d.ts.map +0 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User Profile Building
|
|
3
|
+
*
|
|
4
|
+
* Utilities for building enriched user profile data.
|
|
5
|
+
*/
|
|
6
|
+
import type { TimebackClient } from '@timeback/core';
|
|
7
|
+
import type { TimebackProfile } from '../../../shared/types';
|
|
8
|
+
import type { AppConfig } from '../../types';
|
|
9
|
+
import type { ResolvedUser } from './types';
|
|
10
|
+
/**
|
|
11
|
+
* Build enriched user profile from Timeback data.
|
|
12
|
+
*
|
|
13
|
+
* Fetches enrollments and analytics to build a complete profile.
|
|
14
|
+
*
|
|
15
|
+
* @param client - Timeback API client
|
|
16
|
+
* @param user - Resolved user info
|
|
17
|
+
* @param appConfig - App configuration
|
|
18
|
+
* @param apiEnv - API environment
|
|
19
|
+
* @returns Enriched user profile
|
|
20
|
+
*/
|
|
21
|
+
export declare function buildUserProfile(client: TimebackClient, user: ResolvedUser, appConfig: AppConfig, apiEnv: 'staging' | 'production'): Promise<TimebackProfile>;
|
|
22
|
+
//# sourceMappingURL=profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../src/server/handlers/user/profile.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAQ5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACrC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,YAAY,EAClB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,SAAS,GAAG,YAAY,GAC9B,OAAO,CAAC,eAAe,CAAC,CAoC1B"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User Handler Types
|
|
3
|
+
*
|
|
4
|
+
* Feature-local types for the user profile handler.
|
|
5
|
+
*/
|
|
6
|
+
import type { ApiCredentials, AppConfig, Environment, IdentityConfig } from '../../types';
|
|
7
|
+
/** Configuration for the user handler. */
|
|
8
|
+
export interface UserHandlerConfig {
|
|
9
|
+
env: Environment;
|
|
10
|
+
identity: IdentityConfig;
|
|
11
|
+
api: ApiCredentials;
|
|
12
|
+
appConfig: AppConfig;
|
|
13
|
+
}
|
|
14
|
+
/** User handler type. */
|
|
15
|
+
export type UserHandler = (req: Request) => Promise<Response>;
|
|
16
|
+
/** Configuration for the user verify handler. */
|
|
17
|
+
export interface UserVerifyHandlerConfig {
|
|
18
|
+
env: Environment;
|
|
19
|
+
identity: IdentityConfig;
|
|
20
|
+
api: ApiCredentials;
|
|
21
|
+
}
|
|
22
|
+
/** User verify handler type. */
|
|
23
|
+
export type UserVerifyHandler = (req: Request) => Promise<Response>;
|
|
24
|
+
/** Resolved Timeback user info. */
|
|
25
|
+
export interface ResolvedUser {
|
|
26
|
+
id: string;
|
|
27
|
+
email: string;
|
|
28
|
+
name?: string;
|
|
29
|
+
school?: {
|
|
30
|
+
id: string;
|
|
31
|
+
name: string;
|
|
32
|
+
};
|
|
33
|
+
grade?: number;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/server/handlers/user/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEzF,0CAA0C;AAC1C,MAAM,WAAW,iBAAiB;IACjC,GAAG,EAAE,WAAW,CAAA;IAChB,QAAQ,EAAE,cAAc,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,SAAS,EAAE,SAAS,CAAA;CACpB;AAED,yBAAyB;AACzB,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAE7D,iDAAiD;AACjD,MAAM,WAAW,uBAAuB;IACvC,GAAG,EAAE,WAAW,CAAA;IAChB,QAAQ,EAAE,cAAc,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;CACnB;AAED,gCAAgC;AAChC,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEnE,mCAAmC;AACnC,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACrC,KAAK,CAAC,EAAE,MAAM,CAAA;CACd"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User Verify Handler
|
|
3
|
+
*
|
|
4
|
+
* Lightweight endpoint to check whether the current user can be resolved in Timeback.
|
|
5
|
+
*
|
|
6
|
+
* This is intentionally cheaper than `/user/me`:
|
|
7
|
+
* - In custom identity mode, it resolves the Timeback user by email
|
|
8
|
+
* - In SSO mode, it expects your app session to provide the Timeback identity via `getUser()`
|
|
9
|
+
* - It does NOT fetch enrollments/analytics or build an enriched profile
|
|
10
|
+
*/
|
|
11
|
+
import type { UserVerifyHandler, UserVerifyHandlerConfig } from './types';
|
|
12
|
+
/**
|
|
13
|
+
* Create the user verification handler.
|
|
14
|
+
*
|
|
15
|
+
* Returns:
|
|
16
|
+
* - `200 { verified: true, timebackId: "..." }` when the user can be resolved
|
|
17
|
+
* - `200 { verified: false }` when the user does not exist in Timeback
|
|
18
|
+
* - `401` when the request is not authenticated
|
|
19
|
+
* - `409` when the user resolution is ambiguous
|
|
20
|
+
*
|
|
21
|
+
* @param config - Handler configuration
|
|
22
|
+
* @returns Verify handler
|
|
23
|
+
*/
|
|
24
|
+
export declare function createUserVerifyHandler(config: UserVerifyHandlerConfig): UserVerifyHandler;
|
|
25
|
+
//# sourceMappingURL=verify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../../src/server/handlers/user/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAaH,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AA0BzE;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,GAAG,iBAAiB,CA0D1F"}
|
package/dist/server/index.d.ts
CHANGED
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export { createTimeback } from './timeback';
|
|
7
7
|
export { createTimebackIdentity } from './timeback-identity';
|
|
8
|
-
export type { TimebackConfig, TimebackInstance, Environment, ApiCredentials, IdentityConfig, SsoIdentityConfig, CustomIdentityConfig, Handlers, IdentityOnlyConfig, IdentityOnlyInstance, IdentityOnlyHandlers, BuildStateContext, CallbackSuccessContext, IdentityOnlyCallbackSuccessContext, CallbackErrorContext, OIDCTokens, OIDCUserInfo, IdpData, TimebackUserResolutionErrorCode, } from './types';
|
|
8
|
+
export type { TimebackConfig, TimebackInstance, Environment, EnvironmentInput, ApiCredentials, IdentityConfig, SsoIdentityConfig, CustomIdentityConfig, Handlers, IdentityOnlyConfig, IdentityOnlyInstance, IdentityOnlyHandlers, BuildStateContext, CallbackSuccessContext, IdentityOnlyCallbackSuccessContext, CallbackErrorContext, OIDCTokens, OIDCUserInfo, IdpData, TimebackUserResolutionErrorCode, } from './types';
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,YAAY,EAEX,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,QAAQ,EAER,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EAEpB,iBAAiB,EACjB,sBAAsB,EACtB,kCAAkC,EAClC,oBAAoB,EACpB,UAAU,EACV,YAAY,EACZ,OAAO,EAEP,+BAA+B,GAC/B,MAAM,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,YAAY,EAEX,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,QAAQ,EAER,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EAEpB,iBAAiB,EACjB,sBAAsB,EACtB,kCAAkC,EAClC,oBAAoB,EACpB,UAAU,EACV,YAAY,EACZ,OAAO,EAEP,+BAA+B,GAC/B,MAAM,SAAS,CAAA"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Server Library
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Shared utilities for the server SDK.
|
|
5
5
|
*/
|
|
6
6
|
export { getIssuer, buildAuthorizationUrl, exchangeCodeForTokens, getUserInfo } from './oidc';
|
|
7
|
-
export { jsonResponse, redirectResponse, encodeBase64Url, decodeBase64Url, mapEnvForApi, } from './utils';
|
|
7
|
+
export { jsonResponse, redirectResponse, encodeBase64Url, decodeBase64Url, mapEnvForApi, normalizeEnv, safeIdSegment, hashSuffix64Base36, } from './utils';
|
|
8
8
|
export { ssoLog, oidcLog, createScopedLogger } from './logger';
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
11
|
-
export { buildCourseLookup, getUtcDayRange, mapEnrollmentsToCourses, pickGoalsFromEnrollments, sumXp, } from './build-user-profile';
|
|
9
|
+
export { lookupTimebackIdByEmail, resolveStatusForUserResolutionError, resolveTimebackUserByEmail, TimebackUserResolutionError, } from './resolve';
|
|
10
|
+
export { buildErrorContext, computeRedirectUri, handleIdpError, handleMissingCode, initiateSignIn, parseCallback, tryDecodeState, } from './sso';
|
|
12
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/lib/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAC7F,OAAO,EACN,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/lib/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAC7F,OAAO,EACN,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,kBAAkB,GAClB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC9D,OAAO,EACN,uBAAuB,EACvB,mCAAmC,EACnC,0BAA0B,EAC1B,2BAA2B,GAC3B,MAAM,WAAW,CAAA;AAClB,OAAO,EACN,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,cAAc,GACd,MAAM,OAAO,CAAA"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Resolution Utilities
|
|
2
|
+
* User Resolution Utilities
|
|
3
3
|
*
|
|
4
|
-
* Functions for resolving Timeback users
|
|
5
|
-
*
|
|
6
|
-
* ## User Resolution
|
|
4
|
+
* Functions for resolving Timeback users by email.
|
|
7
5
|
*
|
|
8
6
|
* - `resolveTimebackUserByEmail` — Full user resolution returning profile + IdP claims.
|
|
9
7
|
* Used by SSO callback to build the authenticated user object.
|
|
@@ -13,15 +11,10 @@
|
|
|
13
11
|
*
|
|
14
12
|
* - `resolveStatusForUserResolutionError` — Maps error codes to HTTP status.
|
|
15
13
|
* Used by handlers to return appropriate status codes on resolution failure.
|
|
16
|
-
*
|
|
17
|
-
* ## Course Resolution
|
|
18
|
-
*
|
|
19
|
-
* - `resolveActivityCourse` — Resolves a course selector to a config entry.
|
|
20
|
-
* Used by activity handler to match client payload to configured courses.
|
|
21
14
|
*/
|
|
22
15
|
import { TimebackClient } from '@timeback/core';
|
|
23
|
-
import type {
|
|
24
|
-
import type { ApiCredentials,
|
|
16
|
+
import type { TimebackAuthUser } from '../../shared/types';
|
|
17
|
+
import type { ApiCredentials, Environment, OIDCUserInfo, TimebackUserResolutionErrorCode } from '../types';
|
|
25
18
|
/**
|
|
26
19
|
* Error thrown when Timeback user resolution fails.
|
|
27
20
|
*/
|
|
@@ -77,36 +70,5 @@ export declare function resolveTimebackUserByEmail(params: ResolveTimebackUserBy
|
|
|
77
70
|
* @throws {TimebackUserResolutionError} If lookup fails
|
|
78
71
|
*/
|
|
79
72
|
export declare function lookupTimebackIdByEmail(params: LookupTimebackIdByEmailParams): Promise<string>;
|
|
80
|
-
/**
|
|
81
|
-
* Error thrown when a course selector cannot be resolved against config.
|
|
82
|
-
*/
|
|
83
|
-
export declare class ActivityCourseResolutionError extends Error {
|
|
84
|
-
readonly code: 'unknown_course' | 'ambiguous_course';
|
|
85
|
-
readonly selector: ActivityCourseRef;
|
|
86
|
-
readonly count?: number;
|
|
87
|
-
constructor(code: ActivityCourseResolutionError['code'], selector: ActivityCourseRef, count?: number);
|
|
88
|
-
/**
|
|
89
|
-
* Get a human-readable description of the selector.
|
|
90
|
-
*
|
|
91
|
-
* @returns Human-readable selector description
|
|
92
|
-
*/
|
|
93
|
-
get selectorDescription(): string;
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Resolve a course config entry from an activity course selector.
|
|
97
|
-
*
|
|
98
|
-
* **Use case:** Activity handler — match the client's course selector
|
|
99
|
-
* to a configured course in `timeback.config.ts`.
|
|
100
|
-
*
|
|
101
|
-
* Supports two selector modes:
|
|
102
|
-
* - **subjectGrade**: Match by `(subject, grade)`
|
|
103
|
-
* - **courseCode**: Match by `courseCode`
|
|
104
|
-
*
|
|
105
|
-
* @param courses - Configured courses from `timeback.config.ts`
|
|
106
|
-
* @param courseRef - Course selector from the client payload
|
|
107
|
-
* @returns Matched course config entry
|
|
108
|
-
* @throws {ActivityCourseResolutionError} When selector is unknown or ambiguous
|
|
109
|
-
*/
|
|
110
|
-
export declare function resolveActivityCourse(courses: AppConfig['courses'], courseRef: ActivityCourseRef): AppConfig['courses'][number];
|
|
111
73
|
export {};
|
|
112
74
|
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/server/lib/resolve.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/server/lib/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAM/C,OAAO,KAAK,EAAkB,gBAAgB,EAAmB,MAAM,oBAAoB,CAAA;AAC3F,OAAO,KAAK,EACX,cAAc,EACd,WAAW,EACX,YAAY,EACZ,+BAA+B,EAC/B,MAAM,UAAU,CAAA;AAQjB;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;aAGpC,IAAI,EAAE,+BAA+B;IAFtD,YACC,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,+BAA+B,EAIrD;CACD;AAED;;;;;GAKG;AACH,wBAAgB,mCAAmC,CAAC,GAAG,EAAE,2BAA2B,GAAG,MAAM,CAE5F;AAMD,UAAU,gCAAgC;IACzC,uCAAuC;IACvC,GAAG,EAAE,WAAW,CAAA;IAChB,uCAAuC;IACvC,cAAc,EAAE,cAAc,CAAA;IAC9B,kCAAkC;IAClC,QAAQ,EAAE,YAAY,CAAA;IACtB;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAA;CACvB;AAED,UAAU,6BAA6B;IACtC,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,qCAAqC;IACrC,MAAM,EAAE,cAAc,CAAA;CACtB;AA2FD;;;;;;;;;GASG;AACH,wBAAsB,0BAA0B,CAC/C,MAAM,EAAE,gCAAgC,GACtC,OAAO,CAAC,gBAAgB,CAAC,CAsD3B;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAC5C,MAAM,EAAE,6BAA6B,GACnC,OAAO,CAAC,MAAM,CAAC,CAmBjB"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SSO Flow Helpers
|
|
3
|
+
*
|
|
4
|
+
* Shared utilities for SSO sign-in and callback handling.
|
|
5
|
+
* Used by both full SDK and identity-only handlers.
|
|
6
|
+
*/
|
|
7
|
+
import type { BuildStateContext, CallbackErrorContext, Environment } from '../types';
|
|
8
|
+
/**
|
|
9
|
+
* Build callback error context.
|
|
10
|
+
*
|
|
11
|
+
* @param error - The error that occurred
|
|
12
|
+
* @param errorCode - Optional error code (IdP or internal)
|
|
13
|
+
* @param state - Decoded state (if provided)
|
|
14
|
+
* @param req - Incoming request
|
|
15
|
+
* @returns Callback error context
|
|
16
|
+
*/
|
|
17
|
+
export declare function buildErrorContext<TState>(error: Error, errorCode: string | undefined, state: TState | undefined, req: Request): CallbackErrorContext<TState>;
|
|
18
|
+
/**
|
|
19
|
+
* Try to decode base64url-encoded state.
|
|
20
|
+
*
|
|
21
|
+
* @param stateParam - Base64url encoded state
|
|
22
|
+
* @returns Decoded state or undefined
|
|
23
|
+
*/
|
|
24
|
+
export declare function tryDecodeState<TState>(stateParam: string): TState | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* Handle IdP error response.
|
|
27
|
+
*
|
|
28
|
+
* @param errorParam - Error code from IdP
|
|
29
|
+
* @param url - Callback URL
|
|
30
|
+
* @param state - Decoded state (if provided)
|
|
31
|
+
* @param req - Incoming request
|
|
32
|
+
* @param onCallbackError - Optional custom error handler
|
|
33
|
+
* @returns Error response
|
|
34
|
+
*/
|
|
35
|
+
export declare function handleIdpError<TState>(errorParam: string, url: URL, state: TState | undefined, req: Request, onCallbackError?: (ctx: CallbackErrorContext<TState>) => Response | Promise<Response>): Response | Promise<Response>;
|
|
36
|
+
/**
|
|
37
|
+
* Handle missing authorization code in callback URL.
|
|
38
|
+
*
|
|
39
|
+
* @param state - Decoded state (if provided)
|
|
40
|
+
* @param req - Incoming request
|
|
41
|
+
* @param onCallbackError - Optional custom error handler
|
|
42
|
+
* @returns Error response
|
|
43
|
+
*/
|
|
44
|
+
export declare function handleMissingCode<TState>(state: TState | undefined, req: Request, onCallbackError?: (ctx: CallbackErrorContext<TState>) => Response | Promise<Response>): Response | Promise<Response>;
|
|
45
|
+
/** Parameters for initiating sign-in. */
|
|
46
|
+
interface SignInParams<TState> {
|
|
47
|
+
req: Request;
|
|
48
|
+
env: Environment;
|
|
49
|
+
clientId: string;
|
|
50
|
+
issuer?: string;
|
|
51
|
+
redirectUri?: string;
|
|
52
|
+
buildState?: (ctx: BuildStateContext) => TState;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Initiate SSO sign-in flow.
|
|
56
|
+
*
|
|
57
|
+
* Builds the authorization URL and returns a redirect response.
|
|
58
|
+
*
|
|
59
|
+
* @param params - Sign-in parameters
|
|
60
|
+
* @returns Redirect response to IdP
|
|
61
|
+
*/
|
|
62
|
+
export declare function initiateSignIn<TState>(params: SignInParams<TState>): Promise<Response>;
|
|
63
|
+
/** Parsed callback parameters. */
|
|
64
|
+
interface ParsedCallback<TState> {
|
|
65
|
+
url: URL;
|
|
66
|
+
code: string | null;
|
|
67
|
+
errorParam: string | null;
|
|
68
|
+
state: TState | undefined;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Parse callback request parameters.
|
|
72
|
+
*
|
|
73
|
+
* @param req - Incoming callback request
|
|
74
|
+
* @returns Parsed callback parameters
|
|
75
|
+
*/
|
|
76
|
+
export declare function parseCallback<TState>(req: Request): ParsedCallback<TState>;
|
|
77
|
+
/**
|
|
78
|
+
* Compute redirect URI for callback.
|
|
79
|
+
*
|
|
80
|
+
* @param url - Callback URL
|
|
81
|
+
* @param configuredRedirectUri - Configured redirect URI (if any)
|
|
82
|
+
* @returns Computed redirect URI
|
|
83
|
+
*/
|
|
84
|
+
export declare function computeRedirectUri(url: URL, configuredRedirectUri?: string): string;
|
|
85
|
+
export {};
|
|
86
|
+
//# sourceMappingURL=sso.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sso.d.ts","sourceRoot":"","sources":["../../../src/server/lib/sso.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAMpF;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EACvC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,GAAG,EAAE,OAAO,GACV,oBAAoB,CAAC,MAAM,CAAC,CAS9B;AAMD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO7E;AAMD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,MAAM,EACpC,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,GAAG,EAAE,OAAO,EACZ,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,oBAAoB,CAAC,MAAM,CAAC,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GACnF,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAY9B;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EACvC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,GAAG,EAAE,OAAO,EACZ,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,oBAAoB,CAAC,MAAM,CAAC,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GACnF,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAU9B;AAMD,yCAAyC;AACzC,UAAU,YAAY,CAAC,MAAM;IAC5B,GAAG,EAAE,OAAO,CAAA;IACZ,GAAG,EAAE,WAAW,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,MAAM,CAAA;CAC/C;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CA0B5F;AAMD,kCAAkC;AAClC,UAAU,cAAc,CAAC,MAAM;IAC9B,GAAG,EAAE,GAAG,CAAA;IACR,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAW1E;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,qBAAqB,CAAC,EAAE,MAAM,GAAG,MAAM,CAOnF"}
|
|
@@ -3,7 +3,29 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Internal utility functions for the server SDK.
|
|
5
5
|
*/
|
|
6
|
-
import type { Environment } from '../types';
|
|
6
|
+
import type { Environment, EnvironmentInput } from '../types';
|
|
7
|
+
/**
|
|
8
|
+
* Build a safe ID segment from a string (URL-safe, no colons).
|
|
9
|
+
*
|
|
10
|
+
* `encodeURIComponent` escapes reserved characters into percent-encoded form.
|
|
11
|
+
* We additionally replace `%` with `_` so the resulting value:
|
|
12
|
+
* - stays URL-safe
|
|
13
|
+
* - avoids raw `%` characters (which can be awkward in some ID contexts)
|
|
14
|
+
*
|
|
15
|
+
* @param value - The value to make safe
|
|
16
|
+
* @returns A safe ID segment
|
|
17
|
+
*/
|
|
18
|
+
export declare function safeIdSegment(value: string): string;
|
|
19
|
+
/**
|
|
20
|
+
* Create a compact deterministic hash suffix for IDs.
|
|
21
|
+
*
|
|
22
|
+
* Uses 64-bit FNV-1a over the input string and returns a base36-encoded suffix.
|
|
23
|
+
* This is **not** cryptographic, but is stable and compact for ID disambiguation.
|
|
24
|
+
*
|
|
25
|
+
* @param value - String to hash
|
|
26
|
+
* @returns Base36 hash suffix (lowercase alphanumeric)
|
|
27
|
+
*/
|
|
28
|
+
export declare function hashSuffix64Base36(value: string): string;
|
|
7
29
|
/**
|
|
8
30
|
* Map SDK environment to the environment used for outbound Timeback API calls.
|
|
9
31
|
*
|
|
@@ -18,6 +40,15 @@ import type { Environment } from '../types';
|
|
|
18
40
|
* @returns Environment to use for TimebackClient
|
|
19
41
|
*/
|
|
20
42
|
export declare function mapEnvForApi(env: Environment): 'staging' | 'production';
|
|
43
|
+
/**
|
|
44
|
+
* Normalize a user-provided environment to a known SDK environment.
|
|
45
|
+
*
|
|
46
|
+
* Unknown values default to `staging`.
|
|
47
|
+
*
|
|
48
|
+
* @param env - User-provided environment value
|
|
49
|
+
* @returns Normalized SDK environment
|
|
50
|
+
*/
|
|
51
|
+
export declare function normalizeEnv(env: EnvironmentInput): Environment;
|
|
21
52
|
/**
|
|
22
53
|
* Create a JSON response.
|
|
23
54
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/server/lib/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/server/lib/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE7D;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAcxD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,GAAG,YAAY,CAMvE;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,WAAW,CAK/D;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,SAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,CAItF;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,QAAQ,CAI7E;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAIrD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,CAKrD"}
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
*
|
|
4
4
|
* This file is intentionally Node-free so it can be used in edge runtimes
|
|
5
5
|
* (e.g. Cloudflare Workers / workerd) without pulling in Node-only deps
|
|
6
|
-
* like `
|
|
6
|
+
* like `c12`, `fs`, etc.
|
|
7
7
|
*/
|
|
8
8
|
import type { IdentityOnlyConfig, IdentityOnlyInstance } from './types';
|
|
9
9
|
/**
|
|
10
10
|
* Create an identity-only Timeback server instance.
|
|
11
11
|
*
|
|
12
12
|
* Use this when you only need SSO authentication without activity tracking
|
|
13
|
-
* or Timeback API integration. Does not require `timeback.config.
|
|
13
|
+
* or Timeback API integration. Does not require `timeback.config.json`.
|
|
14
14
|
*
|
|
15
15
|
* @param config - Identity-only configuration
|
|
16
16
|
* @returns Identity-only Timeback server instance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeback-identity.d.ts","sourceRoot":"","sources":["../../src/server/timeback-identity.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"timeback-identity.d.ts","sourceRoot":"","sources":["../../src/server/timeback-identity.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAEvE;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,GAAG,OAAO,EACtD,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,GAChC,oBAAoB,CAAC,MAAM,CAAC,CAY9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeback.d.ts","sourceRoot":"","sources":["../../src/server/timeback.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"timeback.d.ts","sourceRoot":"","sources":["../../src/server/timeback.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,OAAO,KAAK,EAAa,cAAc,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAsB1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,wBAAsB,cAAc,CAAC,MAAM,GAAG,OAAO,EACpD,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,GAC5B,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CA+EnC"}
|
package/dist/server/types.d.ts
CHANGED
|
@@ -3,13 +3,19 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Configuration and internal types for the server SDK.
|
|
5
5
|
*/
|
|
6
|
-
import type { ActivityCompletedEvent, TimeSpentEvent } from '@timeback/caliper';
|
|
6
|
+
import type { ActivityCompletedEvent, TimebackActivityContext, TimeSpentEvent } from '@timeback/caliper';
|
|
7
7
|
import type { TimebackClient } from '@timeback/core';
|
|
8
8
|
import type { ActivityEndPayload, TimebackAuthUser, TimebackIdentity } from '../shared/types';
|
|
9
9
|
/**
|
|
10
10
|
* Environment configuration.
|
|
11
11
|
*/
|
|
12
12
|
export type Environment = 'local' | 'staging' | 'production';
|
|
13
|
+
/**
|
|
14
|
+
* Environment input type.
|
|
15
|
+
*
|
|
16
|
+
* Allows string inputs while keeping autocomplete for known environments.
|
|
17
|
+
*/
|
|
18
|
+
export type EnvironmentInput = Environment | (string & {});
|
|
13
19
|
/**
|
|
14
20
|
* Error codes for Timeback user resolution failures.
|
|
15
21
|
*/
|
|
@@ -321,13 +327,13 @@ export interface ActivityBeforeSendData {
|
|
|
321
327
|
type: 'TimebackUser';
|
|
322
328
|
email: string;
|
|
323
329
|
};
|
|
324
|
-
/** Caliper context object
|
|
325
|
-
object:
|
|
330
|
+
/** Caliper activity context object */
|
|
331
|
+
object: TimebackActivityContext;
|
|
326
332
|
/** Built events (ActivityEvent + TimeSpentEvent) */
|
|
327
333
|
events: [ActivityCompletedEvent, TimeSpentEvent];
|
|
328
334
|
/** Original payload posted by the client */
|
|
329
335
|
payload: ActivityEndPayload;
|
|
330
|
-
/** Matched course from `timeback.config.
|
|
336
|
+
/** Matched course from `timeback.config.json` */
|
|
331
337
|
course: AppConfig['courses'][number];
|
|
332
338
|
/** App name (from config) */
|
|
333
339
|
appName: string;
|
|
@@ -342,10 +348,10 @@ export interface ActivityBeforeSendData {
|
|
|
342
348
|
* Full Timeback SDK configuration.
|
|
343
349
|
*/
|
|
344
350
|
export interface TimebackConfig<TState = unknown> {
|
|
345
|
-
/** Optional path to timeback.config.
|
|
351
|
+
/** Optional path to timeback.config.json (auto-discovered if not provided) */
|
|
346
352
|
configPath?: string;
|
|
347
353
|
/** Environment */
|
|
348
|
-
env:
|
|
354
|
+
env: EnvironmentInput;
|
|
349
355
|
/** API credentials for Timeback API */
|
|
350
356
|
api: ApiCredentials;
|
|
351
357
|
/** Identity configuration */
|
|
@@ -388,6 +394,8 @@ export interface Handlers {
|
|
|
388
394
|
user: {
|
|
389
395
|
/** Get current user profile */
|
|
390
396
|
me: (req: Request) => Promise<Response>;
|
|
397
|
+
/** Verify current user exists in Timeback (lightweight) */
|
|
398
|
+
verify: (req: Request) => Promise<Response>;
|
|
391
399
|
};
|
|
392
400
|
}
|
|
393
401
|
type AppCourseMetadata = {
|
|
@@ -452,7 +460,7 @@ type AppCourse = (AppCourseBase & {
|
|
|
452
460
|
courseCode: string;
|
|
453
461
|
});
|
|
454
462
|
/**
|
|
455
|
-
* App configuration from timeback.config.
|
|
463
|
+
* App configuration from timeback.config.json.
|
|
456
464
|
*
|
|
457
465
|
* Note: Config invariants are validated at runtime by `@timeback/types/zod`.
|
|
458
466
|
* The stricter unions here help keep SDK handler code type-safe.
|
|
@@ -466,10 +474,9 @@ type AppCourse = (AppCourseBase & {
|
|
|
466
474
|
* (`course.overrides[env].sensor ?? course.sensor ?? config.sensor`).
|
|
467
475
|
* - This is enforced by zod validation at config load time.
|
|
468
476
|
*
|
|
469
|
-
* LaunchUrl
|
|
470
|
-
* -
|
|
471
|
-
*
|
|
472
|
-
* - This is enforced by zod validation at config load time.
|
|
477
|
+
* LaunchUrl (optional):
|
|
478
|
+
* - `launchUrl` is only required when provisioning the interactive Resource (e.g., `timeback resources push`).
|
|
479
|
+
* - Config parsing does not enforce an effective `launchUrl`.
|
|
473
480
|
*/
|
|
474
481
|
export interface AppConfig {
|
|
475
482
|
name: string;
|
|
@@ -513,7 +520,7 @@ export interface TimebackInstance<TState = unknown> {
|
|
|
513
520
|
*/
|
|
514
521
|
export interface IdentityOnlyConfig<TState = unknown> {
|
|
515
522
|
/** Environment */
|
|
516
|
-
env:
|
|
523
|
+
env: EnvironmentInput;
|
|
517
524
|
/** Identity configuration (SSO mode required for identity-only) */
|
|
518
525
|
identity: SsoIdentityConfig<TState, IdentityOnlyCallbackSuccessContext<TState>>;
|
|
519
526
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,gDAAgD;AAChD,eAAO,MAAM,iBAAiB,kBAAkB,CAAA;AAEhD,sBAAsB;AACtB,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,gDAAgD;AAChD,eAAO,MAAM,iBAAiB,kBAAkB,CAAA;AAEhD,sBAAsB;AACtB,eAAO,MAAM,MAAM;;;;;;;;;;;CAWT,CAAA"}
|
package/dist/shared/types.d.ts
CHANGED
|
@@ -118,7 +118,7 @@ export interface CourseCodeRef {
|
|
|
118
118
|
/**
|
|
119
119
|
* Course selector for activity tracking.
|
|
120
120
|
*
|
|
121
|
-
* This should correspond to a unique course entry in `timeback.config.
|
|
121
|
+
* This should correspond to a unique course entry in `timeback.config.json`.
|
|
122
122
|
*
|
|
123
123
|
* Two selector modes are supported:
|
|
124
124
|
* - **Grade-based**: `{ subject, grade }` — K-12 style
|
|
@@ -195,7 +195,7 @@ export interface ActivityParams {
|
|
|
195
195
|
* @example 'Fractions with Like Denominators'
|
|
196
196
|
*/
|
|
197
197
|
name: string;
|
|
198
|
-
/** Course selector (must match a unique course in timeback.config.
|
|
198
|
+
/** Course selector (must match a unique course in timeback.config.json) */
|
|
199
199
|
course: ActivityCourseRef;
|
|
200
200
|
}
|
|
201
201
|
/**
|
|
@@ -229,7 +229,7 @@ export interface ActivityEndPayload {
|
|
|
229
229
|
* @see {@link ActivityParams.name}
|
|
230
230
|
*/
|
|
231
231
|
name: string;
|
|
232
|
-
/** Course selector (must match a unique course in timeback.config.
|
|
232
|
+
/** Course selector (must match a unique course in timeback.config.json) */
|
|
233
233
|
course: ActivityCourseRef;
|
|
234
234
|
/** ISO 8601 timestamp when activity started */
|
|
235
235
|
startedAt: string;
|
|
@@ -265,4 +265,19 @@ export interface ActivityResponse {
|
|
|
265
265
|
success: boolean;
|
|
266
266
|
error?: string;
|
|
267
267
|
}
|
|
268
|
+
/**
|
|
269
|
+
* Result of verifying a user's Timeback status.
|
|
270
|
+
*
|
|
271
|
+
* Used by partner apps to check if a user exists in Timeback before
|
|
272
|
+
* granting access to Timeback-gated features (e.g., free tier for Timeback users).
|
|
273
|
+
*/
|
|
274
|
+
export type TimebackVerifyResult = {
|
|
275
|
+
/** User exists in Timeback */
|
|
276
|
+
verified: true;
|
|
277
|
+
/** Timeback user ID */
|
|
278
|
+
timebackId: string;
|
|
279
|
+
} | {
|
|
280
|
+
/** User does not exist in Timeback */
|
|
281
|
+
verified: false;
|
|
282
|
+
};
|
|
268
283
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAErE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,uBAAuB;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb,yBAAyB;IACzB,MAAM,CAAC,EAAE;QACR,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;KACZ,CAAA;IAED,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,4BAA4B;IAC5B,EAAE,CAAC,EAAE;QACJ,sCAAsC;QACtC,KAAK,EAAE,MAAM,CAAA;QACb,0DAA0D;QAC1D,GAAG,EAAE,MAAM,CAAA;KACX,CAAA;IAED,uBAAuB;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC;QACf,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;KACZ,CAAC,CAAA;IAEF,yBAAyB;IACzB,KAAK,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,kBAAkB,CAAC,EAAE,MAAM,CAAA;QAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAC3B,CAAA;CACD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACrC,eAAe,EACf,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAC5C,CAAA;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC9B,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAA;IACX,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACxD,8CAA8C;IAC9C,MAAM,EAAE,cAAc,CAAA;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACrC,OAAO,EAAE,eAAe,CAAA;IACxB,KAAK,EAAE,aAAa,CAAA;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAA;CACZ;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,GAAG,aAAa,CAAA;AAErE;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,iBAAiB,GAAG,GAAG,IAAI,qBAAqB,CAE5F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,cAAc;IAC9B;;;;;;;;;;OAUG;IACH,EAAE,EAAE,MAAM,CAAA;IACV;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
|