timeback 0.0.0-alpha.2 → 0.1.1

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 (113) hide show
  1. package/README.md +378 -7
  2. package/dist/client/adapters/react/SignInButton.d.ts +60 -0
  3. package/dist/client/adapters/react/SignInButton.d.ts.map +1 -0
  4. package/dist/client/adapters/react/index.d.ts +43 -0
  5. package/dist/client/adapters/react/index.d.ts.map +1 -0
  6. package/dist/client/adapters/react/index.js +478 -0
  7. package/dist/client/adapters/react/provider.d.ts +74 -0
  8. package/dist/client/adapters/react/provider.d.ts.map +1 -0
  9. package/dist/client/adapters/solid/SignInButton.d.ts +52 -0
  10. package/dist/client/adapters/solid/SignInButton.d.ts.map +1 -0
  11. package/dist/client/adapters/solid/SignInButton.tsx +321 -0
  12. package/dist/client/adapters/solid/context.d.ts +73 -0
  13. package/dist/client/adapters/solid/context.d.ts.map +1 -0
  14. package/dist/client/adapters/solid/context.tsx +91 -0
  15. package/dist/client/adapters/solid/index.d.ts +42 -0
  16. package/dist/client/adapters/solid/index.d.ts.map +1 -0
  17. package/dist/client/adapters/solid/index.ts +46 -0
  18. package/dist/client/adapters/svelte/SignInButton.svelte +234 -0
  19. package/dist/client/adapters/svelte/SignInButton.svelte.d.ts +24 -0
  20. package/dist/client/adapters/svelte/index.d.ts +33 -0
  21. package/dist/client/adapters/svelte/index.d.ts.map +1 -0
  22. package/dist/client/adapters/svelte/index.ts +38 -0
  23. package/dist/client/adapters/svelte/stores.d.ts +62 -0
  24. package/dist/client/adapters/svelte/stores.d.ts.map +1 -0
  25. package/dist/client/adapters/svelte/stores.ts +139 -0
  26. package/dist/client/adapters/vue/SignInButton.vue +260 -0
  27. package/dist/client/adapters/vue/SignInButton.vue.d.ts +53 -0
  28. package/dist/client/adapters/vue/index.d.ts +43 -0
  29. package/dist/client/adapters/vue/index.d.ts.map +1 -0
  30. package/dist/client/adapters/vue/index.ts +48 -0
  31. package/dist/client/adapters/vue/provider.d.ts +94 -0
  32. package/dist/client/adapters/vue/provider.d.ts.map +1 -0
  33. package/dist/client/adapters/vue/provider.ts +147 -0
  34. package/dist/client/index.d.ts +9 -0
  35. package/dist/client/index.d.ts.map +1 -0
  36. package/dist/client/lib/activity/activity.class.d.ts +73 -0
  37. package/dist/client/lib/activity/activity.class.d.ts.map +1 -0
  38. package/dist/client/lib/activity/activity.d.ts +16 -0
  39. package/dist/client/lib/activity/activity.d.ts.map +1 -0
  40. package/dist/client/lib/activity/index.d.ts +6 -0
  41. package/dist/client/lib/activity/index.d.ts.map +1 -0
  42. package/dist/client/lib/utils.d.ts +20 -0
  43. package/dist/client/lib/utils.d.ts.map +1 -0
  44. package/dist/client/namespaces/activity.d.ts +37 -0
  45. package/dist/client/namespaces/activity.d.ts.map +1 -0
  46. package/dist/client/namespaces/auth.d.ts +33 -0
  47. package/dist/client/namespaces/auth.d.ts.map +1 -0
  48. package/dist/client/namespaces/index.d.ts +7 -0
  49. package/dist/client/namespaces/index.d.ts.map +1 -0
  50. package/dist/client/namespaces/user.d.ts +29 -0
  51. package/dist/client/namespaces/user.d.ts.map +1 -0
  52. package/dist/client/timeback-client.class.d.ts +37 -0
  53. package/dist/client/timeback-client.class.d.ts.map +1 -0
  54. package/dist/client/timeback-client.d.ts +29 -0
  55. package/dist/client/timeback-client.d.ts.map +1 -0
  56. package/dist/client.d.ts +30 -0
  57. package/dist/client.d.ts.map +1 -0
  58. package/dist/client.js +198 -0
  59. package/dist/index.d.ts +27 -14
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +1373 -11
  62. package/dist/server/adapters/express.d.ts +62 -0
  63. package/dist/server/adapters/express.d.ts.map +1 -0
  64. package/dist/server/adapters/express.js +565 -0
  65. package/dist/server/adapters/native.d.ts +45 -0
  66. package/dist/server/adapters/native.d.ts.map +1 -0
  67. package/dist/server/adapters/native.js +509 -0
  68. package/dist/server/adapters/nextjs.d.ts +30 -0
  69. package/dist/server/adapters/nextjs.d.ts.map +1 -0
  70. package/dist/server/adapters/nextjs.js +521 -0
  71. package/dist/server/adapters/nuxt.d.ts +96 -0
  72. package/dist/server/adapters/nuxt.d.ts.map +1 -0
  73. package/dist/server/adapters/nuxt.js +663 -0
  74. package/dist/server/adapters/solid-start.d.ts +61 -0
  75. package/dist/server/adapters/solid-start.d.ts.map +1 -0
  76. package/dist/server/adapters/solid-start.js +551 -0
  77. package/dist/server/adapters/svelte-kit.d.ts +82 -0
  78. package/dist/server/adapters/svelte-kit.d.ts.map +1 -0
  79. package/dist/server/adapters/svelte-kit.js +572 -0
  80. package/dist/server/adapters/tanstack-start.d.ts +40 -0
  81. package/dist/server/adapters/tanstack-start.d.ts.map +1 -0
  82. package/dist/server/adapters/tanstack-start.js +522 -0
  83. package/dist/server/adapters/types.d.ts +280 -0
  84. package/dist/server/adapters/types.d.ts.map +1 -0
  85. package/dist/server/adapters/utils.d.ts +15 -0
  86. package/dist/server/adapters/utils.d.ts.map +1 -0
  87. package/dist/server/handlers/activity.d.ts +28 -0
  88. package/dist/server/handlers/activity.d.ts.map +1 -0
  89. package/dist/server/handlers/identity.d.ts +24 -0
  90. package/dist/server/handlers/identity.d.ts.map +1 -0
  91. package/dist/server/handlers/index.d.ts +9 -0
  92. package/dist/server/handlers/index.d.ts.map +1 -0
  93. package/dist/server/handlers/user.d.ts +30 -0
  94. package/dist/server/handlers/user.d.ts.map +1 -0
  95. package/dist/server/index.d.ts +10 -0
  96. package/dist/server/index.d.ts.map +1 -0
  97. package/dist/server/lib/index.d.ts +9 -0
  98. package/dist/server/lib/index.d.ts.map +1 -0
  99. package/dist/server/lib/logger.d.ts +21 -0
  100. package/dist/server/lib/logger.d.ts.map +1 -0
  101. package/dist/server/lib/oidc.d.ts +76 -0
  102. package/dist/server/lib/oidc.d.ts.map +1 -0
  103. package/dist/server/lib/utils.d.ts +39 -0
  104. package/dist/server/lib/utils.d.ts.map +1 -0
  105. package/dist/server/timeback.d.ts +48 -0
  106. package/dist/server/timeback.d.ts.map +1 -0
  107. package/dist/server/types.d.ts +300 -0
  108. package/dist/server/types.d.ts.map +1 -0
  109. package/dist/shared/constants.d.ts +18 -0
  110. package/dist/shared/constants.d.ts.map +1 -0
  111. package/dist/shared/types.d.ts +100 -0
  112. package/dist/shared/types.d.ts.map +1 -0
  113. package/package.json +104 -28
@@ -0,0 +1,280 @@
1
+ /**
2
+ * Server Adapter Types
3
+ *
4
+ * Public type definitions for server framework adapters.
5
+ */
6
+ import type { Handlers, TimebackInstance } from '../types';
7
+ /**
8
+ * Flexible input that accepts either a TimebackInstance or just the handlers.
9
+ *
10
+ * Allows both:
11
+ * - `toNextjsHandler(timeback)`
12
+ * - `toNextjsHandler(timeback.handle)`
13
+ */
14
+ export type TimebackInput = TimebackInstance | Handlers;
15
+ /**
16
+ * Next.js route handlers.
17
+ */
18
+ export interface NextjsHandlers {
19
+ GET: (req: Request) => Promise<Response>;
20
+ POST: (req: Request) => Promise<Response>;
21
+ PUT: (req: Request) => Promise<Response>;
22
+ DELETE: (req: Request) => Promise<Response>;
23
+ PATCH: (req: Request) => Promise<Response>;
24
+ }
25
+ /**
26
+ * Minimal request interface compatible with Express and similar frameworks.
27
+ *
28
+ * Works with: Express, Polka, Fastify (with express compat), Restify, etc.
29
+ */
30
+ export interface ExpressLikeRequest {
31
+ method: string;
32
+ url: string;
33
+ headers: Record<string, string | string[] | undefined>;
34
+ body?: unknown;
35
+ protocol: string;
36
+ get: (name: string) => string | undefined;
37
+ }
38
+ /**
39
+ * Minimal response interface compatible with Express and similar frameworks.
40
+ *
41
+ * Works with: Express, Polka, Fastify (with express compat), Restify, etc.
42
+ */
43
+ export interface ExpressLikeResponse {
44
+ status: (code: number) => ExpressLikeResponse;
45
+ set: (headers: Record<string, string>) => ExpressLikeResponse;
46
+ json: (data: unknown) => void;
47
+ send: (body: string) => void;
48
+ redirect: (url: string) => void;
49
+ }
50
+ /**
51
+ * Next function for Express-like middleware.
52
+ */
53
+ export type ExpressLikeNext = () => void;
54
+ /**
55
+ * Minimal router interface compatible with Express and similar frameworks.
56
+ *
57
+ * Works with: Express.Router(), Polka, etc.
58
+ */
59
+ export interface ExpressLikeRouter {
60
+ get: (path: string, handler: ExpressLikeHandler) => void;
61
+ post: (path: string, handler: ExpressLikeHandler) => void;
62
+ use: (handler: ExpressLikeHandler) => void;
63
+ }
64
+ /**
65
+ * Express-like middleware handler type.
66
+ */
67
+ export type ExpressLikeHandler = (req: ExpressLikeRequest, res: ExpressLikeResponse, next: ExpressLikeNext) => void;
68
+ /**
69
+ * Options for the native handler.
70
+ */
71
+ export interface NativeHandlerOptions {
72
+ /** Timeback instance or handlers */
73
+ timeback: TimebackInput;
74
+ /**
75
+ * Custom callback path for OAuth redirect.
76
+ *
77
+ * When your IdP uses a custom redirect URI that doesn't match the SDK's
78
+ * default `/identity/callback` path, set this to match your `redirectUri`.
79
+ *
80
+ * @example '/api/auth/sso/callback/timeback'
81
+ */
82
+ callbackPath?: string;
83
+ }
84
+ /**
85
+ * Minimal SvelteKit RequestEvent-compatible structure.
86
+ *
87
+ * Uses generics to accept SvelteKit's full RequestEvent without requiring the dependency.
88
+ */
89
+ export interface SvelteKitRequestEvent {
90
+ request: Request;
91
+ url: URL;
92
+ }
93
+ /**
94
+ * Options for the SvelteKit handler hook.
95
+ *
96
+ * Uses generics to properly type the resolve function with the actual SvelteKit event type.
97
+ */
98
+ export interface SvelteKitHandlerOptions<TEvent extends SvelteKitRequestEvent = SvelteKitRequestEvent> {
99
+ /** Timeback instance or handlers */
100
+ timeback: TimebackInput;
101
+ /** SvelteKit request event */
102
+ event: TEvent;
103
+ /** SvelteKit resolve function */
104
+ resolve: (event: TEvent) => Response | Promise<Response>;
105
+ /** Whether SvelteKit is building (from `$app/environment`) */
106
+ building?: boolean;
107
+ /** Base path for Timeback routes (default: '/api/timeback') */
108
+ basePath?: string;
109
+ /**
110
+ * Custom callback path for OAuth redirects.
111
+ *
112
+ * If your IdP has a pre-registered callback URL that differs from the SDK default
113
+ * (`/api/timeback/identity/callback`), specify the path here so the handler can
114
+ * intercept it.
115
+ *
116
+ * @example '/api/auth/sso/callback/timeback'
117
+ */
118
+ callbackPath?: string;
119
+ }
120
+ /**
121
+ * SvelteKit RequestHandler type.
122
+ *
123
+ * Compatible with SvelteKit's `RequestHandler` from `@sveltejs/kit`.
124
+ */
125
+ export type SvelteKitRequestHandler = (event: {
126
+ request: Request;
127
+ }) => Promise<Response>;
128
+ /**
129
+ * SvelteKit route handlers.
130
+ */
131
+ export interface SvelteKitHandlers {
132
+ GET: SvelteKitRequestHandler;
133
+ POST: SvelteKitRequestHandler;
134
+ PUT: SvelteKitRequestHandler;
135
+ DELETE: SvelteKitRequestHandler;
136
+ PATCH: SvelteKitRequestHandler;
137
+ }
138
+ /**
139
+ * Minimal SolidStart APIEvent-compatible structure.
140
+ */
141
+ export interface SolidStartEvent {
142
+ request: Request;
143
+ }
144
+ /**
145
+ * Options for the SolidStart middleware handler.
146
+ */
147
+ export interface SolidStartHandlerOptions {
148
+ /** Timeback instance or handlers */
149
+ timeback: TimebackInput;
150
+ /** SolidStart event containing the request */
151
+ event: SolidStartEvent;
152
+ /** Base path for Timeback routes (default: '/api/timeback') */
153
+ basePath?: string;
154
+ /**
155
+ * Custom callback path for OAuth redirects.
156
+ *
157
+ * If your IdP has a pre-registered callback URL that differs from the SDK default
158
+ * (`/api/timeback/identity/callback`), specify the path here so the handler can
159
+ * intercept it.
160
+ *
161
+ * @example '/api/auth/sso/callback/timeback'
162
+ */
163
+ callbackPath?: string;
164
+ }
165
+ /**
166
+ * SolidStart RequestHandler type.
167
+ *
168
+ * Compatible with SolidStart's APIEvent handler pattern.
169
+ */
170
+ export type SolidStartRequestHandler = (event: {
171
+ request: Request;
172
+ }) => Response | Promise<Response>;
173
+ /**
174
+ * SolidStart route handlers.
175
+ */
176
+ export interface SolidStartHandlers {
177
+ GET: SolidStartRequestHandler;
178
+ POST: SolidStartRequestHandler;
179
+ PUT: SolidStartRequestHandler;
180
+ DELETE: SolidStartRequestHandler;
181
+ PATCH: SolidStartRequestHandler;
182
+ }
183
+ /**
184
+ * TanStack Start route event.
185
+ */
186
+ export interface TanStackStartEvent {
187
+ request: Request;
188
+ }
189
+ /**
190
+ * TanStack Start RequestHandler type.
191
+ */
192
+ export type TanStackStartRequestHandler = (event: TanStackStartEvent) => Response | Promise<Response>;
193
+ /**
194
+ * TanStack Start route handlers.
195
+ */
196
+ export interface TanStackStartHandlers {
197
+ GET: TanStackStartRequestHandler;
198
+ POST: TanStackStartRequestHandler;
199
+ PUT: TanStackStartRequestHandler;
200
+ DELETE: TanStackStartRequestHandler;
201
+ PATCH: TanStackStartRequestHandler;
202
+ }
203
+ /**
204
+ * Options for the TanStack Start handler.
205
+ */
206
+ export interface TanStackStartHandlerOptions {
207
+ /** Timeback instance or handlers */
208
+ timeback: TimebackInput;
209
+ /** Custom callback path for OAuth (if different from default) */
210
+ callbackPath?: string;
211
+ }
212
+ /**
213
+ * Minimal Node.js IncomingMessage-like interface.
214
+ *
215
+ * Used for fallback request conversion when `event.request` is not available.
216
+ */
217
+ export interface NodeLikeIncomingMessage {
218
+ method?: string;
219
+ url?: string;
220
+ headers: Record<string, string | string[] | undefined>;
221
+ on: (event: 'data' | 'end' | 'error', listener: (chunk?: Buffer | Error) => void) => void;
222
+ }
223
+ /**
224
+ * Minimal H3Event-compatible structure for Nuxt 3.
225
+ *
226
+ * This interface supports two patterns:
227
+ * 1. Modern H3 with `event.request` (Web Request API) - preferred
228
+ * 2. Legacy/fallback with `event.node.req` (Node IncomingMessage)
229
+ *
230
+ * We check for `event.request` first, falling back to `event.node.req` for
231
+ * environments where the Web Request isn't directly available.
232
+ */
233
+ export interface NuxtLikeEvent {
234
+ /** Web Request (preferred, available in modern H3/Nitro) */
235
+ request?: Request;
236
+ /** Node.js request/response objects (fallback) */
237
+ node?: {
238
+ req: NodeLikeIncomingMessage;
239
+ };
240
+ /** Request path */
241
+ path?: string;
242
+ }
243
+ /**
244
+ * Options for the Nuxt middleware handler.
245
+ */
246
+ export interface NuxtHandlerOptions<TEvent extends NuxtLikeEvent = NuxtLikeEvent> {
247
+ /** Timeback instance or handlers */
248
+ timeback: TimebackInput;
249
+ /** Nuxt/H3 event */
250
+ event: TEvent;
251
+ /** Base path for Timeback routes (default: '/api/timeback') */
252
+ basePath?: string;
253
+ /**
254
+ * Custom callback path for OAuth redirects.
255
+ *
256
+ * If your IdP has a pre-registered callback URL that differs from the SDK default
257
+ * (`/api/timeback/identity/callback`), specify the path here so the handler can
258
+ * intercept it.
259
+ *
260
+ * @example '/api/auth/sso/callback/timeback'
261
+ */
262
+ callbackPath?: string;
263
+ }
264
+ /**
265
+ * Nuxt RequestHandler type.
266
+ *
267
+ * Compatible with Nuxt 3's defineEventHandler pattern.
268
+ */
269
+ export type NuxtRequestHandler = (event: NuxtLikeEvent) => Response | Promise<Response>;
270
+ /**
271
+ * Nuxt route handlers.
272
+ */
273
+ export interface NuxtHandlers {
274
+ GET: NuxtRequestHandler;
275
+ POST: NuxtRequestHandler;
276
+ PUT: NuxtRequestHandler;
277
+ DELETE: NuxtRequestHandler;
278
+ PATCH: NuxtRequestHandler;
279
+ }
280
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Server Adapter Utilities
3
+ *
4
+ * Shared utilities for server framework adapters.
5
+ */
6
+ import type { Handlers } from '../types';
7
+ import type { TimebackInput } from './types';
8
+ /**
9
+ * Extract handlers from flexible input.
10
+ *
11
+ * @param input - TimebackInstance or Handlers
12
+ * @returns Handlers object
13
+ */
14
+ export declare function getHandlers(input: TimebackInput): Handlers;
15
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/server/adapters/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,QAAQ,CAE1D"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Activity Handlers
3
+ *
4
+ * Route handlers for activity tracking.
5
+ */
6
+ import type { ApiCredentials, AppConfig, Environment, IdentityConfig } from '../types';
7
+ /**
8
+ * Configuration for the activity handler.
9
+ */
10
+ interface ActivityHandlerConfig {
11
+ env: Environment;
12
+ identity: IdentityConfig;
13
+ appConfig: AppConfig;
14
+ apiCredentials: ApiCredentials;
15
+ }
16
+ /**
17
+ * Activity handler type.
18
+ */
19
+ type ActivityHandler = (req: Request) => Promise<Response>;
20
+ /**
21
+ * Create the activity POST handler.
22
+ *
23
+ * @param config - Handler configuration
24
+ * @returns The activity request handler
25
+ */
26
+ export declare function createActivityHandler(config: ActivityHandlerConfig): ActivityHandler;
27
+ export {};
28
+ //# sourceMappingURL=activity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/activity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAkCtF;;GAEG;AACH,UAAU,qBAAqB;IAC9B,GAAG,EAAE,WAAW,CAAA;IAChB,QAAQ,EAAE,cAAc,CAAA;IACxB,SAAS,EAAE,SAAS,CAAA;IACpB,cAAc,EAAE,cAAc,CAAA;CAC9B;AAED;;GAEG;AACH,KAAK,eAAe,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAE1D;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,eAAe,CAuCpF"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Identity Handlers
3
+ *
4
+ * Route handlers for SSO identity operations.
5
+ * User session state is managed by your own auth system via the hooks.
6
+ */
7
+ import type { Environment, IdentityConfig } from '../types';
8
+ interface IdentityHandlerParams {
9
+ env: Environment;
10
+ identity: IdentityConfig;
11
+ }
12
+ /**
13
+ * Create identity route handlers.
14
+ *
15
+ * @param params - Handler configuration
16
+ * @returns Identity handlers
17
+ */
18
+ export declare function createIdentityHandlers(params: IdentityHandlerParams): {
19
+ signIn: (req: Request) => Promise<Response>;
20
+ callback: (req: Request) => Promise<Response>;
21
+ signOut: () => Response;
22
+ };
23
+ export {};
24
+ //# sourceMappingURL=identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/identity.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,OAAO,KAAK,EAGX,WAAW,EACX,cAAc,EAEd,MAAM,UAAU,CAAA;AAEjB,UAAU,qBAAqB;IAC9B,GAAG,EAAE,WAAW,CAAA;IAChB,QAAQ,EAAE,cAAc,CAAA;CACxB;AAqPA;;;;;EAKE;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,qBAAqB;;;;EAQnE"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Server Handlers
3
+ *
4
+ * Route handlers for Timeback server operations.
5
+ */
6
+ export { createIdentityHandlers } from './identity';
7
+ export { createActivityHandler } from './activity';
8
+ export { createUserHandler } from './user';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * User Handlers
3
+ *
4
+ * Route handlers for user profile data.
5
+ */
6
+ import type { ApiCredentials, Environment, IdentityConfig } from '../types';
7
+ /**
8
+ * Configuration for the user handler.
9
+ */
10
+ interface UserHandlerConfig {
11
+ env: Environment;
12
+ identity: IdentityConfig;
13
+ apiCredentials: ApiCredentials;
14
+ }
15
+ /**
16
+ * User handler type.
17
+ */
18
+ type UserHandler = (req: Request) => Promise<Response>;
19
+ /**
20
+ * Create the user profile handler.
21
+ *
22
+ * Returns the current user's profile, including identity and enriched data
23
+ * from the Timeback API.
24
+ *
25
+ * @param config - Handler configuration
26
+ * @returns The user profile request handler
27
+ */
28
+ export declare function createUserHandler(config: UserHandlerConfig): UserHandler;
29
+ export {};
30
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/user.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAE3E;;GAEG;AACH,UAAU,iBAAiB;IAC1B,GAAG,EAAE,WAAW,CAAA;IAChB,QAAQ,EAAE,cAAc,CAAA;IACxB,cAAc,EAAE,cAAc,CAAA;CAC9B;AAED;;GAEG;AACH,KAAK,WAAW,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEtD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CA4BxE"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Timeback Server SDK
3
+ *
4
+ * Server-side exports for the Timeback SDK.
5
+ */
6
+ export { createServer } from './timeback';
7
+ export type { TimebackConfig, TimebackInstance, Environment, ApiCredentials, IdentityConfig, SsoIdentityConfig, CustomIdentityConfig, Handlers, BuildStateContext, CallbackSuccessContext, CallbackErrorContext, OIDCTokens, OIDCUserInfo, } from './types';
8
+ export type { CallbackSuccessContext as IdentityCallbackSuccess } from './types';
9
+ export type { CallbackErrorContext as IdentityCallbackError } from './types';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACzC,YAAY,EACX,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,QAAQ,EACR,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,UAAU,EACV,YAAY,GACZ,MAAM,SAAS,CAAA;AAEhB,YAAY,EAAE,sBAAsB,IAAI,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAChF,YAAY,EAAE,oBAAoB,IAAI,qBAAqB,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Server Library
3
+ *
4
+ * Internal utilities for the server SDK.
5
+ */
6
+ export { getIssuer, buildAuthorizationUrl, exchangeCodeForTokens, getUserInfo } from './oidc';
7
+ export { jsonResponse, redirectResponse, encodeBase64Url, decodeBase64Url } from './utils';
8
+ export { ssoLog, oidcLog, createScopedLogger } from './logger';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC1F,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * SDK Logger
3
+ *
4
+ * Debug logging for the Timeback SDK server components.
5
+ * Only logs when DEBUG=1 or DEBUG=true is set.
6
+ */
7
+ import type { Logger } from '@timeback/internal-logger';
8
+ /**
9
+ * Create a scoped logger for SDK components.
10
+ *
11
+ * Only logs debug/info when DEBUG=1 or DEBUG=true.
12
+ *
13
+ * @param scope - Logger scope name (e.g., 'sso', 'oidc')
14
+ * @returns Configured logger instance
15
+ */
16
+ export declare function createScopedLogger(scope: string): Logger;
17
+ /** Logger for SSO/identity operations */
18
+ export declare const ssoLog: Logger;
19
+ /** Logger for OIDC protocol operations */
20
+ export declare const oidcLog: Logger;
21
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/server/lib/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAgBvD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKxD;AAED,yCAAyC;AACzC,eAAO,MAAM,MAAM,QAA4B,CAAA;AAE/C,0CAA0C;AAC1C,eAAO,MAAM,OAAO,QAA6B,CAAA"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * OIDC Helpers
3
+ *
4
+ * Helpers for Timeback SSO via OIDC with automatic endpoint discovery.
5
+ */
6
+ import type { Environment, OIDCTokens, OIDCUserInfo } from '../types';
7
+ /**
8
+ * OIDC Discovery document structure.
9
+ */
10
+ interface OIDCDiscoveryDocument {
11
+ issuer: string;
12
+ authorization_endpoint: string;
13
+ token_endpoint: string;
14
+ userinfo_endpoint: string;
15
+ jwks_uri: string;
16
+ end_session_endpoint?: string;
17
+ }
18
+ /** Parameters for building an authorization URL. */
19
+ interface BuildAuthorizationUrlParams {
20
+ issuer: string;
21
+ clientId: string;
22
+ redirectUri: string;
23
+ state: string;
24
+ }
25
+ /** Parameters for exchanging an authorization code for tokens. */
26
+ interface ExchangeCodeParams {
27
+ issuer: string;
28
+ clientId: string;
29
+ clientSecret: string;
30
+ code: string;
31
+ redirectUri: string;
32
+ }
33
+ /** Parameters for fetching user info. */
34
+ interface GetUserInfoParams {
35
+ issuer: string;
36
+ accessToken: string;
37
+ }
38
+ /**
39
+ * Fetch the OIDC discovery document for an issuer.
40
+ *
41
+ * @param issuer - The OIDC issuer URL
42
+ * @returns The discovery document
43
+ */
44
+ export declare function fetchDiscoveryDocument(issuer: string): Promise<OIDCDiscoveryDocument>;
45
+ /**
46
+ * Get the Timeback IdP issuer URL for the given environment.
47
+ *
48
+ * Uses AWS Cognito User Pools as the identity provider.
49
+ *
50
+ * @param env - The environment
51
+ * @returns The issuer URL
52
+ */
53
+ export declare function getIssuer(env: Environment): string;
54
+ /**
55
+ * Build the authorization URL for OIDC.
56
+ *
57
+ * @param params - Authorization parameters
58
+ * @returns The authorization URL
59
+ */
60
+ export declare function buildAuthorizationUrl(params: BuildAuthorizationUrlParams): Promise<string>;
61
+ /**
62
+ * Exchange authorization code for tokens.
63
+ *
64
+ * @param params - Token exchange parameters
65
+ * @returns The token response
66
+ */
67
+ export declare function exchangeCodeForTokens(params: ExchangeCodeParams): Promise<OIDCTokens>;
68
+ /**
69
+ * Get user info from the IdP.
70
+ *
71
+ * @param params - User info request parameters
72
+ * @returns The user info claims
73
+ */
74
+ export declare function getUserInfo(params: GetUserInfoParams): Promise<OIDCUserInfo>;
75
+ export {};
76
+ //# sourceMappingURL=oidc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oidc.d.ts","sourceRoot":"","sources":["../../../src/server/lib/oidc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAErE;;GAEG;AACH,UAAU,qBAAqB;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,sBAAsB,EAAE,MAAM,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,oDAAoD;AACpD,UAAU,2BAA2B;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACb;AAED,kEAAkE;AAClE,UAAU,kBAAkB;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACnB;AAED,yCAAyC;AACzC,UAAU,iBAAiB;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;CACnB;AAKD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAuB3F;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CASlD;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,MAAM,CAAC,CAWhG;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CA4B3F;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CAclF"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Server Utilities
3
+ *
4
+ * Internal utility functions for the server SDK.
5
+ */
6
+ /**
7
+ * Create a JSON response.
8
+ *
9
+ * @param data - Response data
10
+ * @param status - HTTP status code
11
+ * @param headers - Additional headers
12
+ * @returns JSON response
13
+ */
14
+ export declare function jsonResponse<T>(data: T, status?: number, headers?: HeadersInit): Response;
15
+ /**
16
+ * Create a redirect response.
17
+ *
18
+ * @param url - URL to redirect to
19
+ * @param headers - Additional headers (e.g., Set-Cookie)
20
+ * @returns Redirect response
21
+ */
22
+ export declare function redirectResponse(url: string, headers?: HeadersInit): Response;
23
+ /**
24
+ * Encode an object to a base64url-safe string.
25
+ *
26
+ * Used for OIDC state parameter.
27
+ *
28
+ * @param data - Data to encode
29
+ * @returns Base64url encoded string
30
+ */
31
+ export declare function encodeBase64Url(data: unknown): string;
32
+ /**
33
+ * Decode a base64url string back to an object.
34
+ *
35
+ * @param encoded - Base64url encoded string
36
+ * @returns Decoded object
37
+ */
38
+ export declare function decodeBase64Url<T>(encoded: string): T;
39
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/server/lib/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Timeback Server SDK
3
+ *
4
+ * Factory function to create the Timeback server instance.
5
+ */
6
+ import type { TimebackConfig, TimebackInstance } from './types';
7
+ /**
8
+ * Create a Timeback server instance.
9
+ *
10
+ * Returns a framework-agnostic instance with raw handlers.
11
+ * Use an adapter to integrate with your framework:
12
+ * - `toNextjsHandler()` for Next.js App Router
13
+ * - `toHonoApp()` / `toHonoMiddleware()` for Hono
14
+ * - `toExpressMiddleware()` / `mountExpressRoutes()` for Express
15
+ *
16
+ * @param config - Server configuration
17
+ * @returns Timeback instance with handlers
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * import { createServer } from 'timeback'
22
+ * import { toNextjsHandler } from 'timeback/nextjs'
23
+ *
24
+ * const timeback = await createServer({
25
+ * env: 'production',
26
+ * api: {
27
+ * clientId: process.env.TIMEBACK_API_CLIENT_ID!,
28
+ * clientSecret: process.env.TIMEBACK_API_CLIENT_SECRET!,
29
+ * },
30
+ * identity: {
31
+ * mode: 'custom',
32
+ * getUser: async (req) => {
33
+ * const session = await getSession(req)
34
+ * return {
35
+ * id: session.userId,
36
+ * email: session.user.email,
37
+ * name: session.user.name,
38
+ * }
39
+ * },
40
+ * },
41
+ * })
42
+ *
43
+ * // For Next.js App Router
44
+ * export const { GET, POST } = toNextjsHandler(timeback)
45
+ * ```
46
+ */
47
+ export declare function createServer(config: TimebackConfig): Promise<TimebackInstance>;
48
+ //# sourceMappingURL=timeback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeback.d.ts","sourceRoot":"","sources":["../../src/server/timeback.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwCpF"}