@edgebasejs/client-core 0.1.8 → 0.1.9

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 (102) hide show
  1. package/README.md +15 -0
  2. package/dist/client-core/src/index.d.ts +4 -0
  3. package/dist/client-core/src/index.d.ts.map +1 -1
  4. package/dist/client-core/src/index.js +4 -0
  5. package/dist/client-core/src/index.js.map +1 -1
  6. package/dist/client-core/src/mutations/batch-processor-client.d.ts +67 -0
  7. package/dist/client-core/src/mutations/batch-processor-client.d.ts.map +1 -0
  8. package/dist/client-core/src/mutations/batch-processor-client.js +64 -0
  9. package/dist/client-core/src/mutations/batch-processor-client.js.map +1 -0
  10. package/dist/client-core/src/mutations/transaction-hook.d.ts +80 -0
  11. package/dist/client-core/src/mutations/transaction-hook.d.ts.map +1 -0
  12. package/dist/client-core/src/mutations/transaction-hook.js +204 -0
  13. package/dist/client-core/src/mutations/transaction-hook.js.map +1 -0
  14. package/dist/client-core/src/realtime/realtime-sync-manager.d.ts +55 -0
  15. package/dist/client-core/src/realtime/realtime-sync-manager.d.ts.map +1 -0
  16. package/dist/client-core/src/realtime/realtime-sync-manager.js +208 -0
  17. package/dist/client-core/src/realtime/realtime-sync-manager.js.map +1 -0
  18. package/dist/client-core/src/realtime/subscription-handler.d.ts +74 -0
  19. package/dist/client-core/src/realtime/subscription-handler.d.ts.map +1 -0
  20. package/dist/client-core/src/realtime/subscription-handler.js +224 -0
  21. package/dist/client-core/src/realtime/subscription-handler.js.map +1 -0
  22. package/dist/client-core/src/sync/sync-engine.d.ts +10 -0
  23. package/dist/client-core/src/sync/sync-engine.d.ts.map +1 -1
  24. package/dist/client-core/src/sync/sync-engine.js +37 -5
  25. package/dist/client-core/src/sync/sync-engine.js.map +1 -1
  26. package/dist/core/src/access-rules/column-security.d.ts +80 -0
  27. package/dist/core/src/access-rules/column-security.d.ts.map +1 -0
  28. package/dist/core/src/access-rules/column-security.js +191 -0
  29. package/dist/core/src/access-rules/column-security.js.map +1 -0
  30. package/dist/core/src/access-rules/engine.d.ts +26 -0
  31. package/dist/core/src/access-rules/engine.d.ts.map +1 -0
  32. package/dist/core/src/access-rules/engine.js +76 -0
  33. package/dist/core/src/access-rules/engine.js.map +1 -0
  34. package/dist/core/src/access-rules/index.d.ts +3 -0
  35. package/dist/core/src/access-rules/index.d.ts.map +1 -0
  36. package/dist/core/src/access-rules/index.js +3 -0
  37. package/dist/core/src/access-rules/index.js.map +1 -0
  38. package/dist/core/src/audit/audit-manager.d.ts +108 -0
  39. package/dist/core/src/audit/audit-manager.d.ts.map +1 -0
  40. package/dist/core/src/audit/audit-manager.js +265 -0
  41. package/dist/core/src/audit/audit-manager.js.map +1 -0
  42. package/dist/core/src/auth/auth-service.d.ts +71 -0
  43. package/dist/core/src/auth/auth-service.d.ts.map +1 -0
  44. package/dist/core/src/auth/auth-service.js +177 -0
  45. package/dist/core/src/auth/auth-service.js.map +1 -0
  46. package/dist/core/src/auth/index.d.ts +4 -0
  47. package/dist/core/src/auth/index.d.ts.map +1 -0
  48. package/dist/core/src/auth/index.js +4 -0
  49. package/dist/core/src/auth/index.js.map +1 -0
  50. package/dist/core/src/encryption/encryption-manager.d.ts +97 -0
  51. package/dist/core/src/encryption/encryption-manager.d.ts.map +1 -0
  52. package/dist/core/src/encryption/encryption-manager.js +224 -0
  53. package/dist/core/src/encryption/encryption-manager.js.map +1 -0
  54. package/dist/core/src/index.d.ts +16 -0
  55. package/dist/core/src/index.d.ts.map +1 -0
  56. package/dist/core/src/index.js +16 -0
  57. package/dist/core/src/index.js.map +1 -0
  58. package/dist/core/src/realtime/change-notifier.d.ts +50 -0
  59. package/dist/core/src/realtime/change-notifier.d.ts.map +1 -0
  60. package/dist/core/src/realtime/change-notifier.js +145 -0
  61. package/dist/core/src/realtime/change-notifier.js.map +1 -0
  62. package/dist/core/src/realtime/message-types.d.ts +39 -0
  63. package/dist/core/src/realtime/message-types.d.ts.map +1 -0
  64. package/dist/core/src/realtime/message-types.js +5 -0
  65. package/dist/core/src/realtime/message-types.js.map +1 -0
  66. package/dist/core/src/realtime/subscription-manager.d.ts +67 -0
  67. package/dist/core/src/realtime/subscription-manager.d.ts.map +1 -0
  68. package/dist/core/src/realtime/subscription-manager.js +229 -0
  69. package/dist/core/src/realtime/subscription-manager.js.map +1 -0
  70. package/dist/core/src/search/search-manager.d.ts +93 -0
  71. package/dist/core/src/search/search-manager.d.ts.map +1 -0
  72. package/dist/core/src/search/search-manager.js +258 -0
  73. package/dist/core/src/search/search-manager.js.map +1 -0
  74. package/dist/core/src/storage/file-manager.d.ts +138 -0
  75. package/dist/core/src/storage/file-manager.d.ts.map +1 -0
  76. package/dist/core/src/storage/file-manager.js +224 -0
  77. package/dist/core/src/storage/file-manager.js.map +1 -0
  78. package/dist/core/src/sync/batch-processor.d.ts +97 -0
  79. package/dist/core/src/sync/batch-processor.d.ts.map +1 -0
  80. package/dist/core/src/sync/batch-processor.js +313 -0
  81. package/dist/core/src/sync/batch-processor.js.map +1 -0
  82. package/dist/core/src/sync/csv-processor.d.ts +66 -0
  83. package/dist/core/src/sync/csv-processor.d.ts.map +1 -0
  84. package/dist/core/src/sync/csv-processor.js +223 -0
  85. package/dist/core/src/sync/csv-processor.js.map +1 -0
  86. package/dist/core/src/sync/index.d.ts +3 -0
  87. package/dist/core/src/sync/index.d.ts.map +1 -0
  88. package/dist/core/src/sync/index.js +3 -0
  89. package/dist/core/src/sync/index.js.map +1 -0
  90. package/dist/core/src/sync/sync-engine.d.ts +68 -0
  91. package/dist/core/src/sync/sync-engine.d.ts.map +1 -0
  92. package/dist/core/src/sync/sync-engine.js +317 -0
  93. package/dist/core/src/sync/sync-engine.js.map +1 -0
  94. package/dist/core/src/sync/transaction-manager.d.ts +83 -0
  95. package/dist/core/src/sync/transaction-manager.d.ts.map +1 -0
  96. package/dist/core/src/sync/transaction-manager.js +227 -0
  97. package/dist/core/src/sync/transaction-manager.js.map +1 -0
  98. package/dist/core/src/webhooks/webhook-manager.d.ts +137 -0
  99. package/dist/core/src/webhooks/webhook-manager.d.ts.map +1 -0
  100. package/dist/core/src/webhooks/webhook-manager.js +334 -0
  101. package/dist/core/src/webhooks/webhook-manager.js.map +1 -0
  102. package/package.json +2 -2
@@ -0,0 +1,334 @@
1
+ /**
2
+ * Webhook manager for event-driven integrations
3
+ * Handles webhook registration, event triggering, and delivery with retry logic
4
+ */
5
+ /**
6
+ * Webhook manager
7
+ */
8
+ export class WebhookManager {
9
+ constructor(db, options) {
10
+ this.db = db;
11
+ this.maxRetries = options?.maxRetries || 5;
12
+ this.retryDelays = options?.retryDelays || [60, 300, 900, 3600, 7200];
13
+ }
14
+ /**
15
+ * Register a new webhook
16
+ */
17
+ async registerWebhook(user, options) {
18
+ // Validate URL
19
+ try {
20
+ new URL(options.url);
21
+ }
22
+ catch {
23
+ throw new Error('Invalid webhook URL');
24
+ }
25
+ // Validate events
26
+ if (!options.events || options.events.length === 0) {
27
+ throw new Error('At least one event type is required');
28
+ }
29
+ const now = Date.now();
30
+ const webhookId = `wh_${now}_${Math.random().toString(36).substring(2, 15)}`;
31
+ const secret = this.generateSecret();
32
+ const webhook = {
33
+ id: webhookId,
34
+ userId: user.id,
35
+ url: options.url,
36
+ events: options.events,
37
+ secret,
38
+ isActive: true,
39
+ description: options.description,
40
+ headers: options.headers,
41
+ createdAt: now,
42
+ updatedAt: now,
43
+ };
44
+ await this.db.run(`INSERT INTO webhooks (id, user_id, url, events, secret, is_active, description, headers, created_at, updated_at)
45
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
46
+ webhook.id,
47
+ webhook.userId,
48
+ webhook.url,
49
+ JSON.stringify(webhook.events),
50
+ webhook.secret,
51
+ webhook.isActive ? 1 : 0,
52
+ webhook.description || null,
53
+ webhook.headers ? JSON.stringify(webhook.headers) : null,
54
+ webhook.createdAt,
55
+ webhook.updatedAt,
56
+ ]);
57
+ return webhook;
58
+ }
59
+ /**
60
+ * Get a webhook by ID
61
+ */
62
+ async getWebhook(webhookId, userId) {
63
+ let query = 'SELECT * FROM webhooks WHERE id = ?';
64
+ const params = [webhookId];
65
+ if (userId) {
66
+ query += ' AND user_id = ?';
67
+ params.push(userId);
68
+ }
69
+ const row = await this.db.getOne(query, params);
70
+ if (!row) {
71
+ return null;
72
+ }
73
+ return this.rowToWebhook(row);
74
+ }
75
+ /**
76
+ * List webhooks for a user
77
+ */
78
+ async listWebhooks(userId) {
79
+ const rows = await this.db.getAll('SELECT * FROM webhooks WHERE user_id = ? ORDER BY created_at DESC', [userId]);
80
+ return rows.map((row) => this.rowToWebhook(row));
81
+ }
82
+ /**
83
+ * Update a webhook
84
+ */
85
+ async updateWebhook(webhookId, userId, updates) {
86
+ const webhook = await this.getWebhook(webhookId, userId);
87
+ if (!webhook) {
88
+ throw new Error('Webhook not found');
89
+ }
90
+ const now = Date.now();
91
+ const setClauses = [];
92
+ const params = [];
93
+ if (updates.url !== undefined) {
94
+ try {
95
+ new URL(updates.url);
96
+ }
97
+ catch {
98
+ throw new Error('Invalid webhook URL');
99
+ }
100
+ setClauses.push('url = ?');
101
+ params.push(updates.url);
102
+ }
103
+ if (updates.events !== undefined) {
104
+ if (updates.events.length === 0) {
105
+ throw new Error('At least one event type is required');
106
+ }
107
+ setClauses.push('events = ?');
108
+ params.push(JSON.stringify(updates.events));
109
+ }
110
+ if (updates.isActive !== undefined) {
111
+ setClauses.push('is_active = ?');
112
+ params.push(updates.isActive ? 1 : 0);
113
+ }
114
+ if (updates.description !== undefined) {
115
+ setClauses.push('description = ?');
116
+ params.push(updates.description);
117
+ }
118
+ if (updates.headers !== undefined) {
119
+ setClauses.push('headers = ?');
120
+ params.push(JSON.stringify(updates.headers));
121
+ }
122
+ setClauses.push('updated_at = ?');
123
+ params.push(now);
124
+ params.push(webhookId, userId);
125
+ await this.db.run(`UPDATE webhooks SET ${setClauses.join(', ')} WHERE id = ? AND user_id = ?`, params);
126
+ return (await this.getWebhook(webhookId, userId));
127
+ }
128
+ /**
129
+ * Delete a webhook
130
+ */
131
+ async deleteWebhook(webhookId, userId) {
132
+ await this.db.run('DELETE FROM webhooks WHERE id = ? AND user_id = ?', [webhookId, userId]);
133
+ }
134
+ /**
135
+ * Trigger an event and queue it for delivery
136
+ */
137
+ async triggerEvent(options) {
138
+ // Find matching webhooks
139
+ const webhooks = await this.findMatchingWebhooks(options.eventType, options.userId);
140
+ if (webhooks.length === 0) {
141
+ return; // No webhooks to trigger
142
+ }
143
+ const now = Date.now();
144
+ // Create webhook events for each matching webhook
145
+ for (const webhook of webhooks) {
146
+ const eventId = `evt_${now}_${Math.random().toString(36).substring(2, 15)}`;
147
+ const payload = {
148
+ id: eventId,
149
+ type: options.eventType,
150
+ timestamp: now,
151
+ data: {
152
+ entity: options.entity,
153
+ recordId: options.recordId,
154
+ operation: options.operation,
155
+ ...options.data,
156
+ },
157
+ };
158
+ const signature = this.signPayload(payload, webhook.secret);
159
+ await this.db.run(`INSERT INTO webhook_events (id, webhook_id, event_type, payload, signature, attempts, max_attempts, next_retry_at, created_at)
160
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`, [eventId, webhook.id, options.eventType, JSON.stringify(payload), signature, 0, this.maxRetries, now, now]);
161
+ }
162
+ }
163
+ /**
164
+ * Process pending webhook events
165
+ */
166
+ async processPendingEvents() {
167
+ const now = Date.now();
168
+ const events = await this.db.getAll(`SELECT e.*, w.url, w.headers
169
+ FROM webhook_events e
170
+ JOIN webhooks w ON e.webhook_id = w.id
171
+ WHERE e.delivered_at IS NULL
172
+ AND e.failed_at IS NULL
173
+ AND (e.next_retry_at IS NULL OR e.next_retry_at <= ?)
174
+ AND e.attempts < e.max_attempts
175
+ AND w.is_active = 1
176
+ ORDER BY e.created_at ASC
177
+ LIMIT 100`, [now]);
178
+ let processed = 0;
179
+ for (const event of events) {
180
+ try {
181
+ await this.deliverEvent(event);
182
+ processed++;
183
+ }
184
+ catch (error) {
185
+ console.error(`Failed to deliver event ${event.id}:`, error);
186
+ }
187
+ }
188
+ return processed;
189
+ }
190
+ /**
191
+ * Deliver a webhook event
192
+ */
193
+ async deliverEvent(event) {
194
+ const startTime = Date.now();
195
+ const deliveryId = `del_${startTime}_${Math.random().toString(36).substring(2, 15)}`;
196
+ try {
197
+ const headers = {
198
+ 'Content-Type': 'application/json',
199
+ 'X-EdgeBase-Signature': event.signature,
200
+ 'X-EdgeBase-Event-Type': event.event_type,
201
+ 'X-EdgeBase-Event-Id': event.id,
202
+ 'X-EdgeBase-Delivery-Id': deliveryId,
203
+ };
204
+ // Add custom headers
205
+ if (event.headers) {
206
+ const customHeaders = JSON.parse(event.headers);
207
+ Object.assign(headers, customHeaders);
208
+ }
209
+ const response = await fetch(event.url, {
210
+ method: 'POST',
211
+ headers,
212
+ body: event.payload,
213
+ });
214
+ const duration = Date.now() - startTime;
215
+ const responseBody = await response.text().catch(() => '');
216
+ // Log delivery
217
+ await this.db.run(`INSERT INTO webhook_deliveries (id, webhook_id, event_id, url, event_type, status_code, response_body, duration, created_at)
218
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`, [deliveryId, event.webhook_id, event.id, event.url, event.event_type, response.status, responseBody.substring(0, 1000), duration, Date.now()]);
219
+ if (response.ok) {
220
+ // Mark as delivered
221
+ await this.db.run('UPDATE webhook_events SET delivered_at = ?, attempts = attempts + 1 WHERE id = ?', [Date.now(), event.id]);
222
+ }
223
+ else {
224
+ // Schedule retry
225
+ await this.scheduleRetry(event, `HTTP ${response.status}: ${responseBody.substring(0, 200)}`);
226
+ }
227
+ }
228
+ catch (error) {
229
+ const duration = Date.now() - startTime;
230
+ const errorMsg = error instanceof Error ? error.message : 'Unknown error';
231
+ // Log failed delivery
232
+ await this.db.run(`INSERT INTO webhook_deliveries (id, webhook_id, event_id, url, event_type, error, duration, created_at)
233
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?)`, [deliveryId, event.webhook_id, event.id, event.url, event.event_type, errorMsg.substring(0, 1000), duration, Date.now()]);
234
+ // Schedule retry
235
+ await this.scheduleRetry(event, errorMsg);
236
+ }
237
+ }
238
+ /**
239
+ * Schedule a retry for a failed event
240
+ */
241
+ async scheduleRetry(event, error) {
242
+ const attempts = event.attempts + 1;
243
+ if (attempts >= event.max_attempts) {
244
+ // Max retries reached - mark as failed
245
+ await this.db.run('UPDATE webhook_events SET failed_at = ?, attempts = ?, error = ? WHERE id = ?', [
246
+ Date.now(),
247
+ attempts,
248
+ error.substring(0, 1000),
249
+ event.id,
250
+ ]);
251
+ }
252
+ else {
253
+ // Schedule next retry with exponential backoff
254
+ const delayIndex = Math.min(attempts - 1, this.retryDelays.length - 1);
255
+ const delay = this.retryDelays[delayIndex];
256
+ const nextRetryAt = Date.now() + delay * 1000;
257
+ await this.db.run('UPDATE webhook_events SET attempts = ?, next_retry_at = ?, error = ? WHERE id = ?', [
258
+ attempts,
259
+ nextRetryAt,
260
+ error.substring(0, 1000),
261
+ event.id,
262
+ ]);
263
+ }
264
+ }
265
+ /**
266
+ * Find webhooks matching an event type
267
+ */
268
+ async findMatchingWebhooks(eventType, userId) {
269
+ let query = 'SELECT * FROM webhooks WHERE is_active = 1';
270
+ const params = [];
271
+ if (userId) {
272
+ query += ' AND user_id = ?';
273
+ params.push(userId);
274
+ }
275
+ const rows = await this.db.getAll(query, params);
276
+ const webhooks = rows.map((row) => this.rowToWebhook(row));
277
+ // Filter by event type
278
+ return webhooks.filter((webhook) => {
279
+ // Check if any event pattern matches
280
+ return webhook.events.some((pattern) => this.matchEventPattern(eventType, pattern));
281
+ });
282
+ }
283
+ /**
284
+ * Match an event type against a pattern (supports wildcards)
285
+ */
286
+ matchEventPattern(eventType, pattern) {
287
+ // Convert pattern to regex (support * wildcard)
288
+ const regexPattern = pattern.replace(/\*/g, '.*');
289
+ const regex = new RegExp(`^${regexPattern}$`);
290
+ return regex.test(eventType);
291
+ }
292
+ /**
293
+ * Sign a payload with HMAC-SHA256
294
+ */
295
+ signPayload(payload, secret) {
296
+ const payloadString = typeof payload === 'string' ? payload : JSON.stringify(payload);
297
+ // Simple signing - in production, use crypto.subtle for proper HMAC-SHA256
298
+ // This is a placeholder using base64 encoding
299
+ const combined = payloadString + secret;
300
+ const encoder = new TextEncoder();
301
+ const data = encoder.encode(combined);
302
+ // Convert to base64
303
+ let binary = '';
304
+ for (let i = 0; i < data.length; i++) {
305
+ binary += String.fromCharCode(data[i]);
306
+ }
307
+ const base64 = btoa(binary);
308
+ return `sha256=${base64}`;
309
+ }
310
+ /**
311
+ * Generate a random secret
312
+ */
313
+ generateSecret() {
314
+ return `whsec_${Array.from({ length: 32 }, () => Math.random().toString(36).charAt(2)).join('')}`;
315
+ }
316
+ /**
317
+ * Convert database row to Webhook object
318
+ */
319
+ rowToWebhook(row) {
320
+ return {
321
+ id: row.id,
322
+ userId: row.user_id,
323
+ url: row.url,
324
+ events: JSON.parse(row.events),
325
+ secret: row.secret,
326
+ isActive: row.is_active === 1,
327
+ description: row.description,
328
+ headers: row.headers ? JSON.parse(row.headers) : undefined,
329
+ createdAt: row.created_at,
330
+ updatedAt: row.updated_at,
331
+ };
332
+ }
333
+ }
334
+ //# sourceMappingURL=webhook-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook-manager.js","sourceRoot":"","sources":["../../../../../core/src/webhooks/webhook-manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edgebasejs/client-core",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "EdgeBase platform-agnostic client core",
5
5
  "main": "./dist/client-core/src/index.js",
6
6
  "types": "./dist/client-core/src/index.d.ts",
@@ -8,7 +8,7 @@
8
8
  "dist"
9
9
  ],
10
10
  "dependencies": {
11
- "@edgebasejs/types": "0.1.8"
11
+ "@edgebasejs/types": "0.1.9"
12
12
  },
13
13
  "publishConfig": {
14
14
  "registry": "https://registry.npmjs.org/"