@agelum/backend 0.1.0 → 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.
- package/README.md +184 -113
- package/package.json +13 -13
- package/dist/client/hooks.d.ts +0 -65
- package/dist/client/hooks.d.ts.map +0 -1
- package/dist/client/hooks.js +0 -339
- package/dist/client/hooks.js.map +0 -1
- package/dist/client/index.d.ts +0 -10
- package/dist/client/index.d.ts.map +0 -1
- package/dist/client/index.js +0 -37
- package/dist/client/index.js.map +0 -1
- package/dist/client/manager.d.ts +0 -137
- package/dist/client/manager.d.ts.map +0 -1
- package/dist/client/manager.js +0 -292
- package/dist/client/manager.js.map +0 -1
- package/dist/client/provider.d.ts +0 -25
- package/dist/client/provider.d.ts.map +0 -1
- package/dist/client/provider.js +0 -121
- package/dist/client/provider.js.map +0 -1
- package/dist/client/revalidation.d.ts +0 -101
- package/dist/client/revalidation.d.ts.map +0 -1
- package/dist/client/revalidation.js +0 -313
- package/dist/client/revalidation.js.map +0 -1
- package/dist/client/session.d.ts +0 -84
- package/dist/client/session.d.ts.map +0 -1
- package/dist/client/session.js +0 -186
- package/dist/client/session.js.map +0 -1
- package/dist/client/sse-client.d.ts +0 -81
- package/dist/client/sse-client.d.ts.map +0 -1
- package/dist/client/sse-client.js +0 -221
- package/dist/client/sse-client.js.map +0 -1
- package/dist/client/storage.d.ts +0 -124
- package/dist/client/storage.d.ts.map +0 -1
- package/dist/client/storage.js +0 -441
- package/dist/client/storage.js.map +0 -1
- package/dist/client/trpc.d.ts +0 -12
- package/dist/client/trpc.d.ts.map +0 -1
- package/dist/client/trpc.js +0 -36
- package/dist/client/trpc.js.map +0 -1
- package/dist/client/types.d.ts +0 -10
- package/dist/client/types.d.ts.map +0 -1
- package/dist/client/types.js +0 -3
- package/dist/client/types.js.map +0 -1
- package/dist/client.d.ts +0 -12
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -26
- package/dist/client.js.map +0 -1
- package/dist/config/schema.d.ts +0 -261
- package/dist/config/schema.d.ts.map +0 -1
- package/dist/config/schema.js +0 -69
- package/dist/config/schema.js.map +0 -1
- package/dist/core/analyzer.d.ts +0 -15
- package/dist/core/analyzer.d.ts.map +0 -1
- package/dist/core/analyzer.js +0 -217
- package/dist/core/analyzer.js.map +0 -1
- package/dist/core/driver.d.ts +0 -7
- package/dist/core/driver.d.ts.map +0 -1
- package/dist/core/driver.js +0 -261
- package/dist/core/driver.js.map +0 -1
- package/dist/core/function.d.ts +0 -97
- package/dist/core/function.d.ts.map +0 -1
- package/dist/core/function.js +0 -252
- package/dist/core/function.js.map +0 -1
- package/dist/core/sse.d.ts +0 -98
- package/dist/core/sse.d.ts.map +0 -1
- package/dist/core/sse.js +0 -331
- package/dist/core/sse.js.map +0 -1
- package/dist/core/types.d.ts +0 -179
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/types.js +0 -3
- package/dist/core/types.js.map +0 -1
- package/dist/examples/teamhub-integration.d.ts +0 -56
- package/dist/examples/teamhub-integration.d.ts.map +0 -1
- package/dist/examples/teamhub-integration.js +0 -188
- package/dist/examples/teamhub-integration.js.map +0 -1
- package/dist/index.d.ts +0 -39
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -57
- package/dist/index.js.map +0 -1
- package/dist/providers/localStorage.d.ts +0 -13
- package/dist/providers/localStorage.d.ts.map +0 -1
- package/dist/providers/localStorage.js +0 -64
- package/dist/providers/localStorage.js.map +0 -1
- package/dist/providers/memory.d.ts +0 -13
- package/dist/providers/memory.d.ts.map +0 -1
- package/dist/providers/memory.js +0 -40
- package/dist/providers/memory.js.map +0 -1
- package/dist/providers/redis.d.ts +0 -14
- package/dist/providers/redis.d.ts.map +0 -1
- package/dist/providers/redis.js +0 -36
- package/dist/providers/redis.js.map +0 -1
- package/dist/server.d.ts +0 -17
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js +0 -34
- package/dist/server.js.map +0 -1
- package/dist/trpc/hooks.d.ts +0 -82
- package/dist/trpc/hooks.d.ts.map +0 -1
- package/dist/trpc/hooks.js +0 -282
- package/dist/trpc/hooks.js.map +0 -1
- package/dist/trpc/router.d.ts +0 -75
- package/dist/trpc/router.d.ts.map +0 -1
- package/dist/trpc/router.js +0 -160
- package/dist/trpc/router.js.map +0 -1
- package/dist/trpc/types.d.ts +0 -105
- package/dist/trpc/types.d.ts.map +0 -1
- package/dist/trpc/types.js +0 -6
- package/dist/trpc/types.js.map +0 -1
package/dist/client/storage.js
DELETED
|
@@ -1,441 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Client-side storage management for reactive queries
|
|
4
|
-
* Handles localStorage-based query registry and session persistence
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.ReactiveStorage = void 0;
|
|
8
|
-
exports.createReactiveStorage = createReactiveStorage;
|
|
9
|
-
class ReactiveStorage {
|
|
10
|
-
storageKey = '@drizzle/reactive:registry';
|
|
11
|
-
indexKey;
|
|
12
|
-
activeHooks = new Map();
|
|
13
|
-
sessionId;
|
|
14
|
-
organizationId;
|
|
15
|
-
constructor(organizationId) {
|
|
16
|
-
this.organizationId = organizationId;
|
|
17
|
-
this.indexKey = this.getIndexKey(organizationId);
|
|
18
|
-
this.sessionId = this.generateSessionId();
|
|
19
|
-
this.initializeRegistry();
|
|
20
|
-
this.cleanupExpiredEntries();
|
|
21
|
-
}
|
|
22
|
-
/** Derive the per-org index key */
|
|
23
|
-
getIndexKey(orgId) {
|
|
24
|
-
return `reactive_registry_${orgId}`;
|
|
25
|
-
}
|
|
26
|
-
/** Derive per-query entry key */
|
|
27
|
-
getEntryKey(orgId, queryKey) {
|
|
28
|
-
return `@drizzle/reactive:entry:${orgId}:${this.hash(queryKey)}`;
|
|
29
|
-
}
|
|
30
|
-
/** Simple 32-bit hash for stable short keys */
|
|
31
|
-
hash(input) {
|
|
32
|
-
let h = 2166136261 >>> 0;
|
|
33
|
-
for (let i = 0; i < input.length; i++) {
|
|
34
|
-
h ^= input.charCodeAt(i);
|
|
35
|
-
h = Math.imul(h, 16777619);
|
|
36
|
-
}
|
|
37
|
-
return (h >>> 0).toString(36);
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Initialize the query registry for this organization
|
|
41
|
-
*/
|
|
42
|
-
initializeRegistry() {
|
|
43
|
-
const existing = this.getRegistry();
|
|
44
|
-
if (!existing || existing.organizationId !== this.organizationId) {
|
|
45
|
-
// Create new registry for this organization
|
|
46
|
-
const newRegistry = {
|
|
47
|
-
organizationId: this.organizationId,
|
|
48
|
-
queries: {},
|
|
49
|
-
session: {
|
|
50
|
-
startTime: Date.now(),
|
|
51
|
-
lastSync: Date.now(),
|
|
52
|
-
realtimeConnected: false,
|
|
53
|
-
},
|
|
54
|
-
};
|
|
55
|
-
this.saveRegistry(newRegistry);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
// Update session info
|
|
59
|
-
existing.session.startTime = Date.now();
|
|
60
|
-
existing.session.lastSync = Date.now();
|
|
61
|
-
this.saveRegistry(existing);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Get the current query registry
|
|
66
|
-
*/
|
|
67
|
-
getRegistry() {
|
|
68
|
-
try {
|
|
69
|
-
// Prefer per-org index; fallback to legacy single-key registry for migration
|
|
70
|
-
const stored = localStorage.getItem(this.indexKey) ||
|
|
71
|
-
localStorage.getItem(this.storageKey);
|
|
72
|
-
if (!stored)
|
|
73
|
-
return null;
|
|
74
|
-
const registry = JSON.parse(stored);
|
|
75
|
-
return registry;
|
|
76
|
-
}
|
|
77
|
-
catch (error) {
|
|
78
|
-
console.warn('Failed to parse registry from localStorage', error instanceof Error ? error.message : String(error));
|
|
79
|
-
return null;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Save the query registry to localStorage
|
|
84
|
-
*/
|
|
85
|
-
saveRegistry(registry) {
|
|
86
|
-
try {
|
|
87
|
-
localStorage.setItem(this.indexKey, JSON.stringify(registry));
|
|
88
|
-
}
|
|
89
|
-
catch (error) {
|
|
90
|
-
console.warn('Failed to save registry to localStorage', error instanceof Error ? error.message : String(error));
|
|
91
|
-
// Handle localStorage quota exceeded
|
|
92
|
-
this.cleanupOldEntries();
|
|
93
|
-
try {
|
|
94
|
-
localStorage.setItem(this.indexKey, JSON.stringify(registry));
|
|
95
|
-
}
|
|
96
|
-
catch (retryError) {
|
|
97
|
-
console.error('Failed to save registry after cleanup to localStorage', retryError instanceof Error
|
|
98
|
-
? retryError.message
|
|
99
|
-
: String(retryError));
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Register a query execution
|
|
105
|
-
*/
|
|
106
|
-
registerQuery(queryKey, dependencies, data, ttl) {
|
|
107
|
-
const registry = this.getRegistry();
|
|
108
|
-
if (!registry)
|
|
109
|
-
return;
|
|
110
|
-
const now = Date.now();
|
|
111
|
-
const existingQuery = registry.queries[queryKey];
|
|
112
|
-
console.debug('Registering query in storage', {
|
|
113
|
-
queryKey,
|
|
114
|
-
hasExistingData: !!existingQuery,
|
|
115
|
-
existingLastServerChange: existingQuery?.lastServerChange,
|
|
116
|
-
newDataExists: !!data,
|
|
117
|
-
timestamp: now,
|
|
118
|
-
});
|
|
119
|
-
// Check if data actually changed
|
|
120
|
-
const dataChanged = !existingQuery ||
|
|
121
|
-
JSON.stringify(existingQuery.data) !== JSON.stringify(data);
|
|
122
|
-
// Write data to a separate entry to avoid huge single-key payloads
|
|
123
|
-
try {
|
|
124
|
-
const entryKey = this.getEntryKey(this.organizationId, queryKey);
|
|
125
|
-
// Derive human-friendly fields for debugging in localStorage
|
|
126
|
-
const [name, inputJson] = queryKey.split('::');
|
|
127
|
-
const input = inputJson
|
|
128
|
-
? (() => {
|
|
129
|
-
try {
|
|
130
|
-
return JSON.parse(inputJson);
|
|
131
|
-
}
|
|
132
|
-
catch {
|
|
133
|
-
return undefined;
|
|
134
|
-
}
|
|
135
|
-
})()
|
|
136
|
-
: undefined;
|
|
137
|
-
const entryPayload = JSON.stringify({ name, input, queryKey, data });
|
|
138
|
-
localStorage.setItem(entryKey, entryPayload);
|
|
139
|
-
}
|
|
140
|
-
catch (e) {
|
|
141
|
-
console.warn('Failed to write entry for', e instanceof Error ? e.message : String(e));
|
|
142
|
-
}
|
|
143
|
-
// Store only metadata in the index
|
|
144
|
-
registry.queries[queryKey] = {
|
|
145
|
-
lastRevalidated: now,
|
|
146
|
-
// Only update lastServerChange if data actually changed
|
|
147
|
-
lastServerChange: dataChanged
|
|
148
|
-
? now
|
|
149
|
-
: existingQuery?.lastServerChange || now,
|
|
150
|
-
};
|
|
151
|
-
// Update session sync time
|
|
152
|
-
registry.session.lastSync = now;
|
|
153
|
-
this.saveRegistry(registry);
|
|
154
|
-
console.debug('Query registered in storage', {
|
|
155
|
-
queryKey,
|
|
156
|
-
dataChanged,
|
|
157
|
-
isStale: false, // Fresh data is never stale
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Mark a query as stale (needs revalidation)
|
|
162
|
-
*/
|
|
163
|
-
invalidateQuery(queryKey) {
|
|
164
|
-
const registry = this.getRegistry();
|
|
165
|
-
if (!registry)
|
|
166
|
-
return;
|
|
167
|
-
if (registry.queries[queryKey]) {
|
|
168
|
-
// Keep the data but mark as needing revalidation
|
|
169
|
-
registry.queries[queryKey].lastServerChange = Date.now();
|
|
170
|
-
this.saveRegistry(registry);
|
|
171
|
-
console.debug('Query marked as stale in storage', {
|
|
172
|
-
queryKey,
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Mark a query as stale for testing (simulates server-side changes)
|
|
178
|
-
*/
|
|
179
|
-
markQueryStaleForTesting(queryKey) {
|
|
180
|
-
const registry = this.getRegistry();
|
|
181
|
-
if (!registry)
|
|
182
|
-
return;
|
|
183
|
-
if (registry.queries[queryKey]) {
|
|
184
|
-
// Simulate a server-side change by setting lastServerChange to future
|
|
185
|
-
registry.queries[queryKey].lastServerChange = Date.now() + 1000; // 1 second in future
|
|
186
|
-
this.saveRegistry(registry);
|
|
187
|
-
console.debug('Query marked as stale for testing in storage', {
|
|
188
|
-
queryKey,
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* Invalidate queries based on table changes
|
|
194
|
-
*/
|
|
195
|
-
invalidateByTable(table, relations) {
|
|
196
|
-
const registry = this.getRegistry();
|
|
197
|
-
if (!registry)
|
|
198
|
-
return;
|
|
199
|
-
const now = Date.now();
|
|
200
|
-
let hasChanges = false;
|
|
201
|
-
// Find all queries that depend on this table
|
|
202
|
-
Object.keys(registry.queries).forEach((queryKey) => {
|
|
203
|
-
// Simple heuristic: if query key contains table name or related tables
|
|
204
|
-
const relatedTables = relations[table] || [];
|
|
205
|
-
const allTables = [table, ...relatedTables];
|
|
206
|
-
const shouldInvalidate = allTables.some((tableName) => queryKey.toLowerCase().includes(tableName.toLowerCase()));
|
|
207
|
-
if (shouldInvalidate) {
|
|
208
|
-
registry.queries[queryKey].lastServerChange = now;
|
|
209
|
-
hasChanges = true;
|
|
210
|
-
}
|
|
211
|
-
});
|
|
212
|
-
if (hasChanges) {
|
|
213
|
-
registry.session.lastSync = now;
|
|
214
|
-
this.saveRegistry(registry);
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
/**
|
|
218
|
-
* Get cached data for a query
|
|
219
|
-
*/
|
|
220
|
-
getCachedData(queryKey) {
|
|
221
|
-
const registry = this.getRegistry();
|
|
222
|
-
if (!registry)
|
|
223
|
-
return null;
|
|
224
|
-
const queryData = registry.queries[queryKey];
|
|
225
|
-
if (!queryData)
|
|
226
|
-
return null;
|
|
227
|
-
const isStale = queryData.lastServerChange !== undefined &&
|
|
228
|
-
queryData.lastServerChange > queryData.lastRevalidated;
|
|
229
|
-
console.debug('Getting cached data from storage', {
|
|
230
|
-
queryKey,
|
|
231
|
-
isStale,
|
|
232
|
-
lastRevalidated: queryData.lastRevalidated,
|
|
233
|
-
lastServerChange: queryData.lastServerChange,
|
|
234
|
-
timestamp: Date.now(),
|
|
235
|
-
});
|
|
236
|
-
// Read data from its own entry key
|
|
237
|
-
let data = undefined;
|
|
238
|
-
try {
|
|
239
|
-
const entryKey = this.getEntryKey(this.organizationId, queryKey);
|
|
240
|
-
const raw = localStorage.getItem(entryKey);
|
|
241
|
-
if (raw) {
|
|
242
|
-
const parsed = JSON.parse(raw);
|
|
243
|
-
data = parsed?.data;
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
catch (e) {
|
|
247
|
-
console.warn('Failed to read entry from localStorage', {
|
|
248
|
-
queryKey,
|
|
249
|
-
error: e instanceof Error ? e.message : String(e),
|
|
250
|
-
});
|
|
251
|
-
}
|
|
252
|
-
return {
|
|
253
|
-
data,
|
|
254
|
-
isStale,
|
|
255
|
-
lastRevalidated: queryData.lastRevalidated,
|
|
256
|
-
};
|
|
257
|
-
}
|
|
258
|
-
/**
|
|
259
|
-
* Detect session gaps and queries that need revalidation
|
|
260
|
-
*/
|
|
261
|
-
detectSessionGap() {
|
|
262
|
-
const registry = this.getRegistry();
|
|
263
|
-
if (!registry) {
|
|
264
|
-
return { hasGap: true, gapDuration: 0, staleQueries: [] };
|
|
265
|
-
}
|
|
266
|
-
const now = Date.now();
|
|
267
|
-
const gapDuration = now - registry.session.lastSync;
|
|
268
|
-
const hasGap = gapDuration > 30000; // 30 seconds threshold
|
|
269
|
-
const staleQueries = [];
|
|
270
|
-
if (hasGap) {
|
|
271
|
-
// All queries are potentially stale after a gap
|
|
272
|
-
Object.keys(registry.queries).forEach((queryKey) => {
|
|
273
|
-
staleQueries.push(queryKey);
|
|
274
|
-
});
|
|
275
|
-
}
|
|
276
|
-
else {
|
|
277
|
-
// Only queries with server changes are stale
|
|
278
|
-
Object.entries(registry.queries).forEach(([queryKey, queryData]) => {
|
|
279
|
-
if (queryData.lastServerChange &&
|
|
280
|
-
queryData.lastServerChange > queryData.lastRevalidated) {
|
|
281
|
-
staleQueries.push(queryKey);
|
|
282
|
-
}
|
|
283
|
-
});
|
|
284
|
-
}
|
|
285
|
-
return { hasGap, gapDuration, staleQueries };
|
|
286
|
-
}
|
|
287
|
-
/**
|
|
288
|
-
* Register an active hook for priority revalidation
|
|
289
|
-
*/
|
|
290
|
-
registerActiveHook(queryKey, dependencies, organizationId) {
|
|
291
|
-
this.activeHooks.set(queryKey, {
|
|
292
|
-
queryKey,
|
|
293
|
-
isActive: true,
|
|
294
|
-
lastAccess: Date.now(),
|
|
295
|
-
dependencies,
|
|
296
|
-
organizationId,
|
|
297
|
-
});
|
|
298
|
-
}
|
|
299
|
-
/**
|
|
300
|
-
* Unregister an active hook
|
|
301
|
-
*/
|
|
302
|
-
unregisterActiveHook(queryKey) {
|
|
303
|
-
this.activeHooks.delete(queryKey);
|
|
304
|
-
}
|
|
305
|
-
/**
|
|
306
|
-
* Get active hooks for priority revalidation
|
|
307
|
-
*/
|
|
308
|
-
getActiveHooks() {
|
|
309
|
-
return Array.from(this.activeHooks.values());
|
|
310
|
-
}
|
|
311
|
-
/**
|
|
312
|
-
* Get active hooks sorted by priority (most recent access first)
|
|
313
|
-
*/
|
|
314
|
-
getActiveHooksByPriority() {
|
|
315
|
-
return this.getActiveHooks().sort((a, b) => b.lastAccess - a.lastAccess);
|
|
316
|
-
}
|
|
317
|
-
/**
|
|
318
|
-
* Update real-time connection status
|
|
319
|
-
*/
|
|
320
|
-
updateRealtimeStatus(connected) {
|
|
321
|
-
const registry = this.getRegistry();
|
|
322
|
-
if (!registry)
|
|
323
|
-
return;
|
|
324
|
-
registry.session.realtimeConnected = connected;
|
|
325
|
-
registry.session.lastSync = Date.now();
|
|
326
|
-
this.saveRegistry(registry);
|
|
327
|
-
}
|
|
328
|
-
/**
|
|
329
|
-
* Get queries that should be revalidated first (active hooks)
|
|
330
|
-
*/
|
|
331
|
-
getPriorityQueries() {
|
|
332
|
-
const activeHooks = this.getActiveHooksByPriority();
|
|
333
|
-
return activeHooks.map((hook) => hook.queryKey);
|
|
334
|
-
}
|
|
335
|
-
/**
|
|
336
|
-
* Get background queries that can be revalidated later
|
|
337
|
-
*/
|
|
338
|
-
getBackgroundQueries() {
|
|
339
|
-
const registry = this.getRegistry();
|
|
340
|
-
if (!registry)
|
|
341
|
-
return [];
|
|
342
|
-
const activeQueryKeys = new Set(this.getPriorityQueries());
|
|
343
|
-
return Object.keys(registry.queries).filter((key) => !activeQueryKeys.has(key));
|
|
344
|
-
}
|
|
345
|
-
/**
|
|
346
|
-
* Clean up expired entries to free up localStorage space
|
|
347
|
-
*/
|
|
348
|
-
cleanupExpiredEntries() {
|
|
349
|
-
const registry = this.getRegistry();
|
|
350
|
-
if (!registry)
|
|
351
|
-
return;
|
|
352
|
-
const now = Date.now();
|
|
353
|
-
const maxAge = 24 * 60 * 60 * 1000; // 24 hours
|
|
354
|
-
let hasChanges = false;
|
|
355
|
-
Object.keys(registry.queries).forEach((queryKey) => {
|
|
356
|
-
const queryData = registry.queries[queryKey];
|
|
357
|
-
if (now - queryData.lastRevalidated > maxAge) {
|
|
358
|
-
delete registry.queries[queryKey];
|
|
359
|
-
hasChanges = true;
|
|
360
|
-
}
|
|
361
|
-
});
|
|
362
|
-
if (hasChanges) {
|
|
363
|
-
this.saveRegistry(registry);
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
/**
|
|
367
|
-
* Clean up old entries when localStorage is full
|
|
368
|
-
*/
|
|
369
|
-
cleanupOldEntries() {
|
|
370
|
-
const registry = this.getRegistry();
|
|
371
|
-
if (!registry)
|
|
372
|
-
return;
|
|
373
|
-
const entries = Object.entries(registry.queries);
|
|
374
|
-
if (entries.length === 0)
|
|
375
|
-
return;
|
|
376
|
-
// Remove oldest 50% of entries
|
|
377
|
-
entries.sort(([, a], [, b]) => a.lastRevalidated - b.lastRevalidated);
|
|
378
|
-
const keepCount = Math.ceil(entries.length / 2);
|
|
379
|
-
const newQueries = {};
|
|
380
|
-
entries.slice(-keepCount).forEach(([key, value]) => {
|
|
381
|
-
newQueries[key] = value;
|
|
382
|
-
});
|
|
383
|
-
registry.queries = newQueries;
|
|
384
|
-
this.saveRegistry(registry);
|
|
385
|
-
console.debug('Cleaned up old entries from storage', {
|
|
386
|
-
keptCount: keepCount,
|
|
387
|
-
totalEntries: entries.length,
|
|
388
|
-
});
|
|
389
|
-
}
|
|
390
|
-
/**
|
|
391
|
-
* Generate a unique session ID
|
|
392
|
-
*/
|
|
393
|
-
generateSessionId() {
|
|
394
|
-
return `session_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
395
|
-
}
|
|
396
|
-
/**
|
|
397
|
-
* Get session information
|
|
398
|
-
*/
|
|
399
|
-
getSessionInfo() {
|
|
400
|
-
const registry = this.getRegistry();
|
|
401
|
-
return registry?.session || null;
|
|
402
|
-
}
|
|
403
|
-
/**
|
|
404
|
-
* Clear all stored data for this organization
|
|
405
|
-
*/
|
|
406
|
-
clearRegistry() {
|
|
407
|
-
try {
|
|
408
|
-
// Remove index and all known entries for this org
|
|
409
|
-
const registry = this.getRegistry();
|
|
410
|
-
if (registry) {
|
|
411
|
-
Object.keys(registry.queries).forEach((queryKey) => {
|
|
412
|
-
const entryKey = this.getEntryKey(this.organizationId, queryKey);
|
|
413
|
-
localStorage.removeItem(entryKey);
|
|
414
|
-
});
|
|
415
|
-
}
|
|
416
|
-
localStorage.removeItem(this.indexKey);
|
|
417
|
-
console.debug('Cleared all registry data for organization', {
|
|
418
|
-
organizationId: this.organizationId,
|
|
419
|
-
});
|
|
420
|
-
}
|
|
421
|
-
catch (error) {
|
|
422
|
-
console.warn('Failed to clear registry', {
|
|
423
|
-
error: error instanceof Error ? error.message : String(error),
|
|
424
|
-
});
|
|
425
|
-
}
|
|
426
|
-
}
|
|
427
|
-
/**
|
|
428
|
-
* Export registry for debugging
|
|
429
|
-
*/
|
|
430
|
-
exportRegistry() {
|
|
431
|
-
return this.getRegistry();
|
|
432
|
-
}
|
|
433
|
-
}
|
|
434
|
-
exports.ReactiveStorage = ReactiveStorage;
|
|
435
|
-
/**
|
|
436
|
-
* Create a storage instance for an organization
|
|
437
|
-
*/
|
|
438
|
-
function createReactiveStorage(organizationId) {
|
|
439
|
-
return new ReactiveStorage(organizationId);
|
|
440
|
-
}
|
|
441
|
-
//# sourceMappingURL=storage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/client/storage.ts"],"names":[],"mappings":"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"}
|
package/dist/client/trpc.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
type RelationsMap = Record<string, string[]>;
|
|
3
|
-
export declare function createTrpcRevalidateFn(trpcClient: any): (compositeKey: string) => Promise<any>;
|
|
4
|
-
interface TrpcReactiveProviderProps {
|
|
5
|
-
children: React.ReactNode;
|
|
6
|
-
organizationId: string;
|
|
7
|
-
relations: RelationsMap;
|
|
8
|
-
trpcClient: any;
|
|
9
|
-
}
|
|
10
|
-
export declare function TrpcReactiveProvider({ children, organizationId, relations, trpcClient, }: TrpcReactiveProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=trpc.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trpc.d.ts","sourceRoot":"","sources":["../../src/client/trpc.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;AAE5C,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,GAAG,IACtC,cAAc,MAAM,kBAanC;AAED,UAAU,yBAAyB;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,YAAY,CAAA;IACvB,UAAU,EAAE,GAAG,CAAA;CAChB;AAED,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,cAAc,EACd,SAAS,EACT,UAAU,GACX,EAAE,yBAAyB,2CAa3B"}
|
package/dist/client/trpc.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
'use client';
|
|
3
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
-
};
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.createTrpcRevalidateFn = createTrpcRevalidateFn;
|
|
8
|
-
exports.TrpcReactiveProvider = TrpcReactiveProvider;
|
|
9
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
10
|
-
const react_1 = __importDefault(require("react"));
|
|
11
|
-
const provider_1 = require("./provider");
|
|
12
|
-
function createTrpcRevalidateFn(trpcClient) {
|
|
13
|
-
return async (compositeKey) => {
|
|
14
|
-
const [name, inputJson] = compositeKey.split('::');
|
|
15
|
-
const input = inputJson ? JSON.parse(inputJson) : undefined;
|
|
16
|
-
const parts = name.split('.');
|
|
17
|
-
let cursor = trpcClient;
|
|
18
|
-
for (const part of parts)
|
|
19
|
-
cursor = cursor?.[part];
|
|
20
|
-
if (cursor?.query)
|
|
21
|
-
return await cursor.query(input);
|
|
22
|
-
if (cursor?.mutate)
|
|
23
|
-
return await cursor.mutate(input);
|
|
24
|
-
throw new Error(`Unknown tRPC procedure for key: ${name}`);
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
function TrpcReactiveProvider({ children, organizationId, relations, trpcClient, }) {
|
|
28
|
-
const revalidateFn = react_1.default.useMemo(() => createTrpcRevalidateFn(trpcClient), [trpcClient]);
|
|
29
|
-
const config = {
|
|
30
|
-
relations,
|
|
31
|
-
organizationId,
|
|
32
|
-
revalidateFn,
|
|
33
|
-
};
|
|
34
|
-
return (0, jsx_runtime_1.jsx)(provider_1.ReactiveProvider, { config: config, children: children });
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=trpc.js.map
|
package/dist/client/trpc.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trpc.js","sourceRoot":"","sources":["../../src/client/trpc.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAA;;;;;AAOZ,wDAcC;AASD,oDAkBC;;AA9CD,kDAAyB;AACzB,yCAA6C;AAI7C,SAAgB,sBAAsB,CAAC,UAAe;IACpD,OAAO,KAAK,EAAE,YAAoB,EAAE,EAAE;QACpC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAClD,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAE3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC7B,IAAI,MAAM,GAAQ,UAAU,CAAA;QAC5B,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,MAAM,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAA;QAEjD,IAAI,MAAM,EAAE,KAAK;YAAE,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACnD,IAAI,MAAM,EAAE,MAAM;YAAE,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAErD,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAA;IAC5D,CAAC,CAAA;AACH,CAAC;AASD,SAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,cAAc,EACd,SAAS,EACT,UAAU,GACgB;IAC1B,MAAM,YAAY,GAAG,eAAK,CAAC,OAAO,CAChC,GAAG,EAAE,CAAC,sBAAsB,CAAC,UAAU,CAAC,EACxC,CAAC,UAAU,CAAC,CACb,CAAA;IAED,MAAM,MAAM,GAAG;QACb,SAAS;QACT,cAAc;QACd,YAAY;KACb,CAAA;IAED,OAAO,uBAAC,2BAAgB,IAAC,MAAM,EAAE,MAAM,YAAG,QAAQ,GAAoB,CAAA;AACxE,CAAC"}
|
package/dist/client/types.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,IAAI,EAAE,CAAC,GAAG,SAAS,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CACpB"}
|
package/dist/client/types.js
DELETED
package/dist/client/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":""}
|
package/dist/client.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Client-only exports for @drizzle/reactive
|
|
3
|
-
* Import this with: import { ... } from '@drizzle/reactive/client'
|
|
4
|
-
*/
|
|
5
|
-
export { ReactiveProvider, useReactiveContext } from './client/provider';
|
|
6
|
-
export { useReactive, useReactiveQuery, initializeReactiveClient } from './client/hooks';
|
|
7
|
-
export { ReactiveClientManager } from './client/manager';
|
|
8
|
-
export { TrpcReactiveProvider, createTrpcRevalidateFn } from './client/trpc';
|
|
9
|
-
export { LocalStorageProvider } from './providers/localStorage';
|
|
10
|
-
export type { UseReactiveResult } from './client/types';
|
|
11
|
-
export declare const version = "0.1.0";
|
|
12
|
-
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAG5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAG/D,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAGvD,eAAO,MAAM,OAAO,UAAU,CAAA"}
|
package/dist/client.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Client-only exports for @drizzle/reactive
|
|
4
|
-
* Import this with: import { ... } from '@drizzle/reactive/client'
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.version = exports.LocalStorageProvider = exports.createTrpcRevalidateFn = exports.TrpcReactiveProvider = exports.ReactiveClientManager = exports.initializeReactiveClient = exports.useReactiveQuery = exports.useReactive = exports.useReactiveContext = exports.ReactiveProvider = void 0;
|
|
8
|
-
// Essential client-side exports
|
|
9
|
-
var provider_1 = require("./client/provider");
|
|
10
|
-
Object.defineProperty(exports, "ReactiveProvider", { enumerable: true, get: function () { return provider_1.ReactiveProvider; } });
|
|
11
|
-
Object.defineProperty(exports, "useReactiveContext", { enumerable: true, get: function () { return provider_1.useReactiveContext; } });
|
|
12
|
-
var hooks_1 = require("./client/hooks");
|
|
13
|
-
Object.defineProperty(exports, "useReactive", { enumerable: true, get: function () { return hooks_1.useReactive; } });
|
|
14
|
-
Object.defineProperty(exports, "useReactiveQuery", { enumerable: true, get: function () { return hooks_1.useReactiveQuery; } });
|
|
15
|
-
Object.defineProperty(exports, "initializeReactiveClient", { enumerable: true, get: function () { return hooks_1.initializeReactiveClient; } });
|
|
16
|
-
var manager_1 = require("./client/manager");
|
|
17
|
-
Object.defineProperty(exports, "ReactiveClientManager", { enumerable: true, get: function () { return manager_1.ReactiveClientManager; } });
|
|
18
|
-
var trpc_1 = require("./client/trpc");
|
|
19
|
-
Object.defineProperty(exports, "TrpcReactiveProvider", { enumerable: true, get: function () { return trpc_1.TrpcReactiveProvider; } });
|
|
20
|
-
Object.defineProperty(exports, "createTrpcRevalidateFn", { enumerable: true, get: function () { return trpc_1.createTrpcRevalidateFn; } });
|
|
21
|
-
// Storage providers for client
|
|
22
|
-
var localStorage_1 = require("./providers/localStorage");
|
|
23
|
-
Object.defineProperty(exports, "LocalStorageProvider", { enumerable: true, get: function () { return localStorage_1.LocalStorageProvider; } });
|
|
24
|
-
// Version
|
|
25
|
-
exports.version = '0.1.0';
|
|
26
|
-
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,gCAAgC;AAChC,8CAAwE;AAA/D,4GAAA,gBAAgB,OAAA;AAAE,8GAAA,kBAAkB,OAAA;AAC7C,wCAAwF;AAA/E,oGAAA,WAAW,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAAE,iHAAA,wBAAwB,OAAA;AAChE,4CAAwD;AAA/C,gHAAA,qBAAqB,OAAA;AAC9B,sCAA4E;AAAnE,4GAAA,oBAAoB,OAAA;AAAE,8GAAA,sBAAsB,OAAA;AAErD,+BAA+B;AAC/B,yDAA+D;AAAtD,oHAAA,oBAAoB,OAAA;AAK7B,UAAU;AACG,QAAA,OAAO,GAAG,OAAO,CAAA"}
|