@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
@@ -1,282 +0,0 @@
1
- "use strict";
2
- /**
3
- * React hooks for tRPC reactive integration
4
- * Provides useReactiveQuery, useReactiveMutation, and useReactiveSubscription
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.useReactiveQuery = useReactiveQuery;
8
- exports.useReactiveMutation = useReactiveMutation;
9
- exports.useReactiveSubscription = useReactiveSubscription;
10
- exports.useReactiveRouterStats = useReactiveRouterStats;
11
- const react_1 = require("react");
12
- /**
13
- * Hook for reactive tRPC queries with automatic caching and invalidation
14
- */
15
- function useReactiveQuery(procedure, input, options = {}) {
16
- const [data, setData] = (0, react_1.useState)(options.initialData);
17
- const [error, setError] = (0, react_1.useState)(null);
18
- const [isLoading, setIsLoading] = (0, react_1.useState)(false);
19
- const [isFetching, setIsFetching] = (0, react_1.useState)(false);
20
- const [isRefetching, setIsRefetching] = (0, react_1.useState)(false);
21
- const [isStale, setIsStale] = (0, react_1.useState)(false);
22
- const [dataUpdatedAt, setDataUpdatedAt] = (0, react_1.useState)(0);
23
- const [errorUpdatedAt, setErrorUpdatedAt] = (0, react_1.useState)(0);
24
- const [failureCount, setFailureCount] = (0, react_1.useState)(0);
25
- const queryKey = `${procedure}_${JSON.stringify(input)}`;
26
- const enabledRef = (0, react_1.useRef)(options.enabled !== false);
27
- const optionsRef = (0, react_1.useRef)(options);
28
- // Update refs when options change
29
- (0, react_1.useEffect)(() => {
30
- enabledRef.current = options.enabled !== false;
31
- optionsRef.current = options;
32
- }, [options]);
33
- const fetchData = (0, react_1.useCallback)(async (isRefetch = false) => {
34
- if (!enabledRef.current)
35
- return;
36
- try {
37
- if (isRefetch) {
38
- setIsRefetching(true);
39
- }
40
- else {
41
- setIsLoading(true);
42
- }
43
- setIsFetching(true);
44
- setError(null);
45
- // In a real implementation, this would call the tRPC client
46
- // For now, we simulate the behavior
47
- console.log(`[useReactiveQuery] Fetching ${procedure}`, input);
48
- // Simulate API call
49
- await new Promise((resolve) => setTimeout(resolve, 100));
50
- // Simulate successful response
51
- const mockData = {
52
- id: '1',
53
- name: 'Test Data',
54
- timestamp: Date.now(),
55
- procedure,
56
- input,
57
- };
58
- setData(mockData);
59
- setDataUpdatedAt(Date.now());
60
- setFailureCount(0);
61
- setIsStale(false);
62
- optionsRef.current.onSuccess?.(mockData);
63
- }
64
- catch (err) {
65
- const trpcError = err;
66
- setError(trpcError);
67
- setErrorUpdatedAt(Date.now());
68
- setFailureCount((prev) => prev + 1);
69
- optionsRef.current.onError?.(trpcError);
70
- }
71
- finally {
72
- setIsLoading(false);
73
- setIsFetching(false);
74
- setIsRefetching(false);
75
- }
76
- }, [procedure, input]);
77
- const refetch = (0, react_1.useCallback)(async () => {
78
- await fetchData(true);
79
- }, [fetchData]);
80
- const remove = (0, react_1.useCallback)(() => {
81
- setData(undefined);
82
- setError(null);
83
- setIsStale(false);
84
- setDataUpdatedAt(0);
85
- setErrorUpdatedAt(0);
86
- setFailureCount(0);
87
- }, []);
88
- // Initial fetch
89
- (0, react_1.useEffect)(() => {
90
- if (enabledRef.current && options.refetchOnMount !== false) {
91
- fetchData();
92
- }
93
- }, [fetchData, queryKey]);
94
- // Handle window focus refetch
95
- (0, react_1.useEffect)(() => {
96
- if (options.refetchOnWindowFocus !== false) {
97
- const handleFocus = () => {
98
- if (enabledRef.current && data) {
99
- fetchData(true);
100
- }
101
- };
102
- window.addEventListener('focus', handleFocus);
103
- return () => window.removeEventListener('focus', handleFocus);
104
- }
105
- }, [fetchData, data, options.refetchOnWindowFocus]);
106
- return {
107
- data,
108
- error,
109
- isLoading,
110
- isStale,
111
- refetch,
112
- remove,
113
- isFetching,
114
- isRefetching,
115
- dataUpdatedAt,
116
- errorUpdatedAt,
117
- failureCount,
118
- };
119
- }
120
- /**
121
- * Hook for reactive tRPC mutations with automatic invalidation
122
- */
123
- function useReactiveMutation(procedure, options = {}) {
124
- const [data, setData] = (0, react_1.useState)();
125
- const [error, setError] = (0, react_1.useState)(null);
126
- const [isLoading, setIsLoading] = (0, react_1.useState)(false);
127
- const [variables, setVariables] = (0, react_1.useState)();
128
- const [failureCount, setFailureCount] = (0, react_1.useState)(0);
129
- const isSuccess = !isLoading && !error && data !== undefined;
130
- const isError = !isLoading && error !== null;
131
- const isIdle = !isLoading && !isSuccess && !isError;
132
- const reset = (0, react_1.useCallback)(() => {
133
- setData(undefined);
134
- setError(null);
135
- setVariables(undefined);
136
- setFailureCount(0);
137
- }, []);
138
- const mutateAsync = (0, react_1.useCallback)(async (vars) => {
139
- setIsLoading(true);
140
- setVariables(vars);
141
- setError(null);
142
- try {
143
- console.log(`[useReactiveMutation] Executing ${procedure}`, vars);
144
- // Simulate API call
145
- await new Promise((resolve) => setTimeout(resolve, 150));
146
- // Simulate successful response
147
- const mockData = {
148
- id: Math.random().toString(36),
149
- success: true,
150
- timestamp: Date.now(),
151
- procedure,
152
- input: vars,
153
- };
154
- setData(mockData);
155
- setFailureCount(0);
156
- options.onSuccess?.(mockData, vars);
157
- options.onSettled?.(mockData, null, vars);
158
- return mockData;
159
- }
160
- catch (err) {
161
- const trpcError = err;
162
- setError(trpcError);
163
- setFailureCount((prev) => prev + 1);
164
- options.onError?.(trpcError, vars);
165
- options.onSettled?.(undefined, trpcError, vars);
166
- throw trpcError;
167
- }
168
- finally {
169
- setIsLoading(false);
170
- }
171
- }, [procedure, options]);
172
- const mutate = (0, react_1.useCallback)((vars) => {
173
- mutateAsync(vars).catch(() => {
174
- // Error is already handled in mutateAsync
175
- });
176
- }, [mutateAsync]);
177
- return {
178
- mutate,
179
- mutateAsync,
180
- reset,
181
- data,
182
- error,
183
- isLoading,
184
- isSuccess,
185
- isError,
186
- isIdle,
187
- variables,
188
- failureCount,
189
- };
190
- }
191
- /**
192
- * Hook for reactive tRPC subscriptions with real-time updates
193
- */
194
- function useReactiveSubscription(procedure, input, options = {}) {
195
- const [data, setData] = (0, react_1.useState)();
196
- const [error, setError] = (0, react_1.useState)(null);
197
- const [status, setStatus] = (0, react_1.useState)('idle');
198
- const enabledRef = (0, react_1.useRef)(options.enabled !== false);
199
- const optionsRef = (0, react_1.useRef)(options);
200
- // Update refs when options change
201
- (0, react_1.useEffect)(() => {
202
- enabledRef.current = options.enabled !== false;
203
- optionsRef.current = options;
204
- }, [options]);
205
- (0, react_1.useEffect)(() => {
206
- if (!enabledRef.current)
207
- return;
208
- let cancelled = false;
209
- let cleanup;
210
- const startSubscription = async () => {
211
- try {
212
- setStatus('loading');
213
- setError(null);
214
- console.log(`[useReactiveSubscription] Starting ${procedure}`, input);
215
- optionsRef.current.onStarted?.();
216
- // Simulate subscription setup
217
- let counter = 0;
218
- const interval = setInterval(() => {
219
- if (cancelled)
220
- return;
221
- const mockData = {
222
- id: counter++,
223
- value: `Update ${counter}`,
224
- timestamp: Date.now(),
225
- procedure,
226
- input,
227
- };
228
- setData(mockData);
229
- setStatus('success');
230
- optionsRef.current.onData?.(mockData);
231
- }, 2000);
232
- cleanup = () => {
233
- clearInterval(interval);
234
- optionsRef.current.onStopped?.();
235
- };
236
- }
237
- catch (err) {
238
- if (!cancelled) {
239
- const trpcError = err;
240
- setError(trpcError);
241
- setStatus('error');
242
- optionsRef.current.onError?.(trpcError);
243
- }
244
- }
245
- };
246
- startSubscription();
247
- return () => {
248
- cancelled = true;
249
- cleanup?.();
250
- };
251
- }, [procedure, input]);
252
- return {
253
- data,
254
- error,
255
- status,
256
- };
257
- }
258
- /**
259
- * Hook to get reactive router statistics
260
- */
261
- function useReactiveRouterStats() {
262
- const [stats, setStats] = (0, react_1.useState)({
263
- activeQueries: 0,
264
- activeMutations: 0,
265
- activeSubscriptions: 0,
266
- cacheHitRate: 0,
267
- lastUpdate: Date.now(),
268
- });
269
- (0, react_1.useEffect)(() => {
270
- // Simulate stats updates
271
- const interval = setInterval(() => {
272
- setStats((prev) => ({
273
- ...prev,
274
- cacheHitRate: Math.random() * 100,
275
- lastUpdate: Date.now(),
276
- }));
277
- }, 5000);
278
- return () => clearInterval(interval);
279
- }, []);
280
- return stats;
281
- }
282
- //# sourceMappingURL=hooks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/trpc/hooks.ts"],"names":[],"mappings":"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"}