@hookbase/cli 1.0.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 (114) hide show
  1. package/README.md +107 -0
  2. package/dist/commands/api-keys.d.ts +15 -0
  3. package/dist/commands/api-keys.d.ts.map +1 -0
  4. package/dist/commands/api-keys.js +143 -0
  5. package/dist/commands/api-keys.js.map +1 -0
  6. package/dist/commands/dashboard.d.ts +3 -0
  7. package/dist/commands/dashboard.d.ts.map +1 -0
  8. package/dist/commands/dashboard.js +26 -0
  9. package/dist/commands/dashboard.js.map +1 -0
  10. package/dist/commands/deliveries.d.ts +22 -0
  11. package/dist/commands/deliveries.d.ts.map +1 -0
  12. package/dist/commands/deliveries.js +223 -0
  13. package/dist/commands/deliveries.js.map +1 -0
  14. package/dist/commands/destinations.d.ts +29 -0
  15. package/dist/commands/destinations.d.ts.map +1 -0
  16. package/dist/commands/destinations.js +232 -0
  17. package/dist/commands/destinations.js.map +1 -0
  18. package/dist/commands/events.d.ts +13 -0
  19. package/dist/commands/events.d.ts.map +1 -0
  20. package/dist/commands/events.js +192 -0
  21. package/dist/commands/events.js.map +1 -0
  22. package/dist/commands/forward.d.ts +2 -0
  23. package/dist/commands/forward.d.ts.map +1 -0
  24. package/dist/commands/forward.js +25 -0
  25. package/dist/commands/forward.js.map +1 -0
  26. package/dist/commands/login.d.ts +2 -0
  27. package/dist/commands/login.d.ts.map +1 -0
  28. package/dist/commands/login.js +91 -0
  29. package/dist/commands/login.js.map +1 -0
  30. package/dist/commands/logout.d.ts +2 -0
  31. package/dist/commands/logout.d.ts.map +1 -0
  32. package/dist/commands/logout.js +12 -0
  33. package/dist/commands/logout.js.map +1 -0
  34. package/dist/commands/logs.d.ts +5 -0
  35. package/dist/commands/logs.d.ts.map +1 -0
  36. package/dist/commands/logs.js +43 -0
  37. package/dist/commands/logs.js.map +1 -0
  38. package/dist/commands/routes.d.ts +28 -0
  39. package/dist/commands/routes.d.ts.map +1 -0
  40. package/dist/commands/routes.js +225 -0
  41. package/dist/commands/routes.js.map +1 -0
  42. package/dist/commands/sources.d.ts +30 -0
  43. package/dist/commands/sources.d.ts.map +1 -0
  44. package/dist/commands/sources.js +256 -0
  45. package/dist/commands/sources.js.map +1 -0
  46. package/dist/commands/tunnel.d.ts +6 -0
  47. package/dist/commands/tunnel.d.ts.map +1 -0
  48. package/dist/commands/tunnel.js +150 -0
  49. package/dist/commands/tunnel.js.map +1 -0
  50. package/dist/commands/tunnels.d.ts +32 -0
  51. package/dist/commands/tunnels.d.ts.map +1 -0
  52. package/dist/commands/tunnels.js +432 -0
  53. package/dist/commands/tunnels.js.map +1 -0
  54. package/dist/index.d.ts +3 -0
  55. package/dist/index.d.ts.map +1 -0
  56. package/dist/index.js +430 -0
  57. package/dist/index.js.map +1 -0
  58. package/dist/lib/api.d.ts +472 -0
  59. package/dist/lib/api.d.ts.map +1 -0
  60. package/dist/lib/api.js +480 -0
  61. package/dist/lib/api.js.map +1 -0
  62. package/dist/lib/config.d.ts +31 -0
  63. package/dist/lib/config.d.ts.map +1 -0
  64. package/dist/lib/config.js +98 -0
  65. package/dist/lib/config.js.map +1 -0
  66. package/dist/lib/logger.d.ts +19 -0
  67. package/dist/lib/logger.d.ts.map +1 -0
  68. package/dist/lib/logger.js +90 -0
  69. package/dist/lib/logger.js.map +1 -0
  70. package/dist/lib/tunnel.d.ts +28 -0
  71. package/dist/lib/tunnel.d.ts.map +1 -0
  72. package/dist/lib/tunnel.js +197 -0
  73. package/dist/lib/tunnel.js.map +1 -0
  74. package/dist/tui/App.d.ts +2 -0
  75. package/dist/tui/App.d.ts.map +1 -0
  76. package/dist/tui/App.js +136 -0
  77. package/dist/tui/App.js.map +1 -0
  78. package/dist/tui/Dashboard.d.ts +2 -0
  79. package/dist/tui/Dashboard.d.ts.map +1 -0
  80. package/dist/tui/Dashboard.js +113 -0
  81. package/dist/tui/Dashboard.js.map +1 -0
  82. package/dist/tui/TunnelMonitor.d.ts +2 -0
  83. package/dist/tui/TunnelMonitor.d.ts.map +1 -0
  84. package/dist/tui/TunnelMonitor.js +131 -0
  85. package/dist/tui/TunnelMonitor.js.map +1 -0
  86. package/dist/tui/components/Box.d.ts +22 -0
  87. package/dist/tui/components/Box.d.ts.map +1 -0
  88. package/dist/tui/components/Box.js +27 -0
  89. package/dist/tui/components/Box.js.map +1 -0
  90. package/dist/tui/views/Analytics.d.ts +6 -0
  91. package/dist/tui/views/Analytics.d.ts.map +1 -0
  92. package/dist/tui/views/Analytics.js +104 -0
  93. package/dist/tui/views/Analytics.js.map +1 -0
  94. package/dist/tui/views/Destinations.d.ts +10 -0
  95. package/dist/tui/views/Destinations.d.ts.map +1 -0
  96. package/dist/tui/views/Destinations.js +156 -0
  97. package/dist/tui/views/Destinations.js.map +1 -0
  98. package/dist/tui/views/Events.d.ts +9 -0
  99. package/dist/tui/views/Events.d.ts.map +1 -0
  100. package/dist/tui/views/Events.js +60 -0
  101. package/dist/tui/views/Events.js.map +1 -0
  102. package/dist/tui/views/Overview.d.ts +13 -0
  103. package/dist/tui/views/Overview.d.ts.map +1 -0
  104. package/dist/tui/views/Overview.js +29 -0
  105. package/dist/tui/views/Overview.js.map +1 -0
  106. package/dist/tui/views/Sources.d.ts +10 -0
  107. package/dist/tui/views/Sources.d.ts.map +1 -0
  108. package/dist/tui/views/Sources.js +151 -0
  109. package/dist/tui/views/Sources.js.map +1 -0
  110. package/dist/tui/views/Tunnels.d.ts +10 -0
  111. package/dist/tui/views/Tunnels.d.ts.map +1 -0
  112. package/dist/tui/views/Tunnels.js +283 -0
  113. package/dist/tui/views/Tunnels.js.map +1 -0
  114. package/package.json +62 -0
@@ -0,0 +1,480 @@
1
+ import { getApiUrl, getAuthToken, getCurrentOrg } from './config.js';
2
+ async function request(method, path, body) {
3
+ const apiUrl = getApiUrl();
4
+ const token = getAuthToken();
5
+ const headers = {
6
+ 'Content-Type': 'application/json',
7
+ };
8
+ if (token) {
9
+ headers['Authorization'] = `Bearer ${token}`;
10
+ }
11
+ try {
12
+ const response = await fetch(`${apiUrl}${path}`, {
13
+ method,
14
+ headers,
15
+ body: body ? JSON.stringify(body) : undefined,
16
+ });
17
+ const data = await response.json();
18
+ if (!response.ok) {
19
+ return {
20
+ error: data.error || data.message || 'Request failed',
21
+ status: response.status,
22
+ };
23
+ }
24
+ return { data: data, status: response.status };
25
+ }
26
+ catch (error) {
27
+ return {
28
+ error: error instanceof Error ? error.message : 'Network error',
29
+ status: 0,
30
+ };
31
+ }
32
+ }
33
+ // Helper to ensure org is selected
34
+ function requireOrg() {
35
+ const org = getCurrentOrg();
36
+ return org;
37
+ }
38
+ export async function verifyApiKey(apiKey) {
39
+ const apiUrl = getApiUrl();
40
+ try {
41
+ const response = await fetch(`${apiUrl}/api/auth/me`, {
42
+ method: 'GET',
43
+ headers: {
44
+ 'Content-Type': 'application/json',
45
+ 'Authorization': `Bearer ${apiKey}`,
46
+ },
47
+ });
48
+ const data = await response.json();
49
+ if (!response.ok) {
50
+ return {
51
+ error: data.error || 'Invalid API key',
52
+ status: response.status,
53
+ };
54
+ }
55
+ return { data: data, status: response.status };
56
+ }
57
+ catch (error) {
58
+ return {
59
+ error: error instanceof Error ? error.message : 'Network error',
60
+ status: 0,
61
+ };
62
+ }
63
+ }
64
+ export async function getOrganizations() {
65
+ return request('GET', '/api/organizations');
66
+ }
67
+ export async function getOrganization(orgId) {
68
+ return request('GET', `/api/organizations/${orgId}`);
69
+ }
70
+ export async function listApiKeys() {
71
+ const org = requireOrg();
72
+ if (!org)
73
+ return { error: 'No organization selected', status: 0 };
74
+ return request('GET', `/api/organizations/${org.id}/api-keys`);
75
+ }
76
+ export async function createApiKey(name, scopes = ['read', 'write'], expiresInDays) {
77
+ const org = requireOrg();
78
+ if (!org)
79
+ return { error: 'No organization selected', status: 0 };
80
+ return request('POST', `/api/organizations/${org.id}/api-keys`, {
81
+ name,
82
+ scopes,
83
+ expiresInDays,
84
+ });
85
+ }
86
+ export async function revokeApiKey(keyId) {
87
+ const org = requireOrg();
88
+ if (!org)
89
+ return { error: 'No organization selected', status: 0 };
90
+ return request('DELETE', `/api/organizations/${org.id}/api-keys/${keyId}`);
91
+ }
92
+ export async function getSources() {
93
+ const org = requireOrg();
94
+ if (!org)
95
+ return { error: 'No organization selected', status: 0 };
96
+ return request('GET', `/api/organizations/${org.id}/sources`);
97
+ }
98
+ export async function getSource(sourceId) {
99
+ const org = requireOrg();
100
+ if (!org)
101
+ return { error: 'No organization selected', status: 0 };
102
+ return request('GET', `/api/organizations/${org.id}/sources/${sourceId}`);
103
+ }
104
+ export async function createSource(name, slug, provider, options) {
105
+ const org = requireOrg();
106
+ if (!org)
107
+ return { error: 'No organization selected', status: 0 };
108
+ const body = {
109
+ name,
110
+ slug,
111
+ description: options?.description,
112
+ rejectInvalidSignatures: options?.rejectInvalidSignatures,
113
+ rateLimitPerMinute: options?.rateLimitPerMinute,
114
+ };
115
+ // Only include provider if it's a valid value (not empty)
116
+ if (provider && provider.length > 0) {
117
+ body.provider = provider;
118
+ }
119
+ return request('POST', `/api/organizations/${org.id}/sources`, body);
120
+ }
121
+ export async function updateSource(sourceId, data) {
122
+ const org = requireOrg();
123
+ if (!org)
124
+ return { error: 'No organization selected', status: 0 };
125
+ return request('PATCH', `/api/organizations/${org.id}/sources/${sourceId}`, {
126
+ name: data.name,
127
+ provider: data.provider,
128
+ description: data.description,
129
+ isActive: data.isActive,
130
+ rejectInvalidSignatures: data.rejectInvalidSignatures,
131
+ rateLimitPerMinute: data.rateLimitPerMinute,
132
+ });
133
+ }
134
+ export async function deleteSource(sourceId) {
135
+ const org = requireOrg();
136
+ if (!org)
137
+ return { error: 'No organization selected', status: 0 };
138
+ return request('DELETE', `/api/organizations/${org.id}/sources/${sourceId}`);
139
+ }
140
+ export async function rotateSourceSecret(sourceId) {
141
+ const org = requireOrg();
142
+ if (!org)
143
+ return { error: 'No organization selected', status: 0 };
144
+ return request('POST', `/api/organizations/${org.id}/sources/${sourceId}/rotate-secret`);
145
+ }
146
+ export async function getDestinations() {
147
+ const org = requireOrg();
148
+ if (!org)
149
+ return { error: 'No organization selected', status: 0 };
150
+ return request('GET', `/api/organizations/${org.id}/destinations`);
151
+ }
152
+ export async function getDestination(destId) {
153
+ const org = requireOrg();
154
+ if (!org)
155
+ return { error: 'No organization selected', status: 0 };
156
+ return request('GET', `/api/organizations/${org.id}/destinations/${destId}`);
157
+ }
158
+ export async function createDestination(data) {
159
+ const org = requireOrg();
160
+ if (!org)
161
+ return { error: 'No organization selected', status: 0 };
162
+ // Generate slug from name if not provided
163
+ const slug = data.slug || data.name.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '');
164
+ return request('POST', `/api/organizations/${org.id}/destinations`, {
165
+ name: data.name,
166
+ slug: slug,
167
+ url: data.url,
168
+ method: data.method || 'POST',
169
+ headers: data.headers,
170
+ authType: data.authType || 'none',
171
+ authConfig: data.authConfig,
172
+ timeoutMs: data.timeoutMs || 30000,
173
+ rateLimitPerMinute: data.rateLimitPerMinute,
174
+ });
175
+ }
176
+ export async function updateDestination(destId, data) {
177
+ const org = requireOrg();
178
+ if (!org)
179
+ return { error: 'No organization selected', status: 0 };
180
+ return request('PATCH', `/api/organizations/${org.id}/destinations/${destId}`, {
181
+ name: data.name,
182
+ url: data.url,
183
+ method: data.method,
184
+ headers: data.headers,
185
+ authType: data.authType,
186
+ authConfig: data.authConfig,
187
+ timeoutMs: data.timeoutMs,
188
+ rateLimitPerMinute: data.rateLimitPerMinute,
189
+ isActive: data.isActive,
190
+ });
191
+ }
192
+ export async function deleteDestination(destId) {
193
+ const org = requireOrg();
194
+ if (!org)
195
+ return { error: 'No organization selected', status: 0 };
196
+ return request('DELETE', `/api/organizations/${org.id}/destinations/${destId}`);
197
+ }
198
+ export async function testDestination(destId) {
199
+ const org = requireOrg();
200
+ if (!org)
201
+ return { error: 'No organization selected', status: 0 };
202
+ return request('POST', `/api/organizations/${org.id}/destinations/${destId}/test`);
203
+ }
204
+ export async function getRoutes() {
205
+ const org = requireOrg();
206
+ if (!org)
207
+ return { error: 'No organization selected', status: 0 };
208
+ return request('GET', `/api/organizations/${org.id}/routes`);
209
+ }
210
+ export async function getRoute(routeId) {
211
+ const org = requireOrg();
212
+ if (!org)
213
+ return { error: 'No organization selected', status: 0 };
214
+ return request('GET', `/api/organizations/${org.id}/routes/${routeId}`);
215
+ }
216
+ export async function createRoute(data) {
217
+ const org = requireOrg();
218
+ if (!org)
219
+ return { error: 'No organization selected', status: 0 };
220
+ return request('POST', `/api/organizations/${org.id}/routes`, {
221
+ name: data.name,
222
+ source_id: data.sourceId,
223
+ destination_id: data.destinationId,
224
+ filter_id: data.filterId,
225
+ filter_conditions: data.filterConditions,
226
+ transform_id: data.transformId,
227
+ schema_id: data.schemaId,
228
+ priority: data.priority ?? 0,
229
+ is_active: data.isActive ?? true,
230
+ });
231
+ }
232
+ export async function updateRoute(routeId, data) {
233
+ const org = requireOrg();
234
+ if (!org)
235
+ return { error: 'No organization selected', status: 0 };
236
+ return request('PATCH', `/api/organizations/${org.id}/routes/${routeId}`, {
237
+ name: data.name,
238
+ source_id: data.sourceId,
239
+ destination_id: data.destinationId,
240
+ filter_id: data.filterId,
241
+ filter_conditions: data.filterConditions,
242
+ transform_id: data.transformId,
243
+ schema_id: data.schemaId,
244
+ priority: data.priority,
245
+ is_active: data.isActive,
246
+ });
247
+ }
248
+ export async function deleteRoute(routeId) {
249
+ const org = requireOrg();
250
+ if (!org)
251
+ return { error: 'No organization selected', status: 0 };
252
+ return request('DELETE', `/api/organizations/${org.id}/routes/${routeId}`);
253
+ }
254
+ export async function getTunnels() {
255
+ const org = requireOrg();
256
+ if (!org)
257
+ return { error: 'No organization selected', status: 0 };
258
+ return request('GET', `/api/organizations/${org.id}/tunnels`);
259
+ }
260
+ export async function getTunnel(tunnelId) {
261
+ const org = requireOrg();
262
+ if (!org)
263
+ return { error: 'No organization selected', status: 0 };
264
+ return request('GET', `/api/organizations/${org.id}/tunnels/${tunnelId}`);
265
+ }
266
+ export async function createTunnel(name, subdomain) {
267
+ const org = requireOrg();
268
+ if (!org)
269
+ return { error: 'No organization selected', status: 0 };
270
+ return request('POST', `/api/organizations/${org.id}/tunnels`, {
271
+ name,
272
+ subdomain,
273
+ });
274
+ }
275
+ export async function updateTunnel(tunnelId, data) {
276
+ const org = requireOrg();
277
+ if (!org)
278
+ return { error: 'No organization selected', status: 0 };
279
+ return request('PATCH', `/api/organizations/${org.id}/tunnels/${tunnelId}`, data);
280
+ }
281
+ export async function deleteTunnel(tunnelId) {
282
+ const org = requireOrg();
283
+ if (!org)
284
+ return { error: 'No organization selected', status: 0 };
285
+ return request('DELETE', `/api/organizations/${org.id}/tunnels/${tunnelId}`);
286
+ }
287
+ export async function getTunnelStatus(tunnelId) {
288
+ const org = requireOrg();
289
+ if (!org)
290
+ return { error: 'No organization selected', status: 0 };
291
+ return request('GET', `/api/organizations/${org.id}/tunnels/${tunnelId}/status`);
292
+ }
293
+ export async function regenerateTunnelToken(tunnelId) {
294
+ const org = requireOrg();
295
+ if (!org)
296
+ return { error: 'No organization selected', status: 0 };
297
+ return request('POST', `/api/organizations/${org.id}/tunnels/${tunnelId}/regenerate-token`);
298
+ }
299
+ export async function disconnectTunnel(tunnelId) {
300
+ const org = requireOrg();
301
+ if (!org)
302
+ return { error: 'No organization selected', status: 0 };
303
+ return request('POST', `/api/organizations/${org.id}/tunnels/${tunnelId}/disconnect`);
304
+ }
305
+ export async function getEvents(options) {
306
+ const org = requireOrg();
307
+ if (!org)
308
+ return { error: 'No organization selected', status: 0 };
309
+ const params = new URLSearchParams();
310
+ if (options?.limit)
311
+ params.set('limit', String(options.limit));
312
+ if (options?.offset)
313
+ params.set('offset', String(options.offset));
314
+ if (options?.sourceId)
315
+ params.set('sourceId', options.sourceId);
316
+ if (options?.status)
317
+ params.set('status', options.status);
318
+ if (options?.eventType)
319
+ params.set('eventType', options.eventType);
320
+ if (options?.fromDate)
321
+ params.set('fromDate', options.fromDate);
322
+ if (options?.toDate)
323
+ params.set('toDate', options.toDate);
324
+ if (options?.search)
325
+ params.set('search', options.search);
326
+ const queryString = params.toString();
327
+ return request('GET', `/api/organizations/${org.id}/events${queryString ? `?${queryString}` : ''}`);
328
+ }
329
+ export async function getEvent(eventId) {
330
+ const org = requireOrg();
331
+ if (!org)
332
+ return { error: 'No organization selected', status: 0 };
333
+ return request('GET', `/api/organizations/${org.id}/events/${eventId}`);
334
+ }
335
+ export async function getDeliveries(options) {
336
+ const org = requireOrg();
337
+ if (!org)
338
+ return { error: 'No organization selected', status: 0 };
339
+ const params = new URLSearchParams();
340
+ if (options?.limit)
341
+ params.set('limit', String(options.limit));
342
+ if (options?.offset)
343
+ params.set('offset', String(options.offset));
344
+ if (options?.eventId)
345
+ params.set('eventId', options.eventId);
346
+ if (options?.routeId)
347
+ params.set('routeId', options.routeId);
348
+ if (options?.destinationId)
349
+ params.set('destinationId', options.destinationId);
350
+ if (options?.status)
351
+ params.set('status', options.status);
352
+ const queryString = params.toString();
353
+ return request('GET', `/api/organizations/${org.id}/deliveries${queryString ? `?${queryString}` : ''}`);
354
+ }
355
+ export async function getDelivery(deliveryId) {
356
+ const org = requireOrg();
357
+ if (!org)
358
+ return { error: 'No organization selected', status: 0 };
359
+ return request('GET', `/api/organizations/${org.id}/deliveries/${deliveryId}`);
360
+ }
361
+ export async function replayDelivery(deliveryId) {
362
+ const org = requireOrg();
363
+ if (!org)
364
+ return { error: 'No organization selected', status: 0 };
365
+ return request('POST', `/api/organizations/${org.id}/deliveries/${deliveryId}/replay`);
366
+ }
367
+ export async function bulkReplayDeliveries(deliveryIds) {
368
+ const org = requireOrg();
369
+ if (!org)
370
+ return { error: 'No organization selected', status: 0 };
371
+ return request('POST', `/api/organizations/${org.id}/deliveries/bulk-replay`, {
372
+ deliveryIds,
373
+ });
374
+ }
375
+ export async function getTransforms() {
376
+ const org = requireOrg();
377
+ if (!org)
378
+ return { error: 'No organization selected', status: 0 };
379
+ return request('GET', `/api/organizations/${org.id}/transforms`);
380
+ }
381
+ export async function getTransform(transformId) {
382
+ const org = requireOrg();
383
+ if (!org)
384
+ return { error: 'No organization selected', status: 0 };
385
+ return request('GET', `/api/organizations/${org.id}/transforms/${transformId}`);
386
+ }
387
+ export async function createTransform(data) {
388
+ const org = requireOrg();
389
+ if (!org)
390
+ return { error: 'No organization selected', status: 0 };
391
+ return request('POST', `/api/organizations/${org.id}/transforms`, {
392
+ name: data.name,
393
+ type: data.type,
394
+ expression: data.expression,
395
+ input_format: data.inputFormat || 'json',
396
+ output_format: data.outputFormat || 'json',
397
+ });
398
+ }
399
+ export async function updateTransform(transformId, data) {
400
+ const org = requireOrg();
401
+ if (!org)
402
+ return { error: 'No organization selected', status: 0 };
403
+ return request('PATCH', `/api/organizations/${org.id}/transforms/${transformId}`, {
404
+ name: data.name,
405
+ expression: data.expression,
406
+ is_active: data.isActive,
407
+ });
408
+ }
409
+ export async function deleteTransform(transformId) {
410
+ const org = requireOrg();
411
+ if (!org)
412
+ return { error: 'No organization selected', status: 0 };
413
+ return request('DELETE', `/api/organizations/${org.id}/transforms/${transformId}`);
414
+ }
415
+ export async function testTransform(data) {
416
+ const org = requireOrg();
417
+ if (!org)
418
+ return { error: 'No organization selected', status: 0 };
419
+ return request('POST', `/api/organizations/${org.id}/transforms/test`, data);
420
+ }
421
+ export async function getFilters() {
422
+ const org = requireOrg();
423
+ if (!org)
424
+ return { error: 'No organization selected', status: 0 };
425
+ return request('GET', `/api/organizations/${org.id}/filters`);
426
+ }
427
+ export async function getFilter(filterId) {
428
+ const org = requireOrg();
429
+ if (!org)
430
+ return { error: 'No organization selected', status: 0 };
431
+ return request('GET', `/api/organizations/${org.id}/filters/${filterId}`);
432
+ }
433
+ export async function createFilter(data) {
434
+ const org = requireOrg();
435
+ if (!org)
436
+ return { error: 'No organization selected', status: 0 };
437
+ return request('POST', `/api/organizations/${org.id}/filters`, data);
438
+ }
439
+ export async function updateFilter(filterId, data) {
440
+ const org = requireOrg();
441
+ if (!org)
442
+ return { error: 'No organization selected', status: 0 };
443
+ return request('PATCH', `/api/organizations/${org.id}/filters/${filterId}`, {
444
+ name: data.name,
445
+ logic: data.logic,
446
+ conditions: data.conditions,
447
+ is_active: data.isActive,
448
+ });
449
+ }
450
+ export async function deleteFilter(filterId) {
451
+ const org = requireOrg();
452
+ if (!org)
453
+ return { error: 'No organization selected', status: 0 };
454
+ return request('DELETE', `/api/organizations/${org.id}/filters/${filterId}`);
455
+ }
456
+ export async function testFilter(data) {
457
+ const org = requireOrg();
458
+ if (!org)
459
+ return { error: 'No organization selected', status: 0 };
460
+ return request('POST', `/api/organizations/${org.id}/filters/test`, data);
461
+ }
462
+ export async function getAnalyticsOverview() {
463
+ const org = requireOrg();
464
+ if (!org)
465
+ return { error: 'No organization selected', status: 0 };
466
+ return request('GET', `/api/organizations/${org.id}/analytics/overview`);
467
+ }
468
+ export async function getDashboardAnalytics(range = '24h') {
469
+ const org = requireOrg();
470
+ if (!org)
471
+ return { error: 'No organization selected', status: 0 };
472
+ return request('GET', `/api/organizations/${org.id}/analytics/dashboard?range=${range}`);
473
+ }
474
+ export async function getRecentActivity(limit = 20) {
475
+ const org = requireOrg();
476
+ if (!org)
477
+ return { error: 'No organization selected', status: 0 };
478
+ return request('GET', `/api/organizations/${org.id}/realtime/recent?limit=${limit}`);
479
+ }
480
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ interface ConfigSchema {
2
+ apiUrl: string;
3
+ authToken: string | null;
4
+ refreshToken: string | null;
5
+ userId: string | null;
6
+ userEmail: string | null;
7
+ displayName: string | null;
8
+ currentOrgId: string | null;
9
+ currentOrgSlug: string | null;
10
+ }
11
+ export declare function getApiUrl(): string;
12
+ export declare function setApiUrl(url: string): void;
13
+ export declare function getAuthToken(): string | null;
14
+ export declare function setAuth(token: string, userId: string, email: string, displayName: string, refreshToken?: string): void;
15
+ export declare function clearAuth(): void;
16
+ export declare function isAuthenticated(): boolean;
17
+ export declare function getCurrentUser(): {
18
+ id: string;
19
+ email: string;
20
+ displayName: string;
21
+ } | null;
22
+ export declare function getCurrentOrg(): {
23
+ id: string;
24
+ slug: string;
25
+ } | null;
26
+ export declare function setCurrentOrg(id: string, slug: string): void;
27
+ export declare function getConfigPath(): string;
28
+ export declare function isDebugMode(): boolean;
29
+ export declare function getAllConfig(): ConfigSchema;
30
+ export {};
31
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAEA,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAsBD,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED,wBAAgB,YAAY,IAAI,MAAM,GAAG,IAAI,CAM5C;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAQtH;AAED,wBAAgB,SAAS,IAAI,IAAI,CAQhC;AAED,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED,wBAAgB,cAAc,IAAI;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAU1F;AAED,wBAAgB,aAAa,IAAI;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAcnE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAG5D;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAGD,wBAAgB,YAAY,IAAI,YAAY,CAW3C"}
@@ -0,0 +1,98 @@
1
+ import Conf from 'conf';
2
+ const config = new Conf({
3
+ projectName: 'hookbase-cli',
4
+ defaults: {
5
+ apiUrl: 'https://api.hookbase.app',
6
+ authToken: null,
7
+ refreshToken: null,
8
+ userId: null,
9
+ userEmail: null,
10
+ displayName: null,
11
+ currentOrgId: null,
12
+ currentOrgSlug: null,
13
+ },
14
+ });
15
+ // Environment variable overrides
16
+ // HOOKBASE_API_KEY - API key for authentication
17
+ // HOOKBASE_API_URL - Custom API URL
18
+ // HOOKBASE_ORG_ID - Organization ID override
19
+ // HOOKBASE_DEBUG - Enable debug mode
20
+ export function getApiUrl() {
21
+ return process.env.HOOKBASE_API_URL || config.get('apiUrl');
22
+ }
23
+ export function setApiUrl(url) {
24
+ config.set('apiUrl', url);
25
+ }
26
+ export function getAuthToken() {
27
+ // Environment variable takes precedence
28
+ if (process.env.HOOKBASE_API_KEY) {
29
+ return process.env.HOOKBASE_API_KEY;
30
+ }
31
+ return config.get('authToken');
32
+ }
33
+ export function setAuth(token, userId, email, displayName, refreshToken) {
34
+ config.set('authToken', token);
35
+ config.set('userId', userId);
36
+ config.set('userEmail', email);
37
+ config.set('displayName', displayName);
38
+ if (refreshToken) {
39
+ config.set('refreshToken', refreshToken);
40
+ }
41
+ }
42
+ export function clearAuth() {
43
+ config.set('authToken', null);
44
+ config.set('refreshToken', null);
45
+ config.set('userId', null);
46
+ config.set('userEmail', null);
47
+ config.set('displayName', null);
48
+ config.set('currentOrgId', null);
49
+ config.set('currentOrgSlug', null);
50
+ }
51
+ export function isAuthenticated() {
52
+ return !!(process.env.HOOKBASE_API_KEY || config.get('authToken'));
53
+ }
54
+ export function getCurrentUser() {
55
+ const userId = config.get('userId');
56
+ const userEmail = config.get('userEmail');
57
+ const displayName = config.get('displayName');
58
+ if (!userId || !userEmail || !displayName) {
59
+ return null;
60
+ }
61
+ return { id: userId, email: userEmail, displayName };
62
+ }
63
+ export function getCurrentOrg() {
64
+ // Environment variable override
65
+ if (process.env.HOOKBASE_ORG_ID) {
66
+ return { id: process.env.HOOKBASE_ORG_ID, slug: process.env.HOOKBASE_ORG_SLUG || '' };
67
+ }
68
+ const id = config.get('currentOrgId');
69
+ const slug = config.get('currentOrgSlug');
70
+ if (!id || !slug) {
71
+ return null;
72
+ }
73
+ return { id, slug };
74
+ }
75
+ export function setCurrentOrg(id, slug) {
76
+ config.set('currentOrgId', id);
77
+ config.set('currentOrgSlug', slug);
78
+ }
79
+ export function getConfigPath() {
80
+ return config.path;
81
+ }
82
+ export function isDebugMode() {
83
+ return process.env.HOOKBASE_DEBUG === '1' || process.env.HOOKBASE_DEBUG === 'true';
84
+ }
85
+ // Get all config as an object (for debugging)
86
+ export function getAllConfig() {
87
+ return {
88
+ apiUrl: getApiUrl(),
89
+ authToken: getAuthToken() ? '***' : null,
90
+ refreshToken: config.get('refreshToken') ? '***' : null,
91
+ userId: config.get('userId'),
92
+ userEmail: config.get('userEmail'),
93
+ displayName: config.get('displayName'),
94
+ currentOrgId: getCurrentOrg()?.id || null,
95
+ currentOrgSlug: getCurrentOrg()?.slug || null,
96
+ };
97
+ }
98
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}