@spfn/core 0.2.0-beta.33 → 0.2.0-beta.35

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.
@@ -154,24 +154,28 @@ interface SSEHandlerAuthConfig {
154
154
  */
155
155
  store?: SSETokenStore;
156
156
  /**
157
- * External token manager instance
157
+ * External token manager instance or lazy resolver.
158
158
  *
159
159
  * When provided, the SSE system uses this manager instead of creating its own.
160
160
  * Useful for sharing a single token manager with auth package's one-time token system.
161
161
  *
162
+ * Use a function when the manager is not available at module load time
163
+ * (e.g. initialized in a lifecycle hook that runs after config evaluation).
164
+ *
162
165
  * @example
163
166
  * ```typescript
164
167
  * import { getOneTimeTokenManager } from '@spfn/auth/server';
165
168
  *
166
- * .eventsConfig({
169
+ * // Lazy resolver (recommended — avoids timing issues)
170
+ * .events(eventRouter, {
167
171
  * auth: {
168
172
  * enabled: true,
169
- * tokenManager: getOneTimeTokenManager(),
173
+ * tokenManager: () => getOneTimeTokenManager(),
170
174
  * },
171
175
  * })
172
176
  * ```
173
177
  */
174
- tokenManager?: SSETokenManager;
178
+ tokenManager?: SSETokenManager | (() => SSETokenManager);
175
179
  /**
176
180
  * Extract subject (user ID) from Hono context
177
181
  * @default (c) => c.get('auth')?.userId ?? null
@@ -218,7 +222,7 @@ interface SSEAuthConfig<TRouter extends EventRouterDef<any>> {
218
222
  enabled?: boolean;
219
223
  tokenTtl?: number;
220
224
  store?: SSETokenStore;
221
- tokenManager?: SSETokenManager;
225
+ tokenManager?: SSETokenManager | (() => SSETokenManager);
222
226
  getSubject?: (c: Context) => string | null;
223
227
  authorize?: (subject: string, events: InferEventNames<TRouter>[]) => Promise<InferEventNames<TRouter>[]> | InferEventNames<TRouter>[];
224
228
  filter?: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spfn/core",
3
- "version": "0.2.0-beta.33",
3
+ "version": "0.2.0-beta.35",
4
4
  "description": "SPFN Framework Core - File-based routing, transactions, repository pattern",
5
5
  "type": "module",
6
6
  "exports": {