@agelum/backend 0.1.0

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 (106) hide show
  1. package/README.md +401 -0
  2. package/dist/client/hooks.d.ts +65 -0
  3. package/dist/client/hooks.d.ts.map +1 -0
  4. package/dist/client/hooks.js +339 -0
  5. package/dist/client/hooks.js.map +1 -0
  6. package/dist/client/index.d.ts +10 -0
  7. package/dist/client/index.d.ts.map +1 -0
  8. package/dist/client/index.js +37 -0
  9. package/dist/client/index.js.map +1 -0
  10. package/dist/client/manager.d.ts +137 -0
  11. package/dist/client/manager.d.ts.map +1 -0
  12. package/dist/client/manager.js +292 -0
  13. package/dist/client/manager.js.map +1 -0
  14. package/dist/client/provider.d.ts +25 -0
  15. package/dist/client/provider.d.ts.map +1 -0
  16. package/dist/client/provider.js +121 -0
  17. package/dist/client/provider.js.map +1 -0
  18. package/dist/client/revalidation.d.ts +101 -0
  19. package/dist/client/revalidation.d.ts.map +1 -0
  20. package/dist/client/revalidation.js +313 -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 +186 -0
  25. package/dist/client/session.js.map +1 -0
  26. package/dist/client/sse-client.d.ts +81 -0
  27. package/dist/client/sse-client.d.ts.map +1 -0
  28. package/dist/client/sse-client.js +221 -0
  29. package/dist/client/sse-client.js.map +1 -0
  30. package/dist/client/storage.d.ts +124 -0
  31. package/dist/client/storage.d.ts.map +1 -0
  32. package/dist/client/storage.js +441 -0
  33. package/dist/client/storage.js.map +1 -0
  34. package/dist/client/trpc.d.ts +12 -0
  35. package/dist/client/trpc.d.ts.map +1 -0
  36. package/dist/client/trpc.js +36 -0
  37. package/dist/client/trpc.js.map +1 -0
  38. package/dist/client/types.d.ts +10 -0
  39. package/dist/client/types.d.ts.map +1 -0
  40. package/dist/client/types.js +3 -0
  41. package/dist/client/types.js.map +1 -0
  42. package/dist/client.d.ts +12 -0
  43. package/dist/client.d.ts.map +1 -0
  44. package/dist/client.js +26 -0
  45. package/dist/client.js.map +1 -0
  46. package/dist/config/schema.d.ts +261 -0
  47. package/dist/config/schema.d.ts.map +1 -0
  48. package/dist/config/schema.js +69 -0
  49. package/dist/config/schema.js.map +1 -0
  50. package/dist/core/analyzer.d.ts +15 -0
  51. package/dist/core/analyzer.d.ts.map +1 -0
  52. package/dist/core/analyzer.js +217 -0
  53. package/dist/core/analyzer.js.map +1 -0
  54. package/dist/core/driver.d.ts +7 -0
  55. package/dist/core/driver.d.ts.map +1 -0
  56. package/dist/core/driver.js +261 -0
  57. package/dist/core/driver.js.map +1 -0
  58. package/dist/core/function.d.ts +97 -0
  59. package/dist/core/function.d.ts.map +1 -0
  60. package/dist/core/function.js +252 -0
  61. package/dist/core/function.js.map +1 -0
  62. package/dist/core/sse.d.ts +98 -0
  63. package/dist/core/sse.d.ts.map +1 -0
  64. package/dist/core/sse.js +331 -0
  65. package/dist/core/sse.js.map +1 -0
  66. package/dist/core/types.d.ts +179 -0
  67. package/dist/core/types.d.ts.map +1 -0
  68. package/dist/core/types.js +3 -0
  69. package/dist/core/types.js.map +1 -0
  70. package/dist/examples/teamhub-integration.d.ts +56 -0
  71. package/dist/examples/teamhub-integration.d.ts.map +1 -0
  72. package/dist/examples/teamhub-integration.js +188 -0
  73. package/dist/examples/teamhub-integration.js.map +1 -0
  74. package/dist/index.d.ts +39 -0
  75. package/dist/index.d.ts.map +1 -0
  76. package/dist/index.js +57 -0
  77. package/dist/index.js.map +1 -0
  78. package/dist/providers/localStorage.d.ts +13 -0
  79. package/dist/providers/localStorage.d.ts.map +1 -0
  80. package/dist/providers/localStorage.js +64 -0
  81. package/dist/providers/localStorage.js.map +1 -0
  82. package/dist/providers/memory.d.ts +13 -0
  83. package/dist/providers/memory.d.ts.map +1 -0
  84. package/dist/providers/memory.js +40 -0
  85. package/dist/providers/memory.js.map +1 -0
  86. package/dist/providers/redis.d.ts +14 -0
  87. package/dist/providers/redis.d.ts.map +1 -0
  88. package/dist/providers/redis.js +36 -0
  89. package/dist/providers/redis.js.map +1 -0
  90. package/dist/server.d.ts +17 -0
  91. package/dist/server.d.ts.map +1 -0
  92. package/dist/server.js +34 -0
  93. package/dist/server.js.map +1 -0
  94. package/dist/trpc/hooks.d.ts +82 -0
  95. package/dist/trpc/hooks.d.ts.map +1 -0
  96. package/dist/trpc/hooks.js +282 -0
  97. package/dist/trpc/hooks.js.map +1 -0
  98. package/dist/trpc/router.d.ts +75 -0
  99. package/dist/trpc/router.d.ts.map +1 -0
  100. package/dist/trpc/router.js +160 -0
  101. package/dist/trpc/router.js.map +1 -0
  102. package/dist/trpc/types.d.ts +105 -0
  103. package/dist/trpc/types.d.ts.map +1 -0
  104. package/dist/trpc/types.js +6 -0
  105. package/dist/trpc/types.js.map +1 -0
  106. package/package.json +87 -0
@@ -0,0 +1,261 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Configuration schema validation using Zod
4
+ */
5
+ export declare const cacheConfigSchema: z.ZodOptional<z.ZodObject<{
6
+ server: z.ZodOptional<z.ZodObject<{
7
+ provider: z.ZodDefault<z.ZodOptional<z.ZodEnum<["redis", "memory"]>>>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ provider: "redis" | "memory";
10
+ }, {
11
+ provider?: "redis" | "memory" | undefined;
12
+ }>>;
13
+ client: z.ZodOptional<z.ZodObject<{
14
+ provider: z.ZodDefault<z.ZodOptional<z.ZodEnum<["localStorage", "sessionStorage"]>>>;
15
+ }, "strip", z.ZodTypeAny, {
16
+ provider: "localStorage" | "sessionStorage";
17
+ }, {
18
+ provider?: "localStorage" | "sessionStorage" | undefined;
19
+ }>>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ server?: {
22
+ provider: "redis" | "memory";
23
+ } | undefined;
24
+ client?: {
25
+ provider: "localStorage" | "sessionStorage";
26
+ } | undefined;
27
+ }, {
28
+ server?: {
29
+ provider?: "redis" | "memory" | undefined;
30
+ } | undefined;
31
+ client?: {
32
+ provider?: "localStorage" | "sessionStorage" | undefined;
33
+ } | undefined;
34
+ }>>;
35
+ export declare const realtimeConfigSchema: z.ZodOptional<z.ZodObject<{
36
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
37
+ transport: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"sse">>>;
38
+ fallback: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"polling">>>;
39
+ reliability: z.ZodOptional<z.ZodObject<{
40
+ acknowledgments: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
41
+ maxRetries: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
42
+ retryDelays: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>>;
43
+ periodicHeartbeat: z.ZodDefault<z.ZodOptional<z.ZodLiteral<false>>>;
44
+ }, "strip", z.ZodTypeAny, {
45
+ acknowledgments: boolean;
46
+ maxRetries: number;
47
+ retryDelays: number[];
48
+ periodicHeartbeat: false;
49
+ }, {
50
+ acknowledgments?: boolean | undefined;
51
+ maxRetries?: number | undefined;
52
+ retryDelays?: number[] | undefined;
53
+ periodicHeartbeat?: false | undefined;
54
+ }>>;
55
+ }, "strip", z.ZodTypeAny, {
56
+ enabled: boolean;
57
+ transport: "sse";
58
+ fallback: "polling";
59
+ reliability?: {
60
+ acknowledgments: boolean;
61
+ maxRetries: number;
62
+ retryDelays: number[];
63
+ periodicHeartbeat: false;
64
+ } | undefined;
65
+ }, {
66
+ enabled?: boolean | undefined;
67
+ transport?: "sse" | undefined;
68
+ fallback?: "polling" | undefined;
69
+ reliability?: {
70
+ acknowledgments?: boolean | undefined;
71
+ maxRetries?: number | undefined;
72
+ retryDelays?: number[] | undefined;
73
+ periodicHeartbeat?: false | undefined;
74
+ } | undefined;
75
+ }>>;
76
+ export declare const reactiveConfigSchema: z.ZodObject<{
77
+ relations: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>;
78
+ cache: z.ZodOptional<z.ZodObject<{
79
+ server: z.ZodOptional<z.ZodObject<{
80
+ provider: z.ZodDefault<z.ZodOptional<z.ZodEnum<["redis", "memory"]>>>;
81
+ }, "strip", z.ZodTypeAny, {
82
+ provider: "redis" | "memory";
83
+ }, {
84
+ provider?: "redis" | "memory" | undefined;
85
+ }>>;
86
+ client: z.ZodOptional<z.ZodObject<{
87
+ provider: z.ZodDefault<z.ZodOptional<z.ZodEnum<["localStorage", "sessionStorage"]>>>;
88
+ }, "strip", z.ZodTypeAny, {
89
+ provider: "localStorage" | "sessionStorage";
90
+ }, {
91
+ provider?: "localStorage" | "sessionStorage" | undefined;
92
+ }>>;
93
+ }, "strip", z.ZodTypeAny, {
94
+ server?: {
95
+ provider: "redis" | "memory";
96
+ } | undefined;
97
+ client?: {
98
+ provider: "localStorage" | "sessionStorage";
99
+ } | undefined;
100
+ }, {
101
+ server?: {
102
+ provider?: "redis" | "memory" | undefined;
103
+ } | undefined;
104
+ client?: {
105
+ provider?: "localStorage" | "sessionStorage" | undefined;
106
+ } | undefined;
107
+ }>>;
108
+ realtime: z.ZodOptional<z.ZodObject<{
109
+ enabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
110
+ transport: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"sse">>>;
111
+ fallback: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"polling">>>;
112
+ reliability: z.ZodOptional<z.ZodObject<{
113
+ acknowledgments: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
114
+ maxRetries: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
115
+ retryDelays: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>>;
116
+ periodicHeartbeat: z.ZodDefault<z.ZodOptional<z.ZodLiteral<false>>>;
117
+ }, "strip", z.ZodTypeAny, {
118
+ acknowledgments: boolean;
119
+ maxRetries: number;
120
+ retryDelays: number[];
121
+ periodicHeartbeat: false;
122
+ }, {
123
+ acknowledgments?: boolean | undefined;
124
+ maxRetries?: number | undefined;
125
+ retryDelays?: number[] | undefined;
126
+ periodicHeartbeat?: false | undefined;
127
+ }>>;
128
+ }, "strip", z.ZodTypeAny, {
129
+ enabled: boolean;
130
+ transport: "sse";
131
+ fallback: "polling";
132
+ reliability?: {
133
+ acknowledgments: boolean;
134
+ maxRetries: number;
135
+ retryDelays: number[];
136
+ periodicHeartbeat: false;
137
+ } | undefined;
138
+ }, {
139
+ enabled?: boolean | undefined;
140
+ transport?: "sse" | undefined;
141
+ fallback?: "polling" | undefined;
142
+ reliability?: {
143
+ acknowledgments?: boolean | undefined;
144
+ maxRetries?: number | undefined;
145
+ retryDelays?: number[] | undefined;
146
+ periodicHeartbeat?: false | undefined;
147
+ } | undefined;
148
+ }>>;
149
+ }, "strip", z.ZodTypeAny, {
150
+ relations: Record<string, string[]>;
151
+ cache?: {
152
+ server?: {
153
+ provider: "redis" | "memory";
154
+ } | undefined;
155
+ client?: {
156
+ provider: "localStorage" | "sessionStorage";
157
+ } | undefined;
158
+ } | undefined;
159
+ realtime?: {
160
+ enabled: boolean;
161
+ transport: "sse";
162
+ fallback: "polling";
163
+ reliability?: {
164
+ acknowledgments: boolean;
165
+ maxRetries: number;
166
+ retryDelays: number[];
167
+ periodicHeartbeat: false;
168
+ } | undefined;
169
+ } | undefined;
170
+ }, {
171
+ relations: Record<string, string[]>;
172
+ cache?: {
173
+ server?: {
174
+ provider?: "redis" | "memory" | undefined;
175
+ } | undefined;
176
+ client?: {
177
+ provider?: "localStorage" | "sessionStorage" | undefined;
178
+ } | undefined;
179
+ } | undefined;
180
+ realtime?: {
181
+ enabled?: boolean | undefined;
182
+ transport?: "sse" | undefined;
183
+ fallback?: "polling" | undefined;
184
+ reliability?: {
185
+ acknowledgments?: boolean | undefined;
186
+ maxRetries?: number | undefined;
187
+ retryDelays?: number[] | undefined;
188
+ periodicHeartbeat?: false | undefined;
189
+ } | undefined;
190
+ } | undefined;
191
+ }>;
192
+ export declare const reactiveFunctionConfigSchema: z.ZodObject<{
193
+ id: z.ZodString;
194
+ input: z.ZodAny;
195
+ dependencies: z.ZodArray<z.ZodString, "many">;
196
+ invalidateWhen: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>>;
197
+ handler: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>;
198
+ }, "strip", z.ZodTypeAny, {
199
+ id: string;
200
+ dependencies: string[];
201
+ handler: (...args: unknown[]) => unknown;
202
+ input?: any;
203
+ invalidateWhen?: Record<string, (...args: unknown[]) => unknown> | undefined;
204
+ }, {
205
+ id: string;
206
+ dependencies: string[];
207
+ handler: (...args: unknown[]) => unknown;
208
+ input?: any;
209
+ invalidateWhen?: Record<string, (...args: unknown[]) => unknown> | undefined;
210
+ }>;
211
+ export declare const invalidationRuleSchema: z.ZodObject<{
212
+ table: z.ZodString;
213
+ condition: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
214
+ scope: z.ZodDefault<z.ZodOptional<z.ZodEnum<["global", "organization", "user"]>>>;
215
+ }, "strip", z.ZodTypeAny, {
216
+ table: string;
217
+ scope: "organization" | "global" | "user";
218
+ condition?: ((...args: unknown[]) => unknown) | undefined;
219
+ }, {
220
+ table: string;
221
+ condition?: ((...args: unknown[]) => unknown) | undefined;
222
+ scope?: "organization" | "global" | "user" | undefined;
223
+ }>;
224
+ export declare const cacheStrategySchema: z.ZodObject<{
225
+ ttl: z.ZodOptional<z.ZodNumber>;
226
+ staleWhileRevalidate: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
227
+ backgroundRevalidation: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
228
+ priority: z.ZodDefault<z.ZodOptional<z.ZodEnum<["high", "medium", "low"]>>>;
229
+ }, "strip", z.ZodTypeAny, {
230
+ staleWhileRevalidate: boolean;
231
+ backgroundRevalidation: boolean;
232
+ priority: "high" | "medium" | "low";
233
+ ttl?: number | undefined;
234
+ }, {
235
+ ttl?: number | undefined;
236
+ staleWhileRevalidate?: boolean | undefined;
237
+ backgroundRevalidation?: boolean | undefined;
238
+ priority?: "high" | "medium" | "low" | undefined;
239
+ }>;
240
+ /**
241
+ * Type exports from schemas
242
+ */
243
+ export type ReactiveConfig = z.infer<typeof reactiveConfigSchema>;
244
+ export type ReactiveFunctionConfig = z.infer<typeof reactiveFunctionConfigSchema>;
245
+ export type InvalidationRule = z.infer<typeof invalidationRuleSchema>;
246
+ export type CacheStrategy = z.infer<typeof cacheStrategySchema>;
247
+ export type RealtimeConfig = z.infer<typeof realtimeConfigSchema>;
248
+ /**
249
+ * Reactive function type
250
+ */
251
+ export interface ReactiveFunction<TInput = any, TOutput = any> {
252
+ id: string;
253
+ input: z.ZodSchema<TInput>;
254
+ dependencies: string[];
255
+ invalidateWhen?: Record<string, (change: any) => boolean>;
256
+ handler: (params: {
257
+ input: TInput;
258
+ db: any;
259
+ }) => Promise<TOutput>;
260
+ }
261
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;GAEG;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgBjB,CAAA;AAEb,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiBpB,CAAA;AAEb,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAI/B,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;EAMvC,CAAA;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAOjC,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;EAK9B,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AACjE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAA;AACD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AACrE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAC/D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEjE;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,MAAM,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG;IAC3D,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC1B,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,CAAA;IACzD,OAAO,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,GAAG,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAClE"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cacheStrategySchema = exports.invalidationRuleSchema = exports.reactiveFunctionConfigSchema = exports.reactiveConfigSchema = exports.realtimeConfigSchema = exports.cacheConfigSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ /**
6
+ * Configuration schema validation using Zod
7
+ */
8
+ exports.cacheConfigSchema = zod_1.z
9
+ .object({
10
+ server: zod_1.z
11
+ .object({
12
+ provider: zod_1.z.enum(['redis', 'memory']).optional().default('memory'),
13
+ })
14
+ .optional(),
15
+ client: zod_1.z
16
+ .object({
17
+ provider: zod_1.z
18
+ .enum(['localStorage', 'sessionStorage'])
19
+ .optional()
20
+ .default('localStorage'),
21
+ })
22
+ .optional(),
23
+ })
24
+ .optional();
25
+ exports.realtimeConfigSchema = zod_1.z
26
+ .object({
27
+ enabled: zod_1.z.boolean().optional().default(true),
28
+ transport: zod_1.z.literal('sse').optional().default('sse'),
29
+ fallback: zod_1.z.literal('polling').optional().default('polling'),
30
+ reliability: zod_1.z
31
+ .object({
32
+ acknowledgments: zod_1.z.boolean().optional().default(true),
33
+ maxRetries: zod_1.z.number().optional().default(3),
34
+ retryDelays: zod_1.z
35
+ .array(zod_1.z.number())
36
+ .optional()
37
+ .default([2000, 5000, 10000]),
38
+ periodicHeartbeat: zod_1.z.literal(false).optional().default(false),
39
+ })
40
+ .optional(),
41
+ })
42
+ .optional();
43
+ exports.reactiveConfigSchema = zod_1.z.object({
44
+ relations: zod_1.z.record(zod_1.z.string(), zod_1.z.array(zod_1.z.string())),
45
+ cache: exports.cacheConfigSchema,
46
+ realtime: exports.realtimeConfigSchema,
47
+ });
48
+ exports.reactiveFunctionConfigSchema = zod_1.z.object({
49
+ id: zod_1.z.string(),
50
+ input: zod_1.z.any(), // Zod schema
51
+ dependencies: zod_1.z.array(zod_1.z.string()),
52
+ invalidateWhen: zod_1.z.record(zod_1.z.string(), zod_1.z.function()).optional(),
53
+ handler: zod_1.z.function(),
54
+ });
55
+ exports.invalidationRuleSchema = zod_1.z.object({
56
+ table: zod_1.z.string(),
57
+ condition: zod_1.z.function().optional(),
58
+ scope: zod_1.z
59
+ .enum(['global', 'organization', 'user'])
60
+ .optional()
61
+ .default('organization'),
62
+ });
63
+ exports.cacheStrategySchema = zod_1.z.object({
64
+ ttl: zod_1.z.number().optional(),
65
+ staleWhileRevalidate: zod_1.z.boolean().optional().default(true),
66
+ backgroundRevalidation: zod_1.z.boolean().optional().default(true),
67
+ priority: zod_1.z.enum(['high', 'medium', 'low']).optional().default('medium'),
68
+ });
69
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { SqlAnalysis } from './types';
2
+ /**
3
+ * Advanced SQL analyzer that extracts metadata from queries
4
+ * This is core to the reactive system's intelligence
5
+ */
6
+ export declare function analyzeSql(sql: string, params?: any[]): SqlAnalysis;
7
+ /**
8
+ * Utility function to check if a query affects a specific table
9
+ */
10
+ export declare function queryAffectsTable(sql: string, tableName: string): boolean;
11
+ /**
12
+ * Utility function to extract all table references from a complex query
13
+ */
14
+ export declare function extractAllTableReferences(sql: string): string[];
15
+ //# sourceMappingURL=analyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../src/core/analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,WAAW,CA0BnE;AA2LD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAGzE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAsB/D"}
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.analyzeSql = analyzeSql;
4
+ exports.queryAffectsTable = queryAffectsTable;
5
+ exports.extractAllTableReferences = extractAllTableReferences;
6
+ /**
7
+ * Advanced SQL analyzer that extracts metadata from queries
8
+ * This is core to the reactive system's intelligence
9
+ */
10
+ function analyzeSql(sql, params) {
11
+ const normalizedSql = sql.replace(/\s+/g, ' ').trim();
12
+ const upperSql = normalizedSql.toUpperCase();
13
+ // Determine operation type
14
+ const operation = determineOperation(upperSql);
15
+ // Extract table name
16
+ const table = extractTableName(upperSql, operation);
17
+ // Extract WHERE clause keys
18
+ const whereKeys = extractWhereKeys(normalizedSql, params);
19
+ // Extract affected columns
20
+ const columns = extractColumns(normalizedSql, operation);
21
+ // Detect organization ID from query
22
+ const organizationId = detectOrganizationId(normalizedSql, params);
23
+ return {
24
+ table,
25
+ operation,
26
+ whereKeys,
27
+ columns,
28
+ organizationId,
29
+ };
30
+ }
31
+ /**
32
+ * Determine the SQL operation type
33
+ */
34
+ function determineOperation(upperSql) {
35
+ if (upperSql.startsWith('SELECT'))
36
+ return 'SELECT';
37
+ if (upperSql.startsWith('INSERT'))
38
+ return 'INSERT';
39
+ if (upperSql.startsWith('UPDATE'))
40
+ return 'UPDATE';
41
+ if (upperSql.startsWith('DELETE'))
42
+ return 'DELETE';
43
+ return 'SELECT'; // Default fallback
44
+ }
45
+ /**
46
+ * Extract table name from SQL query
47
+ */
48
+ function extractTableName(upperSql, operation) {
49
+ let match = null;
50
+ switch (operation) {
51
+ case 'SELECT':
52
+ // Match: SELECT ... FROM table_name
53
+ match = upperSql.match(/FROM\s+(["`]?)(\w+)\1(?:\s|$|,|\))/i);
54
+ break;
55
+ case 'INSERT':
56
+ // Match: INSERT INTO table_name
57
+ match = upperSql.match(/INSERT\s+INTO\s+(["`]?)(\w+)\1/i);
58
+ break;
59
+ case 'UPDATE':
60
+ // Match: UPDATE table_name SET
61
+ match = upperSql.match(/UPDATE\s+(["`]?)(\w+)\1\s+SET/i);
62
+ break;
63
+ case 'DELETE':
64
+ // Match: DELETE FROM table_name
65
+ match = upperSql.match(/DELETE\s+FROM\s+(["`]?)(\w+)\1/i);
66
+ break;
67
+ }
68
+ if (match && match[2]) {
69
+ return match[2].toLowerCase();
70
+ }
71
+ // Fallback: try to extract any quoted or unquoted identifier after common keywords
72
+ const fallbackMatch = upperSql.match(/(?:FROM|INTO|UPDATE|JOIN)\s+(["`]?)(\w+)\1/i);
73
+ return fallbackMatch ? fallbackMatch[2].toLowerCase() : 'unknown';
74
+ }
75
+ /**
76
+ * Extract WHERE clause keys for cache invalidation
77
+ */
78
+ function extractWhereKeys(sql, params) {
79
+ const keys = [];
80
+ // Extract column names from WHERE conditions
81
+ const whereMatch = sql.match(/WHERE\s+(.+?)(?:\s+ORDER\s+BY|\s+GROUP\s+BY|\s+LIMIT|\s+HAVING|$)/i);
82
+ if (!whereMatch)
83
+ return keys;
84
+ const whereClause = whereMatch[1];
85
+ // Find column references in WHERE clause
86
+ const columnMatches = whereClause.match(/(["`]?)(\w+)\1\s*(?:=|!=|<|>|<=|>=|IN|LIKE|IS)/gi);
87
+ if (columnMatches) {
88
+ columnMatches.forEach((match) => {
89
+ const columnMatch = match.match(/(["`]?)(\w+)\1/);
90
+ if (columnMatch && columnMatch[2]) {
91
+ keys.push(columnMatch[2].toLowerCase());
92
+ }
93
+ });
94
+ }
95
+ // Add parameter-based keys if we can infer them
96
+ if (params && params.length > 0) {
97
+ // Common column names that often appear in WHERE clauses
98
+ const commonKeys = [
99
+ 'id',
100
+ 'organizationId',
101
+ 'agentId',
102
+ 'userId',
103
+ 'fromAgentId',
104
+ 'toAgentId',
105
+ ];
106
+ commonKeys.forEach((key) => {
107
+ if (whereClause.toLowerCase().includes(key.toLowerCase()) &&
108
+ !keys.includes(key)) {
109
+ keys.push(key);
110
+ }
111
+ });
112
+ }
113
+ return [...new Set(keys)]; // Remove duplicates
114
+ }
115
+ /**
116
+ * Extract affected columns from SQL query
117
+ */
118
+ function extractColumns(sql, operation) {
119
+ const columns = [];
120
+ switch (operation) {
121
+ case 'SELECT':
122
+ // Extract selected columns
123
+ const selectMatch = sql.match(/SELECT\s+(.+?)\s+FROM/i);
124
+ if (selectMatch && !selectMatch[1].includes('*')) {
125
+ const selectedCols = selectMatch[1].split(',').map((col) => {
126
+ const cleanCol = col.trim().replace(/["`]/g, '');
127
+ // Handle aliases (col AS alias or col alias)
128
+ const parts = cleanCol.split(/\s+(?:AS\s+)?/i);
129
+ return parts[0].split('.').pop() || cleanCol; // Get column name without table prefix
130
+ });
131
+ columns.push(...selectedCols);
132
+ }
133
+ break;
134
+ case 'INSERT':
135
+ // Extract columns from INSERT statement
136
+ const insertMatch = sql.match(/\(([^)]+)\)\s*VALUES/i);
137
+ if (insertMatch) {
138
+ const cols = insertMatch[1]
139
+ .split(',')
140
+ .map((col) => col.trim().replace(/["`]/g, ''));
141
+ columns.push(...cols);
142
+ }
143
+ break;
144
+ case 'UPDATE':
145
+ // Extract columns from SET clause
146
+ const setMatch = sql.match(/SET\s+(.+?)(?:\s+WHERE|$)/i);
147
+ if (setMatch) {
148
+ const setClauses = setMatch[1].split(',');
149
+ setClauses.forEach((clause) => {
150
+ const colMatch = clause.trim().match(/^(["`]?)(\w+)\1\s*=/);
151
+ if (colMatch && colMatch[2]) {
152
+ columns.push(colMatch[2]);
153
+ }
154
+ });
155
+ }
156
+ break;
157
+ }
158
+ return [...new Set(columns.map((col) => col.toLowerCase()))]; // Remove duplicates and normalize
159
+ }
160
+ /**
161
+ * Detect organization ID from query for multi-tenant scoping
162
+ */
163
+ function detectOrganizationId(sql, params) {
164
+ // Look for organizationId in WHERE clause
165
+ const orgIdMatch = sql.match(/organizationId\s*=\s*(['"]?)([^'\s,)]+)\1/i);
166
+ if (orgIdMatch && orgIdMatch[2]) {
167
+ return orgIdMatch[2];
168
+ }
169
+ // Look for organization_id (snake_case variant)
170
+ const orgIdSnakeMatch = sql.match(/organization_id\s*=\s*(['"]?)([^'\s,)]+)\1/i);
171
+ if (orgIdSnakeMatch && orgIdSnakeMatch[2]) {
172
+ return orgIdSnakeMatch[2];
173
+ }
174
+ // If we have parameters, try to infer from parameter positions
175
+ if (params && params.length > 0) {
176
+ // This is a heuristic - in many cases, organizationId is the first or second parameter
177
+ const possibleOrgId = params.find((param) => typeof param === 'string' &&
178
+ (param.startsWith('org-') ||
179
+ param.startsWith('org_') ||
180
+ param.length > 10));
181
+ if (possibleOrgId) {
182
+ return possibleOrgId;
183
+ }
184
+ }
185
+ return undefined;
186
+ }
187
+ /**
188
+ * Utility function to check if a query affects a specific table
189
+ */
190
+ function queryAffectsTable(sql, tableName) {
191
+ const analysis = analyzeSql(sql);
192
+ return analysis.table === tableName.toLowerCase();
193
+ }
194
+ /**
195
+ * Utility function to extract all table references from a complex query
196
+ */
197
+ function extractAllTableReferences(sql) {
198
+ const tables = [];
199
+ const upperSql = sql.toUpperCase();
200
+ // Find all table references in FROM, JOIN, UPDATE, INSERT INTO, etc.
201
+ const patterns = [
202
+ /FROM\s+(["`]?)(\w+)\1/gi,
203
+ /JOIN\s+(["`]?)(\w+)\1/gi,
204
+ /UPDATE\s+(["`]?)(\w+)\1/gi,
205
+ /INSERT\s+INTO\s+(["`]?)(\w+)\1/gi,
206
+ ];
207
+ patterns.forEach((pattern) => {
208
+ let match;
209
+ while ((match = pattern.exec(upperSql)) !== null) {
210
+ if (match[2]) {
211
+ tables.push(match[2].toLowerCase());
212
+ }
213
+ }
214
+ });
215
+ return [...new Set(tables)]; // Remove duplicates
216
+ }
217
+ //# sourceMappingURL=analyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../../src/core/analyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { ReactiveConfig, ReactiveDb } from './types';
2
+ /**
3
+ * Create a reactive database instance
4
+ * This is the main entry point for the library
5
+ */
6
+ export declare function createReactiveDb(drizzleDb: any, config: ReactiveConfig): ReactiveDb;
7
+ //# sourceMappingURL=driver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/core/driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EAKX,MAAM,SAAS,CAAA;AA0ShB;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,GAAG,EACd,MAAM,EAAE,cAAc,GACrB,UAAU,CAgBZ"}