@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
package/dist/core/sse.js DELETED
@@ -1,331 +0,0 @@
1
- "use strict";
2
- /**
3
- * Server-Sent Events implementation for real-time cache invalidation
4
- * Perfect for unidirectional communication with automatic reconnection
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.SSEManager = void 0;
8
- exports.getSSEManager = getSSEManager;
9
- exports.createSSEStream = createSSEStream;
10
- exports.broadcastInvalidation = broadcastInvalidation;
11
- exports.acknowledgeEvent = acknowledgeEvent;
12
- /**
13
- * SSE Manager for reliable real-time communication
14
- * NO HEARTBEATS - uses event acknowledgments and connection monitoring instead
15
- */
16
- class SSEManager {
17
- connections = new Map();
18
- pendingEvents = new Map();
19
- retrySchedule = [2000, 5000, 10000]; // 2s, 5s, 10s
20
- connectionMonitorInterval = null;
21
- constructor() {
22
- this.startConnectionMonitor();
23
- }
24
- /**
25
- * Create SSE stream for an organization
26
- */
27
- createSSEStream(organizationId) {
28
- const encoder = new TextEncoder();
29
- const stream = new ReadableStream({
30
- start: (controller) => {
31
- const connection = {
32
- organizationId,
33
- controller,
34
- lastActivity: Date.now(), // Track last activity instead of heartbeat
35
- isActive: true,
36
- };
37
- // Register connection
38
- this.addConnection(organizationId, connection);
39
- // Send initial connection event
40
- this.sendEvent(controller, {
41
- type: 'connected',
42
- organizationId,
43
- timestamp: Date.now(),
44
- });
45
- console.log(`[SSE] New connection for org: ${organizationId}`);
46
- // Cleanup on disconnect
47
- return () => {
48
- console.log(`[SSE] Connection closed for org: ${organizationId}`);
49
- connection.isActive = false;
50
- this.removeConnection(organizationId, connection);
51
- };
52
- },
53
- cancel: () => {
54
- console.log(`[SSE] Stream cancelled for org: ${organizationId}`);
55
- },
56
- });
57
- return new Response(stream, {
58
- headers: {
59
- 'Content-Type': 'text/event-stream',
60
- 'Cache-Control': 'no-cache',
61
- Connection: 'keep-alive',
62
- 'Access-Control-Allow-Origin': '*',
63
- 'Access-Control-Allow-Headers': 'Cache-Control',
64
- },
65
- });
66
- }
67
- /**
68
- * Broadcast invalidation event to all connections in an organization
69
- */
70
- async broadcastInvalidation(organizationId, invalidationData) {
71
- const eventId = this.generateEventId();
72
- const event = {
73
- ...invalidationData,
74
- eventId,
75
- requiresAck: true,
76
- };
77
- console.log(`🔥 [SSE-BROADCAST] Broadcasting invalidation for org: ${organizationId}, table: ${event.table}, operation: ${event.operation}, eventId: ${eventId}`);
78
- console.log('🔥 [SSE-BROADCAST] Event details:', {
79
- table: event.table,
80
- operation: event.operation,
81
- affectedQueries: event.affectedQueries,
82
- affectedKeys: event.affectedKeys,
83
- });
84
- // Store for potential retry
85
- const pendingEvent = {
86
- id: eventId,
87
- organizationId,
88
- data: event,
89
- timestamp: Date.now(),
90
- delivered: false,
91
- retryCount: 0,
92
- maxRetries: 3,
93
- };
94
- this.pendingEvents.set(eventId, pendingEvent);
95
- // Send to all connections
96
- const connections = this.connections.get(organizationId);
97
- if (connections && connections.size > 0) {
98
- let successCount = 0;
99
- let failCount = 0;
100
- for (const connection of connections) {
101
- if (connection.isActive) {
102
- try {
103
- this.sendEvent(connection.controller, event);
104
- // Update last activity when we successfully send an event
105
- connection.lastActivity = Date.now();
106
- successCount++;
107
- }
108
- catch (error) {
109
- console.warn(`[SSE] Failed to send to connection:`, error);
110
- connection.isActive = false;
111
- failCount++;
112
- }
113
- }
114
- }
115
- console.log(`[SSE] Broadcast complete: ${successCount} sent, ${failCount} failed`);
116
- // If no successful sends, schedule retry
117
- if (successCount === 0) {
118
- this.scheduleRetryIfNeeded(eventId);
119
- }
120
- }
121
- else {
122
- console.log(`[SSE] No active connections for org: ${organizationId}`);
123
- // Still schedule retry in case connections come back
124
- this.scheduleRetryIfNeeded(eventId);
125
- }
126
- }
127
- /**
128
- * Acknowledge event receipt (called by client)
129
- */
130
- acknowledgeEvent(eventId) {
131
- const event = this.pendingEvents.get(eventId);
132
- if (event) {
133
- event.delivered = true;
134
- this.pendingEvents.delete(eventId);
135
- console.log(`[SSE] Event acknowledged: ${eventId}`);
136
- }
137
- }
138
- /**
139
- * Get connection statistics
140
- */
141
- getConnectionStats() {
142
- const connectionsByOrg = {};
143
- let totalConnections = 0;
144
- for (const [orgId, connections] of this.connections) {
145
- const activeConnections = Array.from(connections).filter((conn) => conn.isActive).length;
146
- connectionsByOrg[orgId] = activeConnections;
147
- totalConnections += activeConnections;
148
- }
149
- return {
150
- totalConnections,
151
- connectionsByOrg,
152
- pendingEvents: this.pendingEvents.size,
153
- activeEvents: Array.from(this.pendingEvents.values()).filter((event) => !event.delivered),
154
- };
155
- }
156
- /**
157
- * Send event to a specific connection
158
- */
159
- sendEvent(controller, data) {
160
- try {
161
- const encoder = new TextEncoder();
162
- const eventData = `data: ${JSON.stringify(data)}\n\n`;
163
- controller.enqueue(encoder.encode(eventData));
164
- }
165
- catch (error) {
166
- console.warn('[SSE] Failed to send event:', error);
167
- throw error;
168
- }
169
- }
170
- /**
171
- * Add connection to organization
172
- */
173
- addConnection(organizationId, connection) {
174
- if (!this.connections.has(organizationId)) {
175
- this.connections.set(organizationId, new Set());
176
- }
177
- this.connections.get(organizationId).add(connection);
178
- }
179
- /**
180
- * Remove connection from organization
181
- */
182
- removeConnection(organizationId, connection) {
183
- const connections = this.connections.get(organizationId);
184
- if (connections) {
185
- connections.delete(connection);
186
- if (connections.size === 0) {
187
- this.connections.delete(organizationId);
188
- }
189
- }
190
- }
191
- /**
192
- * Schedule retry for unacknowledged events
193
- */
194
- scheduleRetryIfNeeded(eventId) {
195
- const event = this.pendingEvents.get(eventId);
196
- if (!event || event.delivered)
197
- return;
198
- const delay = this.retrySchedule[event.retryCount] || 10000;
199
- setTimeout(async () => {
200
- const currentEvent = this.pendingEvents.get(eventId);
201
- if (!currentEvent || currentEvent.delivered)
202
- return;
203
- if (currentEvent.retryCount < currentEvent.maxRetries) {
204
- currentEvent.retryCount++;
205
- console.log(`[SSE] Retrying event ${eventId} (attempt ${currentEvent.retryCount})`);
206
- // Retry broadcast
207
- const connections = this.connections.get(currentEvent.organizationId);
208
- if (connections && connections.size > 0) {
209
- for (const connection of connections) {
210
- if (connection.isActive) {
211
- try {
212
- this.sendEvent(connection.controller, {
213
- ...currentEvent.data,
214
- retry: currentEvent.retryCount,
215
- });
216
- // Update last activity on successful retry
217
- connection.lastActivity = Date.now();
218
- }
219
- catch (error) {
220
- connection.isActive = false;
221
- }
222
- }
223
- }
224
- }
225
- this.scheduleRetryIfNeeded(eventId);
226
- }
227
- else {
228
- console.warn(`[SSE] Event ${eventId} failed after ${currentEvent.maxRetries} retries`);
229
- this.pendingEvents.delete(eventId);
230
- }
231
- }, delay);
232
- }
233
- /**
234
- * Monitor connections for health without sending heartbeats
235
- * Uses activity tracking and error detection instead of periodic messages
236
- */
237
- startConnectionMonitor() {
238
- this.connectionMonitorInterval = setInterval(() => {
239
- const now = Date.now();
240
- const maxInactivity = 120000; // 2 minutes of inactivity
241
- for (const [orgId, connections] of this.connections) {
242
- for (const connection of connections) {
243
- // Mark connections as inactive if they haven't had activity in 2 minutes
244
- if (connection.isActive && now - connection.lastActivity > maxInactivity) {
245
- console.log(`[SSE] Marking inactive connection as closed for org: ${orgId}`);
246
- connection.isActive = false;
247
- }
248
- }
249
- // Remove inactive connections
250
- const activeConnections = Array.from(connections).filter((conn) => conn.isActive);
251
- if (activeConnections.length !== connections.size) {
252
- this.connections.set(orgId, new Set(activeConnections));
253
- if (activeConnections.length === 0) {
254
- this.connections.delete(orgId);
255
- }
256
- }
257
- }
258
- // Clean up old pending events (older than 5 minutes)
259
- const maxEventAge = 300000; // 5 minutes
260
- for (const [eventId, event] of this.pendingEvents) {
261
- if (now - event.timestamp > maxEventAge) {
262
- console.log(`[SSE] Cleaning up old pending event: ${eventId}`);
263
- this.pendingEvents.delete(eventId);
264
- }
265
- }
266
- }, 60000); // Check every minute instead of every 30 seconds
267
- }
268
- /**
269
- * Generate unique event ID
270
- */
271
- generateEventId() {
272
- return `evt_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
273
- }
274
- /**
275
- * Cleanup resources
276
- */
277
- cleanup() {
278
- if (this.connectionMonitorInterval) {
279
- clearInterval(this.connectionMonitorInterval);
280
- }
281
- // Close all connections
282
- for (const [, connections] of this.connections) {
283
- for (const connection of connections) {
284
- if (connection.isActive) {
285
- try {
286
- connection.controller.close();
287
- }
288
- catch (error) {
289
- // Ignore close errors
290
- }
291
- }
292
- }
293
- }
294
- this.connections.clear();
295
- this.pendingEvents.clear();
296
- }
297
- }
298
- exports.SSEManager = SSEManager;
299
- // Global SSE manager instance
300
- let globalSSEManager = null;
301
- /**
302
- * Get or create global SSE manager
303
- */
304
- function getSSEManager() {
305
- if (!globalSSEManager) {
306
- globalSSEManager = new SSEManager();
307
- }
308
- return globalSSEManager;
309
- }
310
- /**
311
- * Create SSE stream for Vercel/Next.js API routes
312
- */
313
- function createSSEStream(organizationId) {
314
- const manager = getSSEManager();
315
- return manager.createSSEStream(organizationId);
316
- }
317
- /**
318
- * Broadcast invalidation event
319
- */
320
- async function broadcastInvalidation(organizationId, invalidationData) {
321
- const manager = getSSEManager();
322
- await manager.broadcastInvalidation(organizationId, invalidationData);
323
- }
324
- /**
325
- * Acknowledge event (for API route)
326
- */
327
- function acknowledgeEvent(eventId) {
328
- const manager = getSSEManager();
329
- manager.acknowledgeEvent(eventId);
330
- }
331
- //# sourceMappingURL=sse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sse.js","sourceRoot":"","sources":["../../src/core/sse.ts"],"names":[],"mappings":"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"}
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LocalStorageProvider = void 0;
4
- /**
5
- * LocalStorage cache provider implementation
6
- */
7
- class LocalStorageProvider {
8
- prefix = '@drizzle/reactive:';
9
- async get(key) {
10
- try {
11
- const item = localStorage.getItem(this.prefix + key);
12
- if (!item)
13
- return null;
14
- const parsed = JSON.parse(item);
15
- if (parsed.expires && Date.now() > parsed.expires) {
16
- localStorage.removeItem(this.prefix + key);
17
- return null;
18
- }
19
- return parsed.value;
20
- }
21
- catch {
22
- return null;
23
- }
24
- }
25
- async set(key, value, ttl) {
26
- try {
27
- const expires = ttl ? Date.now() + ttl * 1000 : undefined;
28
- const item = JSON.stringify({ value, expires });
29
- localStorage.setItem(this.prefix + key, item);
30
- }
31
- catch {
32
- // Handle localStorage quota exceeded
33
- }
34
- }
35
- async del(key) {
36
- localStorage.removeItem(this.prefix + key);
37
- }
38
- async invalidate(pattern) {
39
- const regex = new RegExp(pattern.replace('*', '.*'));
40
- const keysToDelete = [];
41
- for (let i = 0; i < localStorage.length; i++) {
42
- const key = localStorage.key(i);
43
- if (key?.startsWith(this.prefix)) {
44
- const unprefixedKey = key.slice(this.prefix.length);
45
- if (regex.test(unprefixedKey)) {
46
- keysToDelete.push(key);
47
- }
48
- }
49
- }
50
- keysToDelete.forEach((key) => localStorage.removeItem(key));
51
- }
52
- async clear() {
53
- const keysToDelete = [];
54
- for (let i = 0; i < localStorage.length; i++) {
55
- const key = localStorage.key(i);
56
- if (key?.startsWith(this.prefix)) {
57
- keysToDelete.push(key);
58
- }
59
- }
60
- keysToDelete.forEach((key) => localStorage.removeItem(key));
61
- }
62
- }
63
- exports.LocalStorageProvider = LocalStorageProvider;
64
- //# sourceMappingURL=localStorage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"localStorage.js","sourceRoot":"","sources":["../../src/providers/localStorage.ts"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MemoryProvider = void 0;
4
- /**
5
- * In-memory cache provider implementation
6
- */
7
- class MemoryProvider {
8
- cache = new Map();
9
- async get(key) {
10
- const item = this.cache.get(key);
11
- if (!item)
12
- return null;
13
- if (item.expires && Date.now() > item.expires) {
14
- this.cache.delete(key);
15
- return null;
16
- }
17
- return item.value;
18
- }
19
- async set(key, value, ttl) {
20
- const expires = ttl ? Date.now() + ttl * 1000 : undefined;
21
- this.cache.set(key, { value, expires });
22
- }
23
- async del(key) {
24
- this.cache.delete(key);
25
- }
26
- async invalidate(pattern) {
27
- // Simple pattern matching for now
28
- const regex = new RegExp(pattern.replace('*', '.*'));
29
- for (const key of this.cache.keys()) {
30
- if (regex.test(key)) {
31
- this.cache.delete(key);
32
- }
33
- }
34
- }
35
- async clear() {
36
- this.cache.clear();
37
- }
38
- }
39
- exports.MemoryProvider = MemoryProvider;
40
- //# sourceMappingURL=memory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/providers/memory.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAa,cAAc;IACjB,KAAK,GAAG,IAAI,GAAG,EAA4C,CAAA;IAEnE,KAAK,CAAC,GAAG,CAAI,GAAW;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA;QAEtB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACtB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,GAAW,EAAE,KAAQ,EAAE,GAAY;QAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;QACzD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe;QAC9B,kCAAkC;QAClC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;QACpD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;CACF;AArCD,wCAqCC"}
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RedisProvider = void 0;
4
- /**
5
- * Redis cache provider implementation
6
- */
7
- class RedisProvider {
8
- redisClient;
9
- constructor(redisClient) {
10
- this.redisClient = redisClient;
11
- // TODO: Initialize Redis client
12
- }
13
- async get(key) {
14
- // TODO: Implement Redis get
15
- console.warn('@drizzle/reactive: Redis provider not yet implemented', key);
16
- return null;
17
- }
18
- async set(key, value, ttl) {
19
- // TODO: Implement Redis set
20
- console.warn('@drizzle/reactive: Redis provider not yet implemented', key, value, ttl);
21
- }
22
- async del(key) {
23
- // TODO: Implement Redis delete
24
- console.warn('@drizzle/reactive: Redis provider not yet implemented', key);
25
- }
26
- async invalidate(pattern) {
27
- // TODO: Implement Redis pattern invalidation
28
- console.warn('@drizzle/reactive: Redis provider not yet implemented', pattern);
29
- }
30
- async clear() {
31
- // TODO: Implement Redis clear
32
- console.warn('@drizzle/reactive: Redis provider not yet implemented');
33
- }
34
- }
35
- exports.RedisProvider = RedisProvider;
36
- //# sourceMappingURL=redis.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"redis.js","sourceRoot":"","sources":["../../src/providers/redis.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAa,aAAa;IACJ;IAApB,YAAoB,WAAiB;QAAjB,gBAAW,GAAX,WAAW,CAAM;QACnC,gCAAgC;IAClC,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,GAAW;QACtB,4BAA4B;QAC5B,OAAO,CAAC,IAAI,CAAC,uDAAuD,EAAE,GAAG,CAAC,CAAA;QAC1E,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,GAAW,EAAE,KAAQ,EAAE,GAAY;QAC9C,4BAA4B;QAC5B,OAAO,CAAC,IAAI,CACV,uDAAuD,EACvD,GAAG,EACH,KAAK,EACL,GAAG,CACJ,CAAA;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,+BAA+B;QAC/B,OAAO,CAAC,IAAI,CAAC,uDAAuD,EAAE,GAAG,CAAC,CAAA;IAC5E,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe;QAC9B,6CAA6C;QAC7C,OAAO,CAAC,IAAI,CACV,uDAAuD,EACvD,OAAO,CACR,CAAA;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,8BAA8B;QAC9B,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;IACvE,CAAC;CACF;AAtCD,sCAsCC"}
@@ -1,82 +0,0 @@
1
- /**
2
- * React hooks for tRPC reactive integration
3
- * Provides useReactiveQuery, useReactiveMutation, and useReactiveSubscription
4
- */
5
- import type { TRPCClientError } from '@trpc/client';
6
- import type { UseReactiveResult } from '../client/types';
7
- export interface UseReactiveQueryOptions<TData = unknown> {
8
- enabled?: boolean;
9
- refetchOnMount?: boolean;
10
- refetchOnWindowFocus?: boolean;
11
- retry?: number | boolean;
12
- retryDelay?: number;
13
- staleTime?: number;
14
- cacheTime?: number;
15
- onSuccess?: (data: TData) => void;
16
- onError?: (error: TRPCClientError<any>) => void;
17
- initialData?: TData;
18
- }
19
- export interface UseReactiveQueryResult<TData = unknown, TError = unknown> extends UseReactiveResult<TData> {
20
- refetch: () => Promise<void>;
21
- remove: () => void;
22
- isFetching: boolean;
23
- isRefetching: boolean;
24
- dataUpdatedAt: number;
25
- errorUpdatedAt: number;
26
- failureCount: number;
27
- }
28
- export interface UseReactiveMutationOptions<TData = unknown, TVariables = unknown> {
29
- onSuccess?: (data: TData, variables: TVariables) => void;
30
- onError?: (error: TRPCClientError<any>, variables: TVariables) => void;
31
- onSettled?: (data: TData | undefined, error: TRPCClientError<any> | null, variables: TVariables) => void;
32
- retry?: number | boolean;
33
- retryDelay?: number;
34
- }
35
- export interface UseReactiveMutationResult<TData = unknown, TVariables = unknown> {
36
- mutate: (variables: TVariables) => void;
37
- mutateAsync: (variables: TVariables) => Promise<TData>;
38
- reset: () => void;
39
- data: TData | undefined;
40
- error: TRPCClientError<any> | null;
41
- isLoading: boolean;
42
- isSuccess: boolean;
43
- isError: boolean;
44
- isIdle: boolean;
45
- variables: TVariables | undefined;
46
- failureCount: number;
47
- }
48
- export interface UseReactiveSubscriptionOptions<TData = unknown> {
49
- enabled?: boolean;
50
- onData?: (data: TData) => void;
51
- onError?: (error: TRPCClientError<any>) => void;
52
- onStarted?: () => void;
53
- onStopped?: () => void;
54
- }
55
- export interface UseReactiveSubscriptionResult<TData = unknown> {
56
- data: TData | undefined;
57
- error: TRPCClientError<any> | null;
58
- status: 'loading' | 'error' | 'success' | 'idle';
59
- }
60
- /**
61
- * Hook for reactive tRPC queries with automatic caching and invalidation
62
- */
63
- export declare function useReactiveQuery<TData = unknown, TVariables = unknown>(procedure: string, input?: TVariables, options?: UseReactiveQueryOptions<TData>): UseReactiveQueryResult<TData>;
64
- /**
65
- * Hook for reactive tRPC mutations with automatic invalidation
66
- */
67
- export declare function useReactiveMutation<TData = unknown, TVariables = unknown>(procedure: string, options?: UseReactiveMutationOptions<TData, TVariables>): UseReactiveMutationResult<TData, TVariables>;
68
- /**
69
- * Hook for reactive tRPC subscriptions with real-time updates
70
- */
71
- export declare function useReactiveSubscription<TData = unknown, TVariables = unknown>(procedure: string, input?: TVariables, options?: UseReactiveSubscriptionOptions<TData>): UseReactiveSubscriptionResult<TData>;
72
- /**
73
- * Hook to get reactive router statistics
74
- */
75
- export declare function useReactiveRouterStats(): {
76
- activeQueries: number;
77
- activeMutations: number;
78
- activeSubscriptions: number;
79
- cacheHitRate: number;
80
- lastUpdate: number;
81
- };
82
- //# sourceMappingURL=hooks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/trpc/hooks.ts"],"names":[],"mappings":"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"}