@agelum/backend 0.1.2 → 0.1.3

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 (105) hide show
  1. package/README.md +33 -5
  2. package/dist/client/hooks.d.ts +1 -1
  3. package/dist/client/hooks.d.ts.map +1 -1
  4. package/dist/client/hooks.js +343 -0
  5. package/dist/client/hooks.js.map +1 -0
  6. package/dist/client/index.d.ts +6 -6
  7. package/dist/client/index.d.ts.map +1 -1
  8. package/dist/client/index.js +15 -0
  9. package/dist/client/index.js.map +1 -0
  10. package/dist/client/manager.d.ts +4 -4
  11. package/dist/client/manager.d.ts.map +1 -1
  12. package/dist/client/manager.js +287 -0
  13. package/dist/client/manager.js.map +1 -0
  14. package/dist/client/provider.d.ts +1 -1
  15. package/dist/client/provider.d.ts.map +1 -1
  16. package/dist/client/provider.js +84 -0
  17. package/dist/client/provider.js.map +1 -0
  18. package/dist/client/revalidation.d.ts +2 -2
  19. package/dist/client/revalidation.d.ts.map +1 -1
  20. package/dist/client/revalidation.js +308 -0
  21. package/dist/client/revalidation.js.map +1 -0
  22. package/dist/client/session.d.ts +84 -0
  23. package/dist/client/session.d.ts.map +1 -0
  24. package/dist/client/session.js +180 -0
  25. package/dist/client/session.js.map +1 -0
  26. package/dist/client/sse-client.d.ts +1 -1
  27. package/dist/client/sse-client.d.ts.map +1 -1
  28. package/dist/client/sse-client.js +217 -0
  29. package/dist/client/sse-client.js.map +1 -0
  30. package/dist/client/storage.d.ts +1 -1
  31. package/dist/client/storage.d.ts.map +1 -1
  32. package/dist/client/storage.js +489 -0
  33. package/dist/client/storage.js.map +1 -0
  34. package/dist/client/trpc.js +29 -0
  35. package/dist/client/trpc.js.map +1 -0
  36. package/dist/client/types.d.ts +10 -0
  37. package/dist/client/types.d.ts.map +1 -0
  38. package/dist/client/types.js +2 -0
  39. package/dist/client/types.js.map +1 -0
  40. package/dist/client.d.ts +6 -6
  41. package/dist/client.d.ts.map +1 -1
  42. package/dist/client.js +14 -0
  43. package/dist/client.js.map +1 -0
  44. package/dist/config/schema.d.ts +2 -2
  45. package/dist/config/schema.d.ts.map +1 -1
  46. package/dist/config/schema.js +35 -38
  47. package/dist/config/schema.js.map +1 -1
  48. package/dist/core/analyzer.d.ts +1 -1
  49. package/dist/core/analyzer.d.ts.map +1 -1
  50. package/dist/core/analyzer.js +212 -0
  51. package/dist/core/analyzer.js.map +1 -0
  52. package/dist/core/driver.d.ts +1 -1
  53. package/dist/core/driver.d.ts.map +1 -1
  54. package/dist/core/driver.js +9 -12
  55. package/dist/core/driver.js.map +1 -1
  56. package/dist/core/function.d.ts +1 -1
  57. package/dist/core/function.d.ts.map +1 -1
  58. package/dist/core/function.js +4 -11
  59. package/dist/core/function.js.map +1 -1
  60. package/dist/core/sse.d.ts +1 -1
  61. package/dist/core/sse.d.ts.map +1 -1
  62. package/dist/core/sse.js +323 -0
  63. package/dist/core/sse.js.map +1 -0
  64. package/dist/core/types.js +1 -2
  65. package/dist/index.d.ts +12 -12
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +9 -25
  68. package/dist/index.js.map +1 -1
  69. package/dist/providers/localStorage.d.ts +1 -1
  70. package/dist/providers/localStorage.d.ts.map +1 -1
  71. package/dist/providers/localStorage.js +66 -0
  72. package/dist/providers/localStorage.js.map +1 -0
  73. package/dist/providers/memory.d.ts +1 -1
  74. package/dist/providers/memory.d.ts.map +1 -1
  75. package/dist/providers/memory.js +36 -0
  76. package/dist/providers/memory.js.map +1 -0
  77. package/dist/providers/redis.d.ts +1 -1
  78. package/dist/providers/redis.d.ts.map +1 -1
  79. package/dist/providers/redis.js +32 -0
  80. package/dist/providers/redis.js.map +1 -0
  81. package/dist/server.d.ts +11 -11
  82. package/dist/server.d.ts.map +1 -1
  83. package/dist/server.js +8 -23
  84. package/dist/server.js.map +1 -1
  85. package/dist/trpc/hooks.d.ts +82 -0
  86. package/dist/trpc/hooks.d.ts.map +1 -0
  87. package/dist/trpc/hooks.js +276 -0
  88. package/dist/trpc/hooks.js.map +1 -0
  89. package/dist/trpc/index.d.ts +4 -4
  90. package/dist/trpc/index.d.ts.map +1 -1
  91. package/dist/trpc/index.js +2 -12
  92. package/dist/trpc/index.js.map +1 -1
  93. package/dist/trpc/router.d.ts +3 -3
  94. package/dist/trpc/router.d.ts.map +1 -1
  95. package/dist/trpc/router.js +6 -12
  96. package/dist/trpc/router.js.map +1 -1
  97. package/dist/trpc/types.d.ts +2 -2
  98. package/dist/trpc/types.d.ts.map +1 -1
  99. package/dist/trpc/types.js +1 -2
  100. package/dist/trpc/types.js.map +1 -1
  101. package/package.json +21 -10
  102. package/dist/examples/teamhub-integration.d.ts +0 -56
  103. package/dist/examples/teamhub-integration.d.ts.map +0 -1
  104. package/dist/examples/teamhub-integration.js +0 -192
  105. package/dist/examples/teamhub-integration.js.map +0 -1
@@ -0,0 +1,287 @@
1
+ /**
2
+ * Client-side reactive manager
3
+ * Coordinates storage, session recovery, and real-time synchronization
4
+ */
5
+ import { createReactiveStorage } from './storage.js';
6
+ import { createSimpleSessionManager, revalidateOnPageLoad, } from './session.js';
7
+ import { createSmartRevalidationEngine, } from './revalidation.js';
8
+ import { SSEClient } from './sse-client.js';
9
+ export class ReactiveClientManager {
10
+ storage;
11
+ sessionManager;
12
+ revalidationEngine;
13
+ sseClient = null;
14
+ config;
15
+ organizationId;
16
+ onInvalidation;
17
+ onRevalidate;
18
+ // Event listeners
19
+ visibilityListener;
20
+ beforeUnloadListener;
21
+ constructor(options) {
22
+ this.organizationId = options.organizationId;
23
+ this.config = options.config;
24
+ this.onInvalidation = options.onInvalidation;
25
+ this.onRevalidate = options.onRevalidate;
26
+ // Initialize storage, session management, and smart revalidation
27
+ this.storage = createReactiveStorage(this.organizationId);
28
+ this.sessionManager = createSimpleSessionManager(this.organizationId);
29
+ this.revalidationEngine = createSmartRevalidationEngine(this.storage, this.config);
30
+ // Set up event listeners
31
+ this.setupEventListeners();
32
+ // Initialize SSE connection if real-time is enabled
33
+ if (this.config.realtime?.enabled !== false) {
34
+ this.initializeSSEConnection(options.sseOptions);
35
+ }
36
+ // Initial session gap check (simple revalidation on page load)
37
+ this.checkInitialSession();
38
+ }
39
+ /**
40
+ * Get organization ID
41
+ */
42
+ get currentOrganizationId() {
43
+ return this.organizationId;
44
+ }
45
+ /**
46
+ * Register a query execution
47
+ */
48
+ registerQuery(queryKey, dependencies, data, ttl) {
49
+ this.storage.registerQuery(queryKey, dependencies, data, ttl);
50
+ }
51
+ /**
52
+ * Register an active React hook
53
+ */
54
+ registerActiveHook(queryKey, dependencies) {
55
+ this.storage.registerActiveHook(queryKey, dependencies, this.organizationId);
56
+ // Return cleanup function
57
+ return () => {
58
+ this.storage.unregisterActiveHook(queryKey);
59
+ };
60
+ }
61
+ /**
62
+ * Get cached data for a query
63
+ */
64
+ getCachedData(queryKey) {
65
+ return this.storage.getCachedData(queryKey);
66
+ }
67
+ /**
68
+ * Handle invalidation event from server
69
+ */
70
+ handleInvalidation(event) {
71
+ console.log(`[ReactiveClient] Handling invalidation for table: ${event.table}`);
72
+ // Notify external handler if provided
73
+ if (this.onInvalidation) {
74
+ this.onInvalidation(event);
75
+ }
76
+ // Mark affected queries as invalidated in session manager
77
+ const affectedQueries = this.findAffectedQueries(event.table);
78
+ affectedQueries.forEach((queryKey) => {
79
+ this.sessionManager.markQueryInvalidated(queryKey);
80
+ });
81
+ // Trigger revalidation for affected queries
82
+ if (this.onRevalidate) {
83
+ affectedQueries.forEach((queryKey) => {
84
+ this.revalidateQuery(queryKey);
85
+ });
86
+ }
87
+ }
88
+ /**
89
+ * Find queries affected by table changes
90
+ */
91
+ findAffectedQueries(table) {
92
+ const registry = this.storage.getRegistry();
93
+ if (!registry)
94
+ return [];
95
+ const relatedTables = this.config.relations[table] || [];
96
+ const tablesToCheck = [table, ...relatedTables];
97
+ return Object.keys(registry.queries).filter((queryKey) => {
98
+ // Simple heuristic: check if query key contains table name
99
+ return tablesToCheck.some((tableName) => queryKey.toLowerCase().includes(tableName.toLowerCase()));
100
+ });
101
+ }
102
+ /**
103
+ * Handle connection status changes
104
+ */
105
+ handleConnectionStatus(connected) {
106
+ console.log(`[ReactiveClient] Real-time connection: ${connected}`);
107
+ // Update session manager with connection status
108
+ const registry = this.storage.getRegistry();
109
+ if (registry) {
110
+ registry.session.realtimeConnected = connected;
111
+ this.storage['saveRegistry'](registry);
112
+ }
113
+ }
114
+ /**
115
+ * Revalidate a specific query
116
+ */
117
+ async revalidateQuery(queryKey) {
118
+ if (this.onRevalidate) {
119
+ try {
120
+ const result = await this.onRevalidate(queryKey);
121
+ // Update cache with fresh data
122
+ if (result !== undefined) {
123
+ this.storage.registerQuery(queryKey, [], result);
124
+ }
125
+ return result;
126
+ }
127
+ catch (error) {
128
+ console.error(`[ReactiveClient] Revalidation failed for ${queryKey}:`, error);
129
+ // Do not overwrite cache on error; keep existing data intact
130
+ throw error;
131
+ }
132
+ }
133
+ return undefined;
134
+ }
135
+ /**
136
+ * Initialize SSE connection for real-time updates
137
+ */
138
+ initializeSSEConnection(sseOptions) {
139
+ console.log('[ReactiveClient] Initializing SSE connection');
140
+ // Build SSE URL with organization ID
141
+ const sseUrl = `/api/events?organizationId=${this.organizationId}`;
142
+ this.sseClient = new SSEClient({
143
+ url: sseUrl,
144
+ onInvalidation: (event) => this.handleInvalidation(event),
145
+ onError: (error) => {
146
+ console.error('[ReactiveClient] SSE error:', error);
147
+ },
148
+ ...sseOptions,
149
+ });
150
+ // Connect immediately
151
+ this.sseClient.connect();
152
+ }
153
+ /**
154
+ * Get SSE connection statistics
155
+ */
156
+ getSSEStats() {
157
+ return this.sseClient?.getStats() || null;
158
+ }
159
+ /**
160
+ * Manually reconnect SSE
161
+ */
162
+ reconnectSSE() {
163
+ if (this.sseClient) {
164
+ console.log('[ReactiveClient] Manual SSE reconnection');
165
+ this.sseClient.disconnect();
166
+ setTimeout(() => {
167
+ this.sseClient?.connect();
168
+ }, 1000);
169
+ }
170
+ }
171
+ /**
172
+ * Set up browser event listeners
173
+ */
174
+ setupEventListeners() {
175
+ // Page visibility change (user switches tabs)
176
+ this.visibilityListener = () => {
177
+ if (document.visibilityState === 'visible') {
178
+ this.handleVisibilityChange();
179
+ }
180
+ };
181
+ document.addEventListener('visibilitychange', this.visibilityListener);
182
+ // Before page unload (save state)
183
+ this.beforeUnloadListener = () => {
184
+ // Update last sync time before unload
185
+ const registry = this.storage.getRegistry();
186
+ if (registry) {
187
+ registry.session.lastSync = Date.now();
188
+ this.storage['saveRegistry'](registry);
189
+ }
190
+ };
191
+ window.addEventListener('beforeunload', this.beforeUnloadListener);
192
+ }
193
+ /**
194
+ * Remove event listeners
195
+ */
196
+ removeEventListeners() {
197
+ if (this.visibilityListener) {
198
+ document.removeEventListener('visibilitychange', this.visibilityListener);
199
+ }
200
+ if (this.beforeUnloadListener) {
201
+ window.removeEventListener('beforeunload', this.beforeUnloadListener);
202
+ }
203
+ }
204
+ /**
205
+ * Check for session gap on initial load (simple approach as per spec)
206
+ */
207
+ async checkInitialSession() {
208
+ const activeHookQueries = this.storage
209
+ .getActiveHooks()
210
+ .map((hook) => hook.queryKey);
211
+ await revalidateOnPageLoad(this.sessionManager, activeHookQueries, this.revalidateQuery.bind(this));
212
+ }
213
+ /**
214
+ * Handle page visibility change
215
+ */
216
+ async handleVisibilityChange() {
217
+ if (document.visibilityState === 'visible') {
218
+ // Check for stale data when page becomes visible
219
+ await this.checkInitialSession();
220
+ }
221
+ }
222
+ /**
223
+ * Get current connection status
224
+ */
225
+ getConnectionStatus() {
226
+ if (!this.sseClient)
227
+ return 'disconnected';
228
+ const state = this.sseClient.getConnectionState();
229
+ return state === 'open'
230
+ ? 'connected'
231
+ : state === 'connecting'
232
+ ? 'connecting'
233
+ : 'disconnected';
234
+ }
235
+ /**
236
+ * Check if real-time is enabled and connected
237
+ */
238
+ isRealtimeEnabled() {
239
+ return (this.config.realtime?.enabled !== false &&
240
+ this.sseClient?.isConnected() === true);
241
+ }
242
+ /**
243
+ * Get storage statistics
244
+ */
245
+ getStorageStats() {
246
+ return this.storage.exportRegistry();
247
+ }
248
+ /**
249
+ * Get session statistics
250
+ */
251
+ getSessionStats() {
252
+ return this.sessionManager.getSessionStats();
253
+ }
254
+ /**
255
+ * Get revalidation statistics
256
+ */
257
+ getRevalidationStats() {
258
+ return this.revalidationEngine.getRevalidationStats();
259
+ }
260
+ /**
261
+ * Mark a query as stale for testing purposes
262
+ */
263
+ markQueryStaleForTesting(queryKey) {
264
+ this.storage.markQueryStaleForTesting(queryKey);
265
+ }
266
+ /**
267
+ * Cleanup resources
268
+ */
269
+ cleanup() {
270
+ // Remove event listeners
271
+ this.removeEventListeners();
272
+ // Disconnect SSE
273
+ if (this.sseClient) {
274
+ this.sseClient.disconnect();
275
+ this.sseClient = null;
276
+ }
277
+ // Clear storage
278
+ this.storage.clearRegistry();
279
+ }
280
+ }
281
+ /**
282
+ * Create reactive client manager
283
+ */
284
+ export function createReactiveClientManager(options) {
285
+ return new ReactiveClientManager(options);
286
+ }
287
+ //# sourceMappingURL=manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/client/manager.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { ReactiveConfig } from '../core/types';
2
+ import type { ReactiveConfig } from '../core/types.js';
3
3
  interface ReactiveProviderConfig {
4
4
  relations: Record<string, string[]>;
5
5
  organizationId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/client/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAA;AAE7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEnD,UAAU,sBAAsB;IAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACnC,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CAClD;AAED,UAAU,oBAAoB;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,cAAc,CAAA;IACtB,aAAa,EAAE,OAAO,CAAA;CACvB;AAID;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,MAAM,GACP,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,MAAM,EAAE,sBAAsB,CAAA;CAC/B,oFA2GA;AAED;;GAEG;AACH,wBAAgB,kBAAkB,yBAMjC"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/client/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAA;AAE7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD,UAAU,sBAAsB;IAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACnC,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CAClD;AAED,UAAU,oBAAoB;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,cAAc,CAAA;IACtB,aAAa,EAAE,OAAO,CAAA;CACvB;AAID;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,MAAM,GACP,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,MAAM,EAAE,sBAAsB,CAAA;CAC/B,oFA2GA;AAED;;GAEG;AACH,wBAAgB,kBAAkB,yBAMjC"}
@@ -0,0 +1,84 @@
1
+ import React, { createContext, useContext, useEffect, useState } from 'react';
2
+ import { initializeReactiveClient } from './hooks.js';
3
+ const ReactiveContext = createContext(null);
4
+ /**
5
+ * React context provider for reactive features
6
+ */
7
+ export function ReactiveProvider({ children, config, }) {
8
+ const [isInitialized, setIsInitialized] = useState(false);
9
+ const { organizationId } = config;
10
+ const reactiveConfig = {
11
+ relations: config.relations,
12
+ realtime: {
13
+ enabled: true,
14
+ transport: 'sse',
15
+ },
16
+ };
17
+ // Default revalidation function that returns mock data
18
+ // The ReactiveStorage system handles persistence automatically
19
+ const defaultRevalidateFn = async (queryKey) => {
20
+ console.log('🔄 Default revalidating query:', queryKey);
21
+ // Return mock data based on query key
22
+ if (queryKey.includes('agents.getAll')) {
23
+ const mockData = [
24
+ {
25
+ id: '1',
26
+ name: 'Test Agent 1',
27
+ role: 'assistant',
28
+ organizationId: organizationId,
29
+ isActive: true,
30
+ createdAt: new Date().toISOString(),
31
+ },
32
+ {
33
+ id: '2',
34
+ name: 'Test Agent 2',
35
+ role: 'researcher',
36
+ organizationId: organizationId,
37
+ isActive: true,
38
+ createdAt: new Date().toISOString(),
39
+ },
40
+ ];
41
+ // Note: ReactiveStorage will automatically persist this data
42
+ // No need for manual localStorage handling
43
+ console.log('💾 Mock data generated, ReactiveStorage will persist automatically');
44
+ return mockData;
45
+ }
46
+ return [];
47
+ };
48
+ const revalidateFn = config.revalidateFn || defaultRevalidateFn;
49
+ useEffect(() => {
50
+ console.log('🚀 ReactiveProvider: Initializing reactive client for org:', organizationId);
51
+ try {
52
+ // Initialize the client immediately
53
+ initializeReactiveClient(organizationId, reactiveConfig, revalidateFn);
54
+ setIsInitialized(true);
55
+ console.log('✅ ReactiveProvider: Client initialized successfully for org:', organizationId);
56
+ }
57
+ catch (error) {
58
+ console.error('❌ ReactiveProvider: Failed to initialize client:', error);
59
+ }
60
+ }, [organizationId, revalidateFn]);
61
+ const contextValue = {
62
+ organizationId,
63
+ config: reactiveConfig,
64
+ isInitialized,
65
+ };
66
+ // Don't render children until client is initialized
67
+ if (!isInitialized) {
68
+ return React.createElement(ReactiveContext.Provider, { value: contextValue }, React.createElement('div', { className: 'flex items-center justify-center p-8' }, React.createElement('div', { className: 'text-center' }, React.createElement('div', {
69
+ className: 'animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600 mx-auto mb-4',
70
+ }), React.createElement('p', { className: 'text-gray-600' }, 'Initializing reactive client...'))));
71
+ }
72
+ return React.createElement(ReactiveContext.Provider, { value: contextValue }, children);
73
+ }
74
+ /**
75
+ * Hook to access reactive context
76
+ */
77
+ export function useReactiveContext() {
78
+ const context = useContext(ReactiveContext);
79
+ if (!context) {
80
+ throw new Error('useReactiveContext must be used within a ReactiveProvider');
81
+ }
82
+ return context;
83
+ }
84
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/client/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAerD,MAAM,eAAe,GAAG,aAAa,CAA8B,IAAI,CAAC,CAAA;AAExE;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAC/B,QAAQ,EACR,MAAM,GAIP;IACC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACzD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAA;IAEjC,MAAM,cAAc,GAAmB;QACrC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE;YACR,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,KAAc;SAC1B;KACF,CAAA;IAED,uDAAuD;IACvD,+DAA+D;IAC/D,MAAM,mBAAmB,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;QACrD,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,QAAQ,CAAC,CAAA;QAEvD,sCAAsC;QACtC,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG;gBACf;oBACE,EAAE,EAAE,GAAG;oBACP,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,WAAW;oBACjB,cAAc,EAAE,cAAc;oBAC9B,QAAQ,EAAE,IAAI;oBACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC;gBACD;oBACE,EAAE,EAAE,GAAG;oBACP,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,YAAY;oBAClB,cAAc,EAAE,cAAc;oBAC9B,QAAQ,EAAE,IAAI;oBACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC;aACF,CAAA;YAED,6DAA6D;YAC7D,2CAA2C;YAC3C,OAAO,CAAC,GAAG,CACT,oEAAoE,CACrE,CAAA;YAED,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,OAAO,EAAE,CAAA;IACX,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,mBAAmB,CAAA;IAE/D,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,GAAG,CACT,4DAA4D,EAC5D,cAAc,CACf,CAAA;QAED,IAAI,CAAC;YACH,oCAAoC;YACpC,wBAAwB,CAAC,cAAc,EAAE,cAAc,EAAE,YAAY,CAAC,CAAA;YACtE,gBAAgB,CAAC,IAAI,CAAC,CAAA;YACtB,OAAO,CAAC,GAAG,CACT,8DAA8D,EAC9D,cAAc,CACf,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,KAAK,CAAC,CAAA;QAC1E,CAAC;IACH,CAAC,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,CAAA;IAElC,MAAM,YAAY,GAAyB;QACzC,cAAc;QACd,MAAM,EAAE,cAAc;QACtB,aAAa;KACd,CAAA;IAED,oDAAoD;IACpD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC,aAAa,CACxB,eAAe,CAAC,QAAQ,EACxB,EAAE,KAAK,EAAE,YAAY,EAAE,EACvB,KAAK,CAAC,aAAa,CACjB,KAAK,EACL,EAAE,SAAS,EAAE,sCAAsC,EAAE,EACrD,KAAK,CAAC,aAAa,CACjB,KAAK,EACL,EAAE,SAAS,EAAE,aAAa,EAAE,EAC5B,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;YACzB,SAAS,EACP,2EAA2E;SAC9E,CAAC,EACF,KAAK,CAAC,aAAa,CACjB,GAAG,EACH,EAAE,SAAS,EAAE,eAAe,EAAE,EAC9B,iCAAiC,CAClC,CACF,CACF,CACF,CAAA;IACH,CAAC;IAED,OAAO,KAAK,CAAC,aAAa,CACxB,eAAe,CAAC,QAAQ,EACxB,EAAE,KAAK,EAAE,YAAY,EAAE,EACvB,QAAQ,CACT,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,CAAC,CAAA;IAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;IAC9E,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -2,8 +2,8 @@
2
2
  * Smart revalidation system with active hooks priority
3
3
  * Provides intelligent query revalidation based on user interaction patterns
4
4
  */
5
- import type { ReactiveStorage } from './storage';
6
- import type { ReactiveConfig } from '../core/types';
5
+ import type { ReactiveStorage } from './storage.js';
6
+ import type { ReactiveConfig } from '../core/types.js';
7
7
  export interface RevalidationStrategy {
8
8
  immediate: string[];
9
9
  delayed: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"revalidation.d.ts","sourceRoot":"","sources":["../../src/client/revalidation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"revalidation.d.ts","sourceRoot":"","sources":["../../src/client/revalidation.ts"],"names":[],"mappings":"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"}