@agelum/backend 0.1.0 → 0.1.2

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 (86) hide show
  1. package/README.md +184 -113
  2. package/dist/client/hooks.d.ts +2 -2
  3. package/dist/client/hooks.d.ts.map +1 -1
  4. package/dist/client/storage.d.ts +3 -1
  5. package/dist/client/storage.d.ts.map +1 -1
  6. package/dist/client.d.ts +8 -8
  7. package/dist/client.d.ts.map +1 -1
  8. package/dist/config/schema.d.ts +4 -15
  9. package/dist/config/schema.d.ts.map +1 -1
  10. package/dist/core/driver.d.ts +2 -2
  11. package/dist/core/driver.d.ts.map +1 -1
  12. package/dist/core/driver.js +4 -3
  13. package/dist/core/driver.js.map +1 -1
  14. package/dist/core/function.d.ts +17 -11
  15. package/dist/core/function.d.ts.map +1 -1
  16. package/dist/core/function.js +2 -2
  17. package/dist/core/function.js.map +1 -1
  18. package/dist/core/types.d.ts +26 -9
  19. package/dist/core/types.d.ts.map +1 -1
  20. package/dist/examples/teamhub-integration.d.ts +1 -1
  21. package/dist/examples/teamhub-integration.d.ts.map +1 -1
  22. package/dist/examples/teamhub-integration.js +9 -5
  23. package/dist/examples/teamhub-integration.js.map +1 -1
  24. package/dist/index.d.ts +13 -12
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +2 -2
  27. package/dist/index.js.map +1 -1
  28. package/dist/providers/localStorage.d.ts +1 -1
  29. package/dist/providers/localStorage.d.ts.map +1 -1
  30. package/dist/providers/redis.d.ts +1 -1
  31. package/dist/providers/redis.d.ts.map +1 -1
  32. package/dist/server.d.ts +13 -12
  33. package/dist/server.d.ts.map +1 -1
  34. package/dist/server.js +3 -3
  35. package/dist/server.js.map +1 -1
  36. package/dist/trpc/index.d.ts +9 -0
  37. package/dist/trpc/index.d.ts.map +1 -0
  38. package/dist/trpc/index.js +19 -0
  39. package/dist/trpc/index.js.map +1 -0
  40. package/dist/trpc/router.d.ts +3 -2
  41. package/dist/trpc/router.d.ts.map +1 -1
  42. package/dist/trpc/router.js +21 -4
  43. package/dist/trpc/router.js.map +1 -1
  44. package/dist/trpc/types.d.ts +21 -12
  45. package/dist/trpc/types.d.ts.map +1 -1
  46. package/package.json +13 -13
  47. package/dist/client/hooks.js +0 -339
  48. package/dist/client/hooks.js.map +0 -1
  49. package/dist/client/index.js +0 -37
  50. package/dist/client/index.js.map +0 -1
  51. package/dist/client/manager.js +0 -292
  52. package/dist/client/manager.js.map +0 -1
  53. package/dist/client/provider.js +0 -121
  54. package/dist/client/provider.js.map +0 -1
  55. package/dist/client/revalidation.js +0 -313
  56. package/dist/client/revalidation.js.map +0 -1
  57. package/dist/client/session.d.ts +0 -84
  58. package/dist/client/session.d.ts.map +0 -1
  59. package/dist/client/session.js +0 -186
  60. package/dist/client/session.js.map +0 -1
  61. package/dist/client/sse-client.js +0 -221
  62. package/dist/client/sse-client.js.map +0 -1
  63. package/dist/client/storage.js +0 -441
  64. package/dist/client/storage.js.map +0 -1
  65. package/dist/client/trpc.js +0 -36
  66. package/dist/client/trpc.js.map +0 -1
  67. package/dist/client/types.d.ts +0 -10
  68. package/dist/client/types.d.ts.map +0 -1
  69. package/dist/client/types.js +0 -3
  70. package/dist/client/types.js.map +0 -1
  71. package/dist/client.js +0 -26
  72. package/dist/client.js.map +0 -1
  73. package/dist/core/analyzer.js +0 -217
  74. package/dist/core/analyzer.js.map +0 -1
  75. package/dist/core/sse.js +0 -331
  76. package/dist/core/sse.js.map +0 -1
  77. package/dist/providers/localStorage.js +0 -64
  78. package/dist/providers/localStorage.js.map +0 -1
  79. package/dist/providers/memory.js +0 -40
  80. package/dist/providers/memory.js.map +0 -1
  81. package/dist/providers/redis.js +0 -36
  82. package/dist/providers/redis.js.map +0 -1
  83. package/dist/trpc/hooks.d.ts +0 -82
  84. package/dist/trpc/hooks.d.ts.map +0 -1
  85. package/dist/trpc/hooks.js +0 -282
  86. package/dist/trpc/hooks.js.map +0 -1
@@ -15,12 +15,17 @@ exports.ReactiveRouter = void 0;
15
15
  exports.createReactiveRouter = createReactiveRouter;
16
16
  exports.createRouterFromFunctions = createRouterFromFunctions;
17
17
  const server_1 = require("@trpc/server");
18
+ /**
19
+ * Create typed tRPC instance with ReactiveHandlerContext
20
+ */
21
+ const createTypedTRPC = () => server_1.initTRPC.context().create();
18
22
  /**
19
23
  * Simple reactive tRPC router - just exposes reactive functions as tRPC procedures
20
24
  */
21
25
  class ReactiveRouter {
22
26
  t;
23
27
  db;
28
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
29
  procedures = new Map();
25
30
  constructor(config) {
26
31
  this.db = config.db;
@@ -32,9 +37,11 @@ class ReactiveRouter {
32
37
  */
33
38
  addQuery(reactiveFunction) {
34
39
  const name = reactiveFunction.config.name;
40
+ const handler = reactiveFunction.getTrpcHandler(this.db);
35
41
  const procedure = this.t.procedure
36
42
  .input(reactiveFunction.config.input)
37
- .query(reactiveFunction.getTrpcHandler(this.db));
43
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
44
+ .query(async (opts) => handler(opts));
38
45
  this.procedures.set(name, procedure);
39
46
  return this;
40
47
  }
@@ -44,9 +51,11 @@ class ReactiveRouter {
44
51
  */
45
52
  addMutation(reactiveFunction) {
46
53
  const name = reactiveFunction.config.name;
54
+ const handler = reactiveFunction.getTrpcHandler(this.db);
47
55
  const procedure = this.t.procedure
48
56
  .input(reactiveFunction.config.input)
49
- .mutation(reactiveFunction.getTrpcHandler(this.db));
57
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
+ .mutation(async (opts) => handler(opts));
50
59
  this.procedures.set(name, procedure);
51
60
  return this;
52
61
  }
@@ -54,9 +63,11 @@ class ReactiveRouter {
54
63
  * Add a reactive function as a tRPC query with custom name (optional override)
55
64
  */
56
65
  addQueryWithName(name, reactiveFunction) {
66
+ const handler = reactiveFunction.getTrpcHandler(this.db);
57
67
  const procedure = this.t.procedure
58
68
  .input(reactiveFunction.config.input)
59
- .query(reactiveFunction.getTrpcHandler(this.db));
69
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
70
+ .query(async (opts) => handler(opts));
60
71
  this.procedures.set(name, procedure);
61
72
  return this;
62
73
  }
@@ -64,9 +75,11 @@ class ReactiveRouter {
64
75
  * Add a reactive function as a tRPC mutation with custom name (optional override)
65
76
  */
66
77
  addMutationWithName(name, reactiveFunction) {
78
+ const handler = reactiveFunction.getTrpcHandler(this.db);
67
79
  const procedure = this.t.procedure
68
80
  .input(reactiveFunction.config.input)
69
- .mutation(reactiveFunction.getTrpcHandler(this.db));
81
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
82
+ .mutation(async (opts) => handler(opts));
70
83
  this.procedures.set(name, procedure);
71
84
  return this;
72
85
  }
@@ -74,10 +87,12 @@ class ReactiveRouter {
74
87
  * Build the final tRPC router
75
88
  */
76
89
  build() {
90
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
77
91
  const routerObj = {};
78
92
  for (const [name, procedure] of this.procedures) {
79
93
  // Support nested router structure (e.g., 'users.getAll' -> { users: { getAll: procedure } })
80
94
  const parts = name.split('.');
95
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
81
96
  let current = routerObj;
82
97
  for (let i = 0; i < parts.length - 1; i++) {
83
98
  if (!current[parts[i]]) {
@@ -88,8 +103,10 @@ class ReactiveRouter {
88
103
  current[parts[parts.length - 1]] = procedure;
89
104
  }
90
105
  // Recursively wrap nested objects into tRPC routers
106
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
91
107
  const wrapRouters = (node) => {
92
108
  const entries = Object.entries(node);
109
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
93
110
  const built = {};
94
111
  for (const [key, value] of entries) {
95
112
  // Heuristic: a procedure in tRPC has a _def property; nested routers won't
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/trpc/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/trpc/router.ts"],"names":[],"mappings":"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"}
@@ -1,55 +1,64 @@
1
1
  /**
2
2
  * tRPC type definitions for reactive router
3
3
  */
4
- import type { Router } from '@trpc/server';
4
+ import type { AnyRouter } from '@trpc/server';
5
5
  import type { ReactiveRouter } from './router';
6
+ import type { ReactiveDb } from '../core/types';
7
+ import type { z } from 'zod';
6
8
  /**
7
9
  * Type for reactive router instance
8
10
  */
9
11
  export type ReactiveRouterInstance = ReactiveRouter;
10
12
  /**
11
13
  * Type for built tRPC router with reactive features
14
+ * Note: Use `typeof router` from your built router for full type inference
12
15
  */
13
- export type BuiltReactiveRouter = Router<any>;
16
+ export type BuiltReactiveRouter = AnyRouter;
17
+ /**
18
+ * Handler context with reactive database
19
+ */
20
+ export interface ReactiveHandlerContext {
21
+ db: ReactiveDb;
22
+ }
14
23
  /**
15
24
  * Configuration for reactive procedures
16
25
  */
17
- export interface ReactiveProcedureConfig<TInput = any, TOutput = any> {
18
- input?: any;
26
+ export interface ReactiveProcedureConfig<TInput = unknown, TOutput = unknown> {
27
+ input?: z.ZodType<TInput>;
19
28
  dependencies?: string[];
20
29
  invalidates?: string[];
21
30
  handler: (opts: {
22
31
  input: TInput;
23
- ctx: any;
32
+ ctx: ReactiveHandlerContext;
24
33
  }) => Promise<TOutput>;
25
34
  }
26
35
  /**
27
36
  * Reactive query procedure configuration
28
37
  */
29
- export interface ReactiveQueryConfig<TInput = any, TOutput = any> extends ReactiveProcedureConfig<TInput, TOutput> {
38
+ export interface ReactiveQueryConfig<TInput = unknown, TOutput = unknown> extends ReactiveProcedureConfig<TInput, TOutput> {
30
39
  dependencies: string[];
31
40
  }
32
41
  /**
33
42
  * Reactive mutation procedure configuration
34
43
  */
35
- export interface ReactiveMutationConfig<TInput = any, TOutput = any> extends ReactiveProcedureConfig<TInput, TOutput> {
44
+ export interface ReactiveMutationConfig<TInput = unknown, TOutput = unknown> extends ReactiveProcedureConfig<TInput, TOutput> {
36
45
  invalidates: string[];
37
46
  }
38
47
  /**
39
48
  * Reactive subscription procedure configuration
40
49
  */
41
- export interface ReactiveSubscriptionConfig<TInput = any, TOutput = any> {
42
- input?: any;
50
+ export interface ReactiveSubscriptionConfig<TInput = unknown, TOutput = unknown> {
51
+ input?: z.ZodType<TInput>;
43
52
  dependencies: string[];
44
53
  handler: (opts: {
45
54
  input: TInput;
46
- ctx: any;
55
+ ctx: ReactiveHandlerContext;
47
56
  }) => AsyncIterable<TOutput>;
48
57
  }
49
58
  /**
50
59
  * Cache entry metadata
51
60
  */
52
- export interface CacheEntry<T = any> {
61
+ export interface CacheEntry<T = unknown> {
53
62
  data: T;
54
63
  timestamp: number;
55
64
  dependencies: string[];
@@ -83,7 +92,7 @@ export interface ReactiveRouterBuilder {
83
92
  */
84
93
  export interface InvalidationContext {
85
94
  mutation: string;
86
- input: any;
95
+ input: unknown;
87
96
  timestamp: number;
88
97
  organizationId?: string;
89
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/trpc/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/trpc/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agelum/backend",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Zero configuration, maximum intelligence. Reactive database library for Drizzle ORM with real-time synchronization.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -30,14 +30,6 @@
30
30
  "dist/**/*",
31
31
  "README.md"
32
32
  ],
33
- "scripts": {
34
- "build": "pnpm install && tsc",
35
- "dev": "tsc --watch",
36
- "clean": "rm -rf dist",
37
- "types": "tsc --declaration --emitDeclarationOnly",
38
- "test": "jest",
39
- "lint": "eslint src/**/*.ts"
40
- },
41
33
  "keywords": [
42
34
  "drizzle",
43
35
  "reactive",
@@ -78,10 +70,18 @@
78
70
  },
79
71
  "repository": {
80
72
  "type": "git",
81
- "url": "https://github.com/agelum/drizzle-reactive"
73
+ "url": "https://github.com/agelum/backend"
82
74
  },
83
- "homepage": "https://github.com/agelum/drizzle-reactive#readme",
75
+ "homepage": "https://github.com/agelum/backend#readme",
84
76
  "bugs": {
85
- "url": "https://github.com/agelum/drizzle-reactive/issues"
77
+ "url": "https://github.com/agelum/backend/issues"
78
+ },
79
+ "scripts": {
80
+ "build": "pnpm install && tsc",
81
+ "dev": "tsc --watch",
82
+ "clean": "rm -rf dist",
83
+ "types": "tsc --declaration --emitDeclarationOnly",
84
+ "test": "jest",
85
+ "lint": "eslint src/**/*.ts"
86
86
  }
87
- }
87
+ }
@@ -1,339 +0,0 @@
1
- "use strict";
2
- /**
3
- * React hooks for @drizzle/reactive
4
- * Provides reactive data access with automatic caching and real-time updates
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.initializeReactiveClient = initializeReactiveClient;
8
- exports.useReactive = useReactive;
9
- exports.useReactivePriorities = useReactivePriorities;
10
- exports.useReactiveStats = useReactiveStats;
11
- exports.useReactiveRefresh = useReactiveRefresh;
12
- exports.useRevalidationStats = useRevalidationStats;
13
- exports.useReactiveInvalidation = useReactiveInvalidation;
14
- exports.useReactiveQuery = useReactiveQuery;
15
- exports.useReactiveConnection = useReactiveConnection;
16
- const react_1 = require("react");
17
- const manager_1 = require("./manager");
18
- // Global client manager instance
19
- let globalClientManager = null;
20
- /**
21
- * Get or create the global client manager
22
- */
23
- function getClientManager() {
24
- if (!globalClientManager) {
25
- throw new Error('Reactive client not initialized. Call initializeReactiveClient first.');
26
- }
27
- return globalClientManager;
28
- }
29
- /**
30
- * Initialize the reactive client
31
- * Call this once at app startup
32
- */
33
- function initializeReactiveClient(organizationId, config, revalidateFn) {
34
- console.log('🚀 Initializing reactive client for org:', organizationId);
35
- if (globalClientManager) {
36
- console.log('⚠️ Client already initialized, cleaning up previous instance');
37
- globalClientManager.cleanup();
38
- }
39
- globalClientManager = (0, manager_1.createReactiveClientManager)({
40
- organizationId,
41
- config,
42
- onRevalidate: revalidateFn,
43
- onInvalidation: (event) => {
44
- console.log(`[ReactiveClient] Received invalidation for table: ${event.table}`);
45
- },
46
- });
47
- // Expose client manager to window for testing purposes
48
- if (typeof window !== 'undefined') {
49
- ;
50
- window.__reactiveClientManager = globalClientManager;
51
- console.log('🔧 [ReactiveClient] Client manager exposed to window for testing');
52
- }
53
- console.log('✅ Reactive client initialized successfully for org:', organizationId);
54
- }
55
- /**
56
- * Main hook for reactive data access
57
- * Automatically handles caching, real-time updates, and revalidation
58
- */
59
- function useReactive(queryKey, input, options) {
60
- const [data, setData] = (0, react_1.useState)(undefined);
61
- const [isLoading, setIsLoading] = (0, react_1.useState)(true);
62
- const [isStale, setIsStale] = (0, react_1.useState)(false);
63
- const [error, setError] = (0, react_1.useState)(null);
64
- const clientManager = getClientManager();
65
- const isInitialMount = (0, react_1.useRef)(true);
66
- // Handle enabled option
67
- const enabled = options?.enabled !== false;
68
- // Compose an effective cache key that includes serialized input
69
- const inputKey = typeof input === 'undefined' ? '' : `::${JSON.stringify(input)}`;
70
- const effectiveKey = `${queryKey}${inputKey}`;
71
- // Register this hook as active
72
- (0, react_1.useEffect)(() => {
73
- if (!enabled) {
74
- return;
75
- }
76
- const cleanup = clientManager.registerActiveHook(effectiveKey, []);
77
- return cleanup;
78
- }, [effectiveKey, clientManager, enabled]);
79
- // Load data on mount and when queryKey changes
80
- (0, react_1.useEffect)(() => {
81
- if (!enabled) {
82
- setIsLoading(false);
83
- return;
84
- }
85
- const loadData = async () => {
86
- try {
87
- setIsLoading(true);
88
- setError(null);
89
- // Check ReactiveStorage cache first (immediate display)
90
- const cached = clientManager.getCachedData(effectiveKey);
91
- // Reduced logging - only log cache misses
92
- if (!cached) {
93
- console.log(`🔍 [useReactive] Cache miss for ${queryKey}`);
94
- }
95
- if (cached) {
96
- try {
97
- const now = Date.now();
98
- const cacheAge = now - cached.lastRevalidated;
99
- const minRevalidationTime = 5 * 60 * 1000; // 5 minutes minimum between revalidations
100
- // Reduced logging - only log when cache is stale
101
- if (cached.isStale) {
102
- console.log(`📊 [useReactive] Cache is stale for ${queryKey}`);
103
- }
104
- // Show cached data immediately
105
- setData(cached.data);
106
- setIsStale(cached.isStale || false);
107
- // Only revalidate if cache is old enough (avoid excessive revalidation)
108
- if (cacheAge > minRevalidationTime) {
109
- console.log(`🔄 [useReactive] Revalidating stale cache for ${queryKey}`);
110
- // Trigger revalidation in background
111
- clientManager
112
- .revalidateQuery(effectiveKey)
113
- .then((result) => {
114
- if (result !== undefined) {
115
- setData(result);
116
- setIsStale(false);
117
- // Update ReactiveStorage with fresh data
118
- clientManager.registerQuery(effectiveKey, [], result);
119
- // Reduced logging - only log significant updates
120
- }
121
- })
122
- .catch((error) => {
123
- console.warn(`[useReactive] Background revalidation failed:`, error);
124
- // Keep showing cached data even if revalidation fails
125
- });
126
- }
127
- else {
128
- // Reduced logging - only log when cache is stale
129
- }
130
- setIsLoading(false);
131
- isInitialMount.current = false;
132
- return;
133
- }
134
- catch (parseError) {
135
- console.warn('⚠️ Failed to parse cached data:', parseError);
136
- // Continue with revalidation if cache is corrupted
137
- }
138
- }
139
- // No cache or corrupted cache - trigger immediate fetch
140
- console.log(`[useReactive] No cache for ${queryKey}, fetching...`);
141
- const result = await clientManager.revalidateQuery(effectiveKey);
142
- if (result !== undefined) {
143
- setData(result);
144
- setIsStale(false);
145
- // Store in ReactiveStorage for future use
146
- clientManager.registerQuery(effectiveKey, [], result);
147
- // Reduced logging - only log significant updates
148
- }
149
- setIsLoading(false);
150
- isInitialMount.current = false;
151
- }
152
- catch (err) {
153
- // On error, don't register cache; surface error and keep prior cache visible
154
- setError(err);
155
- setIsLoading(false);
156
- isInitialMount.current = false;
157
- }
158
- };
159
- loadData();
160
- }, [effectiveKey, clientManager]);
161
- const refetch = (0, react_1.useCallback)(async () => {
162
- if (!enabled) {
163
- return;
164
- }
165
- try {
166
- setIsLoading(true);
167
- setError(null);
168
- // Reduced logging - only log when there are issues
169
- // Trigger manual revalidation
170
- await clientManager.revalidateQuery(effectiveKey);
171
- // Update stale state
172
- setIsStale(false);
173
- setIsLoading(false);
174
- }
175
- catch (err) {
176
- setError(err);
177
- setIsLoading(false);
178
- }
179
- }, [effectiveKey, clientManager, enabled]);
180
- return {
181
- data,
182
- isLoading,
183
- isStale,
184
- error,
185
- refetch,
186
- };
187
- }
188
- /**
189
- * Optional page-level priority hints for better UX
190
- */
191
- function useReactivePriorities(priorities) {
192
- (0, react_1.useEffect)(() => {
193
- // Reduced logging - only log when there are issues
194
- // In a full implementation, this would:
195
- // 1. Pre-warm cache for these queries
196
- // 2. Subscribe to their invalidation events
197
- // 3. Set higher revalidation priority
198
- return () => {
199
- // Reduced logging - only log when there are issues
200
- };
201
- }, [priorities.join(',')]);
202
- }
203
- /**
204
- * Hook to get current session statistics
205
- */
206
- function useReactiveStats() {
207
- const [stats, setStats] = (0, react_1.useState)(null);
208
- const clientManager = getClientManager();
209
- (0, react_1.useEffect)(() => {
210
- const updateStats = () => {
211
- setStats(clientManager.getSessionStats());
212
- };
213
- // Update stats immediately
214
- updateStats();
215
- // Update stats every 5 seconds
216
- const interval = setInterval(updateStats, 5000);
217
- return () => clearInterval(interval);
218
- }, [clientManager]);
219
- return stats;
220
- }
221
- /**
222
- * Hook to manually trigger cache refresh
223
- */
224
- function useReactiveRefresh() {
225
- const clientManager = getClientManager();
226
- return (0, react_1.useCallback)(async () => {
227
- // Trigger revalidation for all active queries
228
- const activeHooks = clientManager.getStorageStats()?.queries || {};
229
- const activeQueryKeys = Object.keys(activeHooks);
230
- console.log(`[useReactiveRefresh] Refreshing ${activeQueryKeys.length} active queries`);
231
- // Revalidate all active queries
232
- await Promise.allSettled(activeQueryKeys.map((queryKey) => clientManager.revalidateQuery(queryKey)));
233
- }, [clientManager]);
234
- }
235
- /**
236
- * Hook to get revalidation statistics and performance metrics
237
- */
238
- function useRevalidationStats() {
239
- const [stats, setStats] = (0, react_1.useState)(null);
240
- const clientManager = getClientManager();
241
- (0, react_1.useEffect)(() => {
242
- const updateStats = () => {
243
- const revalidationStats = clientManager.getRevalidationStats();
244
- setStats(revalidationStats);
245
- };
246
- updateStats();
247
- const interval = setInterval(updateStats, 2000);
248
- return () => clearInterval(interval);
249
- }, [clientManager]);
250
- return stats;
251
- }
252
- /**
253
- * Hook to handle invalidation events
254
- */
255
- function useReactiveInvalidation(callback) {
256
- const clientManager = getClientManager();
257
- (0, react_1.useEffect)(() => {
258
- // In a full implementation, this would subscribe to invalidation events
259
- console.log('[useReactiveInvalidation] Setting up invalidation listener');
260
- return () => {
261
- console.log('[useReactiveInvalidation] Cleaning up invalidation listener');
262
- };
263
- }, [callback, clientManager]);
264
- }
265
- /**
266
- * Hook for manual queries with dynamic parameters
267
- * Unlike useReactive, this hook doesn't auto-fetch and allows changing parameters on each call
268
- */
269
- function useReactiveQuery(queryKey) {
270
- const [data, setData] = (0, react_1.useState)(undefined);
271
- const [error, setError] = (0, react_1.useState)(null);
272
- const [isLoading, setIsLoading] = (0, react_1.useState)(false);
273
- const [lastVariables, setLastVariables] = (0, react_1.useState)(undefined);
274
- const clientManager = getClientManager();
275
- const executeQuery = (0, react_1.useCallback)(async (variables) => {
276
- setIsLoading(true);
277
- setError(null);
278
- try {
279
- console.log(`[useReactiveQuery] Executing ${queryKey}`, variables);
280
- // Compose cache key with variables
281
- const inputKey = typeof variables === 'undefined'
282
- ? ''
283
- : `::${JSON.stringify(variables)}`;
284
- const effectiveKey = `${queryKey}${inputKey}`;
285
- // Execute the query through the client manager
286
- const result = await clientManager.revalidateQuery(effectiveKey);
287
- setData(result);
288
- setLastVariables(variables);
289
- console.log(`✅ [useReactiveQuery] ${queryKey} completed successfully`);
290
- return result;
291
- }
292
- catch (err) {
293
- const error = err;
294
- setError(error);
295
- console.error(`❌ [useReactiveQuery] ${queryKey} failed:`, error);
296
- throw error;
297
- }
298
- finally {
299
- setIsLoading(false);
300
- }
301
- }, [queryKey, clientManager]);
302
- const refetch = (0, react_1.useCallback)(async (variables) => {
303
- const varsToUse = variables || lastVariables;
304
- if (!varsToUse) {
305
- throw new Error('No variables provided for refetch and no previous variables stored');
306
- }
307
- return executeQuery(varsToUse);
308
- }, [executeQuery, lastVariables]);
309
- return {
310
- data,
311
- isLoading,
312
- error,
313
- refetch,
314
- run: executeQuery,
315
- };
316
- }
317
- /**
318
- * Hook to get connection status
319
- */
320
- function useReactiveConnection() {
321
- const [status, setStatus] = (0, react_1.useState)('disconnected');
322
- const clientManager = getClientManager();
323
- (0, react_1.useEffect)(() => {
324
- const updateStatus = () => {
325
- setStatus(clientManager.getConnectionStatus());
326
- };
327
- updateStatus();
328
- const interval = setInterval(updateStatus, 1000);
329
- return () => clearInterval(interval);
330
- }, [clientManager]);
331
- return {
332
- status,
333
- isConnected: status === 'connected',
334
- isConnecting: status === 'connecting',
335
- isDisconnected: status === 'disconnected',
336
- reconnect: () => clientManager.reconnectSSE(),
337
- };
338
- }
339
- //# sourceMappingURL=hooks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/client/hooks.ts"],"names":[],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- "use strict";
2
- /**
3
- * Client-side reactive database features
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ReactiveProvider = exports.createSmartRevalidationEngine = exports.SmartRevalidationEngine = exports.initializeReactiveClient = exports.useReactiveConnection = exports.useRevalidationStats = exports.useReactiveInvalidation = exports.useReactiveRefresh = exports.useReactiveStats = exports.useReactivePriorities = exports.useReactiveQuery = exports.useReactive = exports.createReactiveClientManager = exports.ReactiveClientManager = exports.revalidateOnPageLoad = exports.createSimpleSessionManager = exports.SimpleSessionManager = exports.createReactiveStorage = exports.ReactiveStorage = void 0;
7
- // Storage and session management
8
- var storage_1 = require("./storage");
9
- Object.defineProperty(exports, "ReactiveStorage", { enumerable: true, get: function () { return storage_1.ReactiveStorage; } });
10
- Object.defineProperty(exports, "createReactiveStorage", { enumerable: true, get: function () { return storage_1.createReactiveStorage; } });
11
- var session_1 = require("./session");
12
- Object.defineProperty(exports, "SimpleSessionManager", { enumerable: true, get: function () { return session_1.SimpleSessionManager; } });
13
- Object.defineProperty(exports, "createSimpleSessionManager", { enumerable: true, get: function () { return session_1.createSimpleSessionManager; } });
14
- Object.defineProperty(exports, "revalidateOnPageLoad", { enumerable: true, get: function () { return session_1.revalidateOnPageLoad; } });
15
- // Client manager
16
- var manager_1 = require("./manager");
17
- Object.defineProperty(exports, "ReactiveClientManager", { enumerable: true, get: function () { return manager_1.ReactiveClientManager; } });
18
- Object.defineProperty(exports, "createReactiveClientManager", { enumerable: true, get: function () { return manager_1.createReactiveClientManager; } });
19
- // React hooks
20
- var hooks_1 = require("./hooks");
21
- Object.defineProperty(exports, "useReactive", { enumerable: true, get: function () { return hooks_1.useReactive; } });
22
- Object.defineProperty(exports, "useReactiveQuery", { enumerable: true, get: function () { return hooks_1.useReactiveQuery; } });
23
- Object.defineProperty(exports, "useReactivePriorities", { enumerable: true, get: function () { return hooks_1.useReactivePriorities; } });
24
- Object.defineProperty(exports, "useReactiveStats", { enumerable: true, get: function () { return hooks_1.useReactiveStats; } });
25
- Object.defineProperty(exports, "useReactiveRefresh", { enumerable: true, get: function () { return hooks_1.useReactiveRefresh; } });
26
- Object.defineProperty(exports, "useReactiveInvalidation", { enumerable: true, get: function () { return hooks_1.useReactiveInvalidation; } });
27
- Object.defineProperty(exports, "useRevalidationStats", { enumerable: true, get: function () { return hooks_1.useRevalidationStats; } });
28
- Object.defineProperty(exports, "useReactiveConnection", { enumerable: true, get: function () { return hooks_1.useReactiveConnection; } });
29
- Object.defineProperty(exports, "initializeReactiveClient", { enumerable: true, get: function () { return hooks_1.initializeReactiveClient; } });
30
- // Smart revalidation
31
- var revalidation_1 = require("./revalidation");
32
- Object.defineProperty(exports, "SmartRevalidationEngine", { enumerable: true, get: function () { return revalidation_1.SmartRevalidationEngine; } });
33
- Object.defineProperty(exports, "createSmartRevalidationEngine", { enumerable: true, get: function () { return revalidation_1.createSmartRevalidationEngine; } });
34
- // Provider and types
35
- var provider_1 = require("./provider");
36
- Object.defineProperty(exports, "ReactiveProvider", { enumerable: true, get: function () { return provider_1.ReactiveProvider; } });
37
- //# sourceMappingURL=index.js.map