@happyvertical/smrt-analytics 0.40.4 → 0.40.6

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.
@@ -1,462 +1,655 @@
1
1
  {
2
2
  "version": "1.0.0",
3
- "timestamp": 1784132806514,
3
+ "timestamp": 1784159516390,
4
4
  "packageName": "@happyvertical/smrt-analytics",
5
- "packageVersion": "0.40.4",
5
+ "packageVersion": "0.40.6",
6
6
  "objects": {
7
- "@happyvertical/smrt-analytics:AnalyticsDataStreamCollection": {
8
- "name": "analyticsdatastreamcollection",
9
- "className": "AnalyticsDataStreamCollection",
10
- "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsDataStreamCollection",
7
+ "@happyvertical/smrt-analytics:AnalyticsDataStream": {
8
+ "name": "analyticsdatastream",
9
+ "className": "AnalyticsDataStream",
10
+ "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsDataStream",
11
11
  "collection": "analyticsdatastreams",
12
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-8nsqr/smrt/smrt/packages/analytics/src/collections/AnalyticsDataStreamCollection.ts",
12
+ "filePath": "/home/runner/_work/smrt/smrt/packages/analytics/src/models/AnalyticsDataStream.ts",
13
13
  "packageName": "@happyvertical/smrt-analytics",
14
- "fields": {},
14
+ "fields": {
15
+ "created_at": {
16
+ "type": "datetime",
17
+ "required": false
18
+ },
19
+ "updated_at": {
20
+ "type": "datetime",
21
+ "required": false
22
+ },
23
+ "tenantId": {
24
+ "type": "text",
25
+ "required": false,
26
+ "_meta": {
27
+ "sqlType": "UUID",
28
+ "nullable": true,
29
+ "__tenancy": {
30
+ "isTenantIdField": true,
31
+ "autoFilter": true,
32
+ "required": false,
33
+ "autoPopulate": true,
34
+ "nullable": true,
35
+ "mode": "optional",
36
+ "field": "tenantId",
37
+ "allowSuperAdminBypass": false
38
+ }
39
+ }
40
+ },
41
+ "propertyId": {
42
+ "type": "foreignKey",
43
+ "required": false,
44
+ "related": "AnalyticsProperty"
45
+ },
46
+ "displayName": {
47
+ "type": "text",
48
+ "required": false,
49
+ "default": ""
50
+ },
51
+ "streamType": {
52
+ "type": "text",
53
+ "required": false
54
+ },
55
+ "externalId": {
56
+ "type": "text",
57
+ "required": false,
58
+ "default": ""
59
+ },
60
+ "measurementId": {
61
+ "type": "text",
62
+ "required": false,
63
+ "default": ""
64
+ },
65
+ "firebaseAppId": {
66
+ "type": "text",
67
+ "required": false,
68
+ "default": ""
69
+ },
70
+ "defaultUri": {
71
+ "type": "text",
72
+ "required": false,
73
+ "default": ""
74
+ },
75
+ "bundleId": {
76
+ "type": "text",
77
+ "required": false,
78
+ "default": ""
79
+ },
80
+ "packageName": {
81
+ "type": "text",
82
+ "required": false,
83
+ "default": ""
84
+ },
85
+ "status": {
86
+ "type": "text",
87
+ "required": false
88
+ },
89
+ "enhancedMeasurement": {
90
+ "type": "boolean",
91
+ "required": false,
92
+ "default": true
93
+ }
94
+ },
15
95
  "methods": {
16
- "findByProperty": {
17
- "name": "findByProperty",
96
+ "getAiUsageSnapshot": {
97
+ "name": "getAiUsageSnapshot",
98
+ "async": false,
99
+ "parameters": [],
100
+ "returnType": "AiUsageSnapshot | undefined",
101
+ "isStatic": false,
102
+ "isPublic": true
103
+ },
104
+ "resetAiUsage": {
105
+ "name": "resetAiUsage",
106
+ "async": false,
107
+ "parameters": [],
108
+ "returnType": "void",
109
+ "isStatic": false,
110
+ "isPublic": true
111
+ },
112
+ "listAiUsage": {
113
+ "name": "listAiUsage",
18
114
  "async": true,
19
115
  "parameters": [
20
116
  {
21
- "name": "propertyId",
22
- "type": "string",
23
- "optional": false
117
+ "name": "options",
118
+ "type": "AiUsageListOptions",
119
+ "optional": true
24
120
  }
25
121
  ],
26
- "returnType": "Promise<AnalyticsDataStream[]>",
122
+ "returnType": "Promise<SmrtAiUsageRecord[]>",
27
123
  "isStatic": false,
28
124
  "isPublic": true
29
125
  },
30
- "findByExternalId": {
31
- "name": "findByExternalId",
126
+ "summarizeAiUsage": {
127
+ "name": "summarizeAiUsage",
32
128
  "async": true,
33
129
  "parameters": [
34
130
  {
35
- "name": "externalId",
36
- "type": "string",
37
- "optional": false
131
+ "name": "options",
132
+ "type": "AiUsageSummaryOptions",
133
+ "optional": true
38
134
  }
39
135
  ],
40
- "returnType": "Promise<AnalyticsDataStream | null>",
136
+ "returnType": "Promise<Record<string, AiUsageStats>>",
41
137
  "isStatic": false,
42
138
  "isPublic": true
43
139
  },
44
- "findByMeasurementId": {
45
- "name": "findByMeasurementId",
140
+ "destroy": {
141
+ "name": "destroy",
142
+ "async": false,
143
+ "parameters": [],
144
+ "returnType": "void",
145
+ "isStatic": false,
146
+ "isPublic": true
147
+ },
148
+ "markAsPersisted": {
149
+ "name": "markAsPersisted",
150
+ "async": false,
151
+ "parameters": [],
152
+ "returnType": "void",
153
+ "isStatic": false,
154
+ "isPublic": true
155
+ },
156
+ "requireInsertOnSave": {
157
+ "name": "requireInsertOnSave",
158
+ "async": false,
159
+ "parameters": [],
160
+ "returnType": "void",
161
+ "isStatic": false,
162
+ "isPublic": true
163
+ },
164
+ "initialize": {
165
+ "name": "initialize",
166
+ "async": true,
167
+ "parameters": [],
168
+ "returnType": "Promise",
169
+ "isStatic": false,
170
+ "isPublic": true
171
+ },
172
+ "loadDataFromDb": {
173
+ "name": "loadDataFromDb",
46
174
  "async": true,
47
175
  "parameters": [
48
176
  {
49
- "name": "measurementId",
50
- "type": "string",
177
+ "name": "data",
178
+ "type": "Record<string>",
51
179
  "optional": false
52
180
  }
53
181
  ],
54
- "returnType": "Promise<AnalyticsDataStream | null>",
182
+ "returnType": "any",
55
183
  "isStatic": false,
56
184
  "isPublic": true
57
185
  },
58
- "findByType": {
59
- "name": "findByType",
186
+ "getFields": {
187
+ "name": "getFields",
60
188
  "async": true,
189
+ "parameters": [],
190
+ "returnType": "Promise<any>",
191
+ "isStatic": false,
192
+ "isPublic": true
193
+ },
194
+ "toJSON": {
195
+ "name": "toJSON",
196
+ "async": false,
197
+ "parameters": [],
198
+ "returnType": "any",
199
+ "isStatic": false,
200
+ "isPublic": true
201
+ },
202
+ "toPlainObject": {
203
+ "name": "toPlainObject",
204
+ "async": false,
205
+ "parameters": [],
206
+ "returnType": "Record<string>",
207
+ "isStatic": false,
208
+ "isPublic": true
209
+ },
210
+ "toPublicJSON": {
211
+ "name": "toPublicJSON",
212
+ "async": false,
61
213
  "parameters": [
62
214
  {
63
- "name": "streamType",
64
- "type": "DataStreamType",
65
- "optional": false
215
+ "name": "options",
216
+ "type": "PublicJsonOptions",
217
+ "optional": true
66
218
  }
67
219
  ],
68
- "returnType": "Promise<AnalyticsDataStream[]>",
220
+ "returnType": "Record<string>",
69
221
  "isStatic": false,
70
222
  "isPublic": true
71
223
  },
72
- "findWebStreams": {
73
- "name": "findWebStreams",
224
+ "getId": {
225
+ "name": "getId",
74
226
  "async": true,
75
227
  "parameters": [],
76
- "returnType": "Promise<AnalyticsDataStream[]>",
228
+ "returnType": "any",
77
229
  "isStatic": false,
78
230
  "isPublic": true
79
231
  },
80
- "findIOSStreams": {
81
- "name": "findIOSStreams",
232
+ "getSlug": {
233
+ "name": "getSlug",
82
234
  "async": true,
83
235
  "parameters": [],
84
- "returnType": "Promise<AnalyticsDataStream[]>",
236
+ "returnType": "any",
85
237
  "isStatic": false,
86
238
  "isPublic": true
87
239
  },
88
- "findAndroidStreams": {
89
- "name": "findAndroidStreams",
240
+ "getSavedId": {
241
+ "name": "getSavedId",
90
242
  "async": true,
91
243
  "parameters": [],
92
- "returnType": "Promise<AnalyticsDataStream[]>",
244
+ "returnType": "any",
93
245
  "isStatic": false,
94
246
  "isPublic": true
95
247
  },
96
- "findMobileStreams": {
97
- "name": "findMobileStreams",
248
+ "isSaved": {
249
+ "name": "isSaved",
98
250
  "async": true,
99
251
  "parameters": [],
100
- "returnType": "Promise<AnalyticsDataStream[]>",
252
+ "returnType": "any",
101
253
  "isStatic": false,
102
254
  "isPublic": true
103
255
  },
104
- "findByStatus": {
105
- "name": "findByStatus",
256
+ "save": {
257
+ "name": "save",
106
258
  "async": true,
259
+ "parameters": [],
260
+ "returnType": "any",
261
+ "isStatic": false,
262
+ "isPublic": true
263
+ },
264
+ "classifyConstraintError": {
265
+ "name": "classifyConstraintError",
266
+ "async": false,
107
267
  "parameters": [
108
268
  {
109
- "name": "status",
110
- "type": "DataStreamStatus",
269
+ "name": "message",
270
+ "type": "string",
111
271
  "optional": false
112
272
  }
113
273
  ],
114
- "returnType": "Promise<AnalyticsDataStream[]>",
115
- "isStatic": false,
274
+ "returnType": "'unique' | 'not_null' | null",
275
+ "isStatic": true,
116
276
  "isPublic": true
117
277
  },
118
- "findActive": {
119
- "name": "findActive",
278
+ "loadFromId": {
279
+ "name": "loadFromId",
120
280
  "async": true,
121
281
  "parameters": [],
122
- "returnType": "Promise<AnalyticsDataStream[]>",
282
+ "returnType": "any",
123
283
  "isStatic": false,
124
284
  "isPublic": true
125
285
  },
126
- "findActiveByProperty": {
127
- "name": "findActiveByProperty",
286
+ "loadFromSlug": {
287
+ "name": "loadFromSlug",
288
+ "async": true,
289
+ "parameters": [],
290
+ "returnType": "any",
291
+ "isStatic": false,
292
+ "isPublic": true
293
+ },
294
+ "is": {
295
+ "name": "is",
128
296
  "async": true,
129
297
  "parameters": [
130
298
  {
131
- "name": "propertyId",
299
+ "name": "criteria",
132
300
  "type": "string",
133
301
  "optional": false
302
+ },
303
+ {
304
+ "name": "options",
305
+ "type": "AiOperationOptions",
306
+ "optional": true
134
307
  }
135
308
  ],
136
- "returnType": "Promise<AnalyticsDataStream[]>",
309
+ "returnType": "any",
137
310
  "isStatic": false,
138
311
  "isPublic": true
139
- }
140
- },
141
- "decoratorConfig": {},
142
- "extends": "SmrtCollection",
143
- "extendsTypeArg": "AnalyticsDataStream",
144
- "exportName": "AnalyticsDataStreamCollection",
145
- "collectionExportName": "AnalyticsDataStreamCollectionCollection",
146
- "schema": {
147
- "tableName": "analytics_data_stream_collections",
148
- "ddl": "CREATE TABLE IF NOT EXISTS \"analytics_data_stream_collections\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp\n);",
149
- "columns": {
150
- "id": {
151
- "type": "UUID",
152
- "primaryKey": true,
153
- "referenceKind": "id",
154
- "notNull": true
155
- },
156
- "slug": {
157
- "type": "TEXT",
158
- "notNull": true
159
- },
160
- "context": {
161
- "type": "TEXT",
162
- "notNull": true,
163
- "default": ""
164
- },
165
- "created_at": {
166
- "type": "TIMESTAMP",
167
- "notNull": true,
168
- "default": "current_timestamp"
169
- },
170
- "updated_at": {
171
- "type": "TIMESTAMP",
172
- "notNull": true,
173
- "default": "current_timestamp"
174
- }
175
312
  },
176
- "indexes": [
177
- {
178
- "name": "analytics_data_stream_collections_id_idx",
179
- "columns": [
180
- "id"
181
- ]
182
- },
183
- {
184
- "name": "analytics_data_stream_collections_slug_context_idx",
185
- "columns": [
186
- "slug",
187
- "context"
188
- ],
189
- "unique": true
190
- }
191
- ],
192
- "version": "12ef5a9a"
193
- }
194
- },
195
- "@happyvertical/smrt-analytics:AnalyticsEventCollection": {
196
- "name": "analyticseventcollection",
197
- "className": "AnalyticsEventCollection",
198
- "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsEventCollection",
199
- "collection": "analyticsevents",
200
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-8nsqr/smrt/smrt/packages/analytics/src/collections/AnalyticsEventCollection.ts",
201
- "packageName": "@happyvertical/smrt-analytics",
202
- "fields": {},
203
- "methods": {
204
- "findByProperty": {
205
- "name": "findByProperty",
313
+ "do": {
314
+ "name": "do",
206
315
  "async": true,
207
316
  "parameters": [
208
317
  {
209
- "name": "propertyId",
318
+ "name": "instructions",
210
319
  "type": "string",
211
320
  "optional": false
321
+ },
322
+ {
323
+ "name": "options",
324
+ "type": "AiOperationOptions",
325
+ "optional": true
212
326
  }
213
327
  ],
214
- "returnType": "Promise<AnalyticsEvent[]>",
328
+ "returnType": "any",
215
329
  "isStatic": false,
216
330
  "isPublic": true
217
331
  },
218
- "findByEventName": {
219
- "name": "findByEventName",
332
+ "describe": {
333
+ "name": "describe",
220
334
  "async": true,
221
335
  "parameters": [
222
336
  {
223
- "name": "eventName",
224
- "type": "string",
225
- "optional": false
337
+ "name": "options",
338
+ "type": "AiOperationOptions",
339
+ "optional": true
226
340
  }
227
341
  ],
228
- "returnType": "Promise<AnalyticsEvent[]>",
342
+ "returnType": "any",
229
343
  "isStatic": false,
230
344
  "isPublic": true
231
345
  },
232
- "findByClientId": {
233
- "name": "findByClientId",
346
+ "delete": {
347
+ "name": "delete",
234
348
  "async": true,
349
+ "parameters": [],
350
+ "returnType": "Promise<void>",
351
+ "isStatic": false,
352
+ "isPublic": true
353
+ },
354
+ "isRelatedLoaded": {
355
+ "name": "isRelatedLoaded",
356
+ "async": false,
235
357
  "parameters": [
236
358
  {
237
- "name": "clientId",
359
+ "name": "fieldName",
238
360
  "type": "string",
239
361
  "optional": false
240
362
  }
241
363
  ],
242
- "returnType": "Promise<AnalyticsEvent[]>",
364
+ "returnType": "boolean",
243
365
  "isStatic": false,
244
366
  "isPublic": true
245
367
  },
246
- "findByUserId": {
247
- "name": "findByUserId",
248
- "async": true,
368
+ "_setLoadedRelationship": {
369
+ "name": "_setLoadedRelationship",
370
+ "async": false,
249
371
  "parameters": [
250
372
  {
251
- "name": "userId",
373
+ "name": "fieldName",
252
374
  "type": "string",
253
375
  "optional": false
376
+ },
377
+ {
378
+ "name": "value",
379
+ "type": "any",
380
+ "optional": false
254
381
  }
255
382
  ],
256
- "returnType": "Promise<AnalyticsEvent[]>",
383
+ "returnType": "void",
257
384
  "isStatic": false,
258
385
  "isPublic": true
259
386
  },
260
- "findByStatus": {
261
- "name": "findByStatus",
387
+ "loadRelated": {
388
+ "name": "loadRelated",
262
389
  "async": true,
263
390
  "parameters": [
264
391
  {
265
- "name": "status",
266
- "type": "TrackingEventStatus",
392
+ "name": "fieldName",
393
+ "type": "string",
267
394
  "optional": false
395
+ },
396
+ {
397
+ "name": "opts",
398
+ "type": "LoadRelatedOptions",
399
+ "optional": true
268
400
  }
269
401
  ],
270
- "returnType": "Promise<AnalyticsEvent[]>",
402
+ "returnType": "Promise<any>",
271
403
  "isStatic": false,
272
404
  "isPublic": true
273
405
  },
274
- "findPending": {
275
- "name": "findPending",
406
+ "loadRelatedMany": {
407
+ "name": "loadRelatedMany",
276
408
  "async": true,
277
- "parameters": [],
278
- "returnType": "Promise<AnalyticsEvent[]>",
409
+ "parameters": [
410
+ {
411
+ "name": "fieldName",
412
+ "type": "string",
413
+ "optional": false
414
+ },
415
+ {
416
+ "name": "opts",
417
+ "type": "LoadRelatedOptions",
418
+ "optional": true
419
+ }
420
+ ],
421
+ "returnType": "Promise<any[]>",
279
422
  "isStatic": false,
280
423
  "isPublic": true
281
424
  },
282
- "findSent": {
283
- "name": "findSent",
425
+ "getRelated": {
426
+ "name": "getRelated",
284
427
  "async": true,
285
- "parameters": [],
286
- "returnType": "Promise<AnalyticsEvent[]>",
428
+ "parameters": [
429
+ {
430
+ "name": "fieldName",
431
+ "type": "string",
432
+ "optional": false
433
+ },
434
+ {
435
+ "name": "opts",
436
+ "type": "LoadRelatedOptions",
437
+ "optional": true
438
+ }
439
+ ],
440
+ "returnType": "Promise<any>",
287
441
  "isStatic": false,
288
442
  "isPublic": true
289
443
  },
290
- "findFailed": {
291
- "name": "findFailed",
292
- "async": true,
444
+ "getAvailableTools": {
445
+ "name": "getAvailableTools",
446
+ "async": false,
293
447
  "parameters": [],
294
- "returnType": "Promise<AnalyticsEvent[]>",
448
+ "returnType": "AITool[]",
295
449
  "isStatic": false,
296
450
  "isPublic": true
297
451
  },
298
- "findForRetry": {
299
- "name": "findForRetry",
452
+ "executeToolCall": {
453
+ "name": "executeToolCall",
300
454
  "async": true,
301
455
  "parameters": [
302
456
  {
303
- "name": "maxRetries",
304
- "type": "number",
305
- "optional": true
457
+ "name": "toolCall",
458
+ "type": "ToolCall",
459
+ "optional": false
306
460
  }
307
461
  ],
308
- "returnType": "Promise<AnalyticsEvent[]>",
462
+ "returnType": "Promise<ToolCallResult>",
309
463
  "isStatic": false,
310
464
  "isPublic": true
311
465
  },
312
- "findPendingByProperty": {
313
- "name": "findPendingByProperty",
466
+ "remember": {
467
+ "name": "remember",
314
468
  "async": true,
315
469
  "parameters": [
316
470
  {
317
- "name": "propertyId",
318
- "type": "string",
471
+ "name": "options",
472
+ "type": "object",
319
473
  "optional": false
320
474
  }
321
475
  ],
322
- "returnType": "Promise<AnalyticsEvent[]>",
476
+ "returnType": "Promise<void>",
323
477
  "isStatic": false,
324
478
  "isPublic": true
325
479
  },
326
- "findByDateRange": {
327
- "name": "findByDateRange",
480
+ "recall": {
481
+ "name": "recall",
328
482
  "async": true,
329
483
  "parameters": [
330
484
  {
331
- "name": "startDate",
332
- "type": "Date",
333
- "optional": false
334
- },
335
- {
336
- "name": "endDate",
337
- "type": "Date",
485
+ "name": "options",
486
+ "type": "object",
338
487
  "optional": false
339
488
  }
340
489
  ],
341
- "returnType": "Promise<AnalyticsEvent[]>",
490
+ "returnType": "Promise",
342
491
  "isStatic": false,
343
492
  "isPublic": true
344
493
  },
345
- "findConversions": {
346
- "name": "findConversions",
494
+ "recallAll": {
495
+ "name": "recallAll",
347
496
  "async": true,
348
497
  "parameters": [
349
498
  {
350
- "name": "propertyId",
351
- "type": "string",
499
+ "name": "options",
500
+ "type": "object",
352
501
  "optional": true
353
502
  }
354
503
  ],
355
- "returnType": "Promise<AnalyticsEvent[]>",
504
+ "returnType": "Promise<Map<string>>",
356
505
  "isStatic": false,
357
506
  "isPublic": true
358
507
  },
359
- "findPageviews": {
360
- "name": "findPageviews",
508
+ "forget": {
509
+ "name": "forget",
361
510
  "async": true,
362
511
  "parameters": [
363
512
  {
364
- "name": "propertyId",
365
- "type": "string",
366
- "optional": true
513
+ "name": "options",
514
+ "type": "object",
515
+ "optional": false
367
516
  }
368
517
  ],
369
- "returnType": "Promise<AnalyticsEvent[]>",
518
+ "returnType": "Promise<void>",
370
519
  "isStatic": false,
371
520
  "isPublic": true
372
521
  },
373
- "countByEventName": {
374
- "name": "countByEventName",
522
+ "forgetScope": {
523
+ "name": "forgetScope",
375
524
  "async": true,
376
525
  "parameters": [
377
526
  {
378
- "name": "propertyId",
379
- "type": "string",
527
+ "name": "options",
528
+ "type": "object",
380
529
  "optional": false
381
530
  }
382
531
  ],
383
- "returnType": "Promise<Map<string, number>>",
532
+ "returnType": "Promise<number>",
384
533
  "isStatic": false,
385
534
  "isPublic": true
386
535
  },
387
- "getPropertyStats": {
388
- "name": "getPropertyStats",
536
+ "generateEmbeddings": {
537
+ "name": "generateEmbeddings",
389
538
  "async": true,
390
539
  "parameters": [
391
540
  {
392
- "name": "propertyId",
393
- "type": "string",
394
- "optional": false
541
+ "name": "options",
542
+ "type": "GenerateEmbeddingsOptions",
543
+ "optional": true
395
544
  }
396
545
  ],
397
- "returnType": "Promise<object>",
546
+ "returnType": "Promise<void>",
398
547
  "isStatic": false,
399
548
  "isPublic": true
400
549
  },
401
- "getPropertyStatsWithTrend": {
402
- "name": "getPropertyStatsWithTrend",
550
+ "getEmbedding": {
551
+ "name": "getEmbedding",
403
552
  "async": true,
404
553
  "parameters": [
405
554
  {
406
- "name": "propertyId",
555
+ "name": "fieldName",
407
556
  "type": "string",
408
557
  "optional": false
409
558
  },
410
559
  {
411
- "name": "now",
412
- "type": "Date",
413
- "optional": true
414
- },
415
- {
416
- "name": "timeZone",
560
+ "name": "model",
417
561
  "type": "string",
418
- "optional": true,
419
- "default": "UTC"
562
+ "optional": true
420
563
  }
421
564
  ],
422
- "returnType": "Promise<PropertyStatsWithTrend>",
565
+ "returnType": "Promise<number[] | null>",
423
566
  "isStatic": false,
424
567
  "isPublic": true
425
568
  },
426
- "getBatchPropertyStats": {
427
- "name": "getBatchPropertyStats",
569
+ "hasStaleEmbeddings": {
570
+ "name": "hasStaleEmbeddings",
428
571
  "async": true,
429
- "parameters": [
430
- {
431
- "name": "propertyIds",
432
- "type": "string[]",
433
- "optional": false
434
- },
435
- {
436
- "name": "now",
437
- "type": "Date",
438
- "optional": true
439
- },
440
- {
441
- "name": "timeZone",
442
- "type": "string",
443
- "optional": true,
444
- "default": "UTC"
445
- }
446
- ],
447
- "returnType": "Promise<Map<string, PropertyStatsWithTrend>>",
572
+ "parameters": [],
573
+ "returnType": "Promise<boolean>",
574
+ "isStatic": false,
575
+ "isPublic": true
576
+ },
577
+ "clearEmbeddings": {
578
+ "name": "clearEmbeddings",
579
+ "async": true,
580
+ "parameters": [],
581
+ "returnType": "Promise<void>",
582
+ "isStatic": false,
583
+ "isPublic": true
584
+ },
585
+ "isWeb": {
586
+ "name": "isWeb",
587
+ "async": false,
588
+ "parameters": [],
589
+ "returnType": "boolean",
590
+ "isStatic": false,
591
+ "isPublic": true
592
+ },
593
+ "isIOS": {
594
+ "name": "isIOS",
595
+ "async": false,
596
+ "parameters": [],
597
+ "returnType": "boolean",
598
+ "isStatic": false,
599
+ "isPublic": true
600
+ },
601
+ "isAndroid": {
602
+ "name": "isAndroid",
603
+ "async": false,
604
+ "parameters": [],
605
+ "returnType": "boolean",
606
+ "isStatic": false,
607
+ "isPublic": true
608
+ },
609
+ "isMobileApp": {
610
+ "name": "isMobileApp",
611
+ "async": false,
612
+ "parameters": [],
613
+ "returnType": "boolean",
614
+ "isStatic": false,
615
+ "isPublic": true
616
+ },
617
+ "getPlatformId": {
618
+ "name": "getPlatformId",
619
+ "async": false,
620
+ "parameters": [],
621
+ "returnType": "string",
448
622
  "isStatic": false,
449
623
  "isPublic": true
450
624
  }
451
625
  },
452
- "decoratorConfig": {},
453
- "extends": "SmrtCollection",
454
- "extendsTypeArg": "AnalyticsEvent",
455
- "exportName": "AnalyticsEventCollection",
456
- "collectionExportName": "AnalyticsEventCollectionCollection",
626
+ "decoratorConfig": {
627
+ "tableStrategy": "sti",
628
+ "api": {
629
+ "include": [
630
+ "list",
631
+ "get",
632
+ "create",
633
+ "update"
634
+ ]
635
+ },
636
+ "mcp": {
637
+ "include": [
638
+ "list",
639
+ "get"
640
+ ]
641
+ },
642
+ "cli": true,
643
+ "tenantScoped": {
644
+ "mode": "optional"
645
+ }
646
+ },
647
+ "extends": "SmrtObject",
648
+ "exportName": "AnalyticsDataStream",
649
+ "collectionExportName": "AnalyticsDataStreamCollection",
457
650
  "schema": {
458
- "tableName": "analytics_event_collections",
459
- "ddl": "CREATE TABLE IF NOT EXISTS \"analytics_event_collections\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp\n);",
651
+ "tableName": "analytics_data_streams",
652
+ "ddl": "CREATE TABLE IF NOT EXISTS \"analytics_data_streams\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"_meta_type\" TEXT NOT NULL,\n \"_meta_data\" JSON,\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID,\n \"property_id\" UUID,\n \"display_name\" TEXT DEFAULT '',\n \"stream_type\" TEXT,\n \"external_id\" TEXT DEFAULT '',\n \"measurement_id\" TEXT DEFAULT '',\n \"firebase_app_id\" TEXT DEFAULT '',\n \"default_uri\" TEXT DEFAULT '',\n \"bundle_id\" TEXT DEFAULT '',\n \"package_name\" TEXT DEFAULT '',\n \"status\" TEXT,\n \"enhanced_measurement\" BOOLEAN DEFAULT TRUE\n);",
460
653
  "columns": {
461
654
  "id": {
462
655
  "type": "UUID",
@@ -473,6 +666,14 @@
473
666
  "notNull": true,
474
667
  "default": ""
475
668
  },
669
+ "_meta_type": {
670
+ "type": "TEXT",
671
+ "notNull": true
672
+ },
673
+ "_meta_data": {
674
+ "type": "JSON",
675
+ "notNull": false
676
+ },
476
677
  "created_at": {
477
678
  "type": "TIMESTAMP",
478
679
  "notNull": true,
@@ -482,405 +683,98 @@
482
683
  "type": "TIMESTAMP",
483
684
  "notNull": true,
484
685
  "default": "current_timestamp"
686
+ },
687
+ "tenant_id": {
688
+ "type": "UUID",
689
+ "referenceKind": "tenantId",
690
+ "notNull": false
691
+ },
692
+ "property_id": {
693
+ "type": "UUID",
694
+ "referenceKind": "foreignKey",
695
+ "notNull": false
696
+ },
697
+ "display_name": {
698
+ "type": "TEXT",
699
+ "notNull": false,
700
+ "default": ""
701
+ },
702
+ "stream_type": {
703
+ "type": "TEXT",
704
+ "notNull": false
705
+ },
706
+ "external_id": {
707
+ "type": "TEXT",
708
+ "notNull": false,
709
+ "default": ""
710
+ },
711
+ "measurement_id": {
712
+ "type": "TEXT",
713
+ "notNull": false,
714
+ "default": ""
715
+ },
716
+ "firebase_app_id": {
717
+ "type": "TEXT",
718
+ "notNull": false,
719
+ "default": ""
720
+ },
721
+ "default_uri": {
722
+ "type": "TEXT",
723
+ "notNull": false,
724
+ "default": ""
725
+ },
726
+ "bundle_id": {
727
+ "type": "TEXT",
728
+ "notNull": false,
729
+ "default": ""
730
+ },
731
+ "package_name": {
732
+ "type": "TEXT",
733
+ "notNull": false,
734
+ "default": ""
735
+ },
736
+ "status": {
737
+ "type": "TEXT",
738
+ "notNull": false
739
+ },
740
+ "enhanced_measurement": {
741
+ "type": "BOOLEAN",
742
+ "notNull": false,
743
+ "default": true
485
744
  }
486
745
  },
487
746
  "indexes": [
488
747
  {
489
- "name": "analytics_event_collections_id_idx",
748
+ "name": "analytics_data_streams_id_idx",
490
749
  "columns": [
491
750
  "id"
492
751
  ]
493
752
  },
494
753
  {
495
- "name": "analytics_event_collections_slug_context_idx",
754
+ "name": "analytics_data_streams_slug_context_meta_type_idx",
496
755
  "columns": [
497
756
  "slug",
498
- "context"
757
+ "context",
758
+ "_meta_type"
499
759
  ],
500
760
  "unique": true
761
+ },
762
+ {
763
+ "name": "analytics_data_streams_meta_type_idx",
764
+ "columns": [
765
+ "_meta_type"
766
+ ]
501
767
  }
502
768
  ],
503
- "version": "13d03b2a"
769
+ "version": "e1ae416d"
504
770
  }
505
771
  },
506
- "@happyvertical/smrt-analytics:AnalyticsPropertyCollection": {
507
- "name": "analyticspropertycollection",
508
- "className": "AnalyticsPropertyCollection",
509
- "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsPropertyCollection",
510
- "collection": "analyticsproperties",
511
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-8nsqr/smrt/smrt/packages/analytics/src/collections/AnalyticsPropertyCollection.ts",
512
- "packageName": "@happyvertical/smrt-analytics",
513
- "fields": {},
514
- "methods": {
515
- "findByExternalId": {
516
- "name": "findByExternalId",
517
- "async": true,
518
- "parameters": [
519
- {
520
- "name": "externalId",
521
- "type": "string",
522
- "optional": false
523
- }
524
- ],
525
- "returnType": "Promise<AnalyticsProperty | null>",
526
- "isStatic": false,
527
- "isPublic": true
528
- },
529
- "findByMeasurementId": {
530
- "name": "findByMeasurementId",
531
- "async": true,
532
- "parameters": [
533
- {
534
- "name": "measurementId",
535
- "type": "string",
536
- "optional": false
537
- }
538
- ],
539
- "returnType": "Promise<AnalyticsProperty | null>",
540
- "isStatic": false,
541
- "isPublic": true
542
- },
543
- "findBySiteDomain": {
544
- "name": "findBySiteDomain",
545
- "async": true,
546
- "parameters": [
547
- {
548
- "name": "siteDomain",
549
- "type": "string",
550
- "optional": false
551
- },
552
- {
553
- "name": "provider",
554
- "type": "AnalyticsProvider",
555
- "optional": true
556
- }
557
- ],
558
- "returnType": "Promise<AnalyticsProperty | null>",
559
- "isStatic": false,
560
- "isPublic": true
561
- },
562
- "findByProvider": {
563
- "name": "findByProvider",
564
- "async": true,
565
- "parameters": [
566
- {
567
- "name": "provider",
568
- "type": "AnalyticsProvider",
569
- "optional": false
570
- }
571
- ],
572
- "returnType": "Promise<AnalyticsProperty[]>",
573
- "isStatic": false,
574
- "isPublic": true
575
- },
576
- "findGA4Properties": {
577
- "name": "findGA4Properties",
578
- "async": true,
579
- "parameters": [],
580
- "returnType": "Promise<AnalyticsProperty[]>",
581
- "isStatic": false,
582
- "isPublic": true
583
- },
584
- "findPlausibleSites": {
585
- "name": "findPlausibleSites",
586
- "async": true,
587
- "parameters": [],
588
- "returnType": "Promise<AnalyticsProperty[]>",
589
- "isStatic": false,
590
- "isPublic": true
591
- },
592
- "findMatomoSites": {
593
- "name": "findMatomoSites",
594
- "async": true,
595
- "parameters": [],
596
- "returnType": "Promise<AnalyticsProperty[]>",
597
- "isStatic": false,
598
- "isPublic": true
599
- },
600
- "findByStatus": {
601
- "name": "findByStatus",
602
- "async": true,
603
- "parameters": [
604
- {
605
- "name": "status",
606
- "type": "AnalyticsPropertyStatus",
607
- "optional": false
608
- }
609
- ],
610
- "returnType": "Promise<AnalyticsProperty[]>",
611
- "isStatic": false,
612
- "isPublic": true
613
- },
614
- "findActive": {
615
- "name": "findActive",
616
- "async": true,
617
- "parameters": [],
618
- "returnType": "Promise<AnalyticsProperty[]>",
619
- "isStatic": false,
620
- "isPublic": true
621
- },
622
- "findNeedingSync": {
623
- "name": "findNeedingSync",
624
- "async": true,
625
- "parameters": [
626
- {
627
- "name": "hoursAgo",
628
- "type": "number",
629
- "optional": true
630
- }
631
- ],
632
- "returnType": "Promise<AnalyticsProperty[]>",
633
- "isStatic": false,
634
- "isPublic": true
635
- }
636
- },
637
- "decoratorConfig": {},
638
- "extends": "SmrtCollection",
639
- "extendsTypeArg": "AnalyticsProperty",
640
- "exportName": "AnalyticsPropertyCollection",
641
- "collectionExportName": "AnalyticsPropertyCollectionCollection",
642
- "schema": {
643
- "tableName": "analytics_property_collections",
644
- "ddl": "CREATE TABLE IF NOT EXISTS \"analytics_property_collections\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp\n);",
645
- "columns": {
646
- "id": {
647
- "type": "UUID",
648
- "primaryKey": true,
649
- "referenceKind": "id",
650
- "notNull": true
651
- },
652
- "slug": {
653
- "type": "TEXT",
654
- "notNull": true
655
- },
656
- "context": {
657
- "type": "TEXT",
658
- "notNull": true,
659
- "default": ""
660
- },
661
- "created_at": {
662
- "type": "TIMESTAMP",
663
- "notNull": true,
664
- "default": "current_timestamp"
665
- },
666
- "updated_at": {
667
- "type": "TIMESTAMP",
668
- "notNull": true,
669
- "default": "current_timestamp"
670
- }
671
- },
672
- "indexes": [
673
- {
674
- "name": "analytics_property_collections_id_idx",
675
- "columns": [
676
- "id"
677
- ]
678
- },
679
- {
680
- "name": "analytics_property_collections_slug_context_idx",
681
- "columns": [
682
- "slug",
683
- "context"
684
- ],
685
- "unique": true
686
- }
687
- ],
688
- "version": "a1c264b1"
689
- }
690
- },
691
- "@happyvertical/smrt-analytics:AnalyticsReportCollection": {
692
- "name": "analyticsreportcollection",
693
- "className": "AnalyticsReportCollection",
694
- "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsReportCollection",
695
- "collection": "analyticsreports",
696
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-8nsqr/smrt/smrt/packages/analytics/src/collections/AnalyticsReportCollection.ts",
697
- "packageName": "@happyvertical/smrt-analytics",
698
- "fields": {},
699
- "methods": {
700
- "findByProperty": {
701
- "name": "findByProperty",
702
- "async": true,
703
- "parameters": [
704
- {
705
- "name": "propertyId",
706
- "type": "string",
707
- "optional": false
708
- }
709
- ],
710
- "returnType": "Promise<AnalyticsReport[]>",
711
- "isStatic": false,
712
- "isPublic": true
713
- },
714
- "findByStatus": {
715
- "name": "findByStatus",
716
- "async": true,
717
- "parameters": [
718
- {
719
- "name": "status",
720
- "type": "ReportStatus",
721
- "optional": false
722
- }
723
- ],
724
- "returnType": "Promise<AnalyticsReport[]>",
725
- "isStatic": false,
726
- "isPublic": true
727
- },
728
- "findDrafts": {
729
- "name": "findDrafts",
730
- "async": true,
731
- "parameters": [],
732
- "returnType": "Promise<AnalyticsReport[]>",
733
- "isStatic": false,
734
- "isPublic": true
735
- },
736
- "findScheduled": {
737
- "name": "findScheduled",
738
- "async": true,
739
- "parameters": [],
740
- "returnType": "Promise<AnalyticsReport[]>",
741
- "isStatic": false,
742
- "isPublic": true
743
- },
744
- "findCompleted": {
745
- "name": "findCompleted",
746
- "async": true,
747
- "parameters": [],
748
- "returnType": "Promise<AnalyticsReport[]>",
749
- "isStatic": false,
750
- "isPublic": true
751
- },
752
- "findFailed": {
753
- "name": "findFailed",
754
- "async": true,
755
- "parameters": [],
756
- "returnType": "Promise<AnalyticsReport[]>",
757
- "isStatic": false,
758
- "isPublic": true
759
- },
760
- "findByFrequency": {
761
- "name": "findByFrequency",
762
- "async": true,
763
- "parameters": [
764
- {
765
- "name": "frequency",
766
- "type": "ReportFrequency",
767
- "optional": false
768
- }
769
- ],
770
- "returnType": "Promise<AnalyticsReport[]>",
771
- "isStatic": false,
772
- "isPublic": true
773
- },
774
- "findRecurring": {
775
- "name": "findRecurring",
776
- "async": true,
777
- "parameters": [],
778
- "returnType": "Promise<AnalyticsReport[]>",
779
- "isStatic": false,
780
- "isPublic": true
781
- },
782
- "findDue": {
783
- "name": "findDue",
784
- "async": true,
785
- "parameters": [],
786
- "returnType": "Promise<AnalyticsReport[]>",
787
- "isStatic": false,
788
- "isPublic": true
789
- },
790
- "findByPropertyAndStatus": {
791
- "name": "findByPropertyAndStatus",
792
- "async": true,
793
- "parameters": [
794
- {
795
- "name": "propertyId",
796
- "type": "string",
797
- "optional": false
798
- },
799
- {
800
- "name": "status",
801
- "type": "ReportStatus",
802
- "optional": false
803
- }
804
- ],
805
- "returnType": "Promise<AnalyticsReport[]>",
806
- "isStatic": false,
807
- "isPublic": true
808
- },
809
- "findRecentlyRun": {
810
- "name": "findRecentlyRun",
811
- "async": true,
812
- "parameters": [
813
- {
814
- "name": "hoursAgo",
815
- "type": "number",
816
- "optional": true
817
- }
818
- ],
819
- "returnType": "Promise<AnalyticsReport[]>",
820
- "isStatic": false,
821
- "isPublic": true
822
- }
823
- },
824
- "decoratorConfig": {},
825
- "extends": "SmrtCollection",
826
- "extendsTypeArg": "AnalyticsReport",
827
- "exportName": "AnalyticsReportCollection",
828
- "collectionExportName": "AnalyticsReportCollectionCollection",
829
- "schema": {
830
- "tableName": "analytics_report_collections",
831
- "ddl": "CREATE TABLE IF NOT EXISTS \"analytics_report_collections\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp\n);",
832
- "columns": {
833
- "id": {
834
- "type": "UUID",
835
- "primaryKey": true,
836
- "referenceKind": "id",
837
- "notNull": true
838
- },
839
- "slug": {
840
- "type": "TEXT",
841
- "notNull": true
842
- },
843
- "context": {
844
- "type": "TEXT",
845
- "notNull": true,
846
- "default": ""
847
- },
848
- "created_at": {
849
- "type": "TIMESTAMP",
850
- "notNull": true,
851
- "default": "current_timestamp"
852
- },
853
- "updated_at": {
854
- "type": "TIMESTAMP",
855
- "notNull": true,
856
- "default": "current_timestamp"
857
- }
858
- },
859
- "indexes": [
860
- {
861
- "name": "analytics_report_collections_id_idx",
862
- "columns": [
863
- "id"
864
- ]
865
- },
866
- {
867
- "name": "analytics_report_collections_slug_context_idx",
868
- "columns": [
869
- "slug",
870
- "context"
871
- ],
872
- "unique": true
873
- }
874
- ],
875
- "version": "74445ee1"
876
- }
877
- },
878
- "@happyvertical/smrt-analytics:AnalyticsDataStream": {
879
- "name": "analyticsdatastream",
880
- "className": "AnalyticsDataStream",
881
- "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsDataStream",
882
- "collection": "analyticsdatastreams",
883
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-8nsqr/smrt/smrt/packages/analytics/src/models/AnalyticsDataStream.ts",
772
+ "@happyvertical/smrt-analytics:AnalyticsEvent": {
773
+ "name": "analyticsevent",
774
+ "className": "AnalyticsEvent",
775
+ "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsEvent",
776
+ "collection": "analyticsevents",
777
+ "filePath": "/home/runner/_work/smrt/smrt/packages/analytics/src/models/AnalyticsEvent.ts",
884
778
  "packageName": "@happyvertical/smrt-analytics",
885
779
  "fields": {
886
780
  "created_at": {
@@ -914,53 +808,77 @@
914
808
  "required": false,
915
809
  "related": "AnalyticsProperty"
916
810
  },
917
- "displayName": {
811
+ "eventName": {
918
812
  "type": "text",
919
813
  "required": false,
920
814
  "default": ""
921
815
  },
922
- "streamType": {
816
+ "clientId": {
923
817
  "type": "text",
924
- "required": false
818
+ "required": false,
819
+ "default": ""
925
820
  },
926
- "externalId": {
821
+ "userId": {
927
822
  "type": "text",
928
823
  "required": false,
929
824
  "default": ""
930
825
  },
931
- "measurementId": {
826
+ "params": {
932
827
  "type": "text",
933
828
  "required": false,
934
- "default": ""
829
+ "default": "{}"
935
830
  },
936
- "firebaseAppId": {
831
+ "eventTimestamp": {
832
+ "type": "datetime",
833
+ "required": false
834
+ },
835
+ "status": {
836
+ "type": "text",
837
+ "required": false
838
+ },
839
+ "sentAt": {
840
+ "type": "datetime",
841
+ "required": false
842
+ },
843
+ "errorMessage": {
937
844
  "type": "text",
938
845
  "required": false,
939
846
  "default": ""
940
847
  },
941
- "defaultUri": {
848
+ "retryCount": {
849
+ "type": "integer",
850
+ "required": false,
851
+ "default": 0
852
+ },
853
+ "nonPersonalizedAds": {
854
+ "type": "boolean",
855
+ "required": false,
856
+ "default": false
857
+ },
858
+ "sessionId": {
942
859
  "type": "text",
943
860
  "required": false,
944
861
  "default": ""
945
862
  },
946
- "bundleId": {
863
+ "pagePath": {
947
864
  "type": "text",
948
865
  "required": false,
949
866
  "default": ""
950
867
  },
951
- "packageName": {
868
+ "pageTitle": {
952
869
  "type": "text",
953
870
  "required": false,
954
871
  "default": ""
955
872
  },
956
- "status": {
873
+ "userAgent": {
957
874
  "type": "text",
958
- "required": false
875
+ "required": false,
876
+ "default": ""
959
877
  },
960
- "enhancedMeasurement": {
961
- "type": "boolean",
878
+ "ipAddress": {
879
+ "type": "text",
962
880
  "required": false,
963
- "default": true
881
+ "default": ""
964
882
  }
965
883
  },
966
884
  "methods": {
@@ -1453,43 +1371,112 @@
1453
1371
  "isStatic": false,
1454
1372
  "isPublic": true
1455
1373
  },
1456
- "isWeb": {
1457
- "name": "isWeb",
1374
+ "getParams": {
1375
+ "name": "getParams",
1458
1376
  "async": false,
1459
1377
  "parameters": [],
1460
- "returnType": "boolean",
1378
+ "returnType": "Record<string, string | number | boolean>",
1461
1379
  "isStatic": false,
1462
1380
  "isPublic": true
1463
1381
  },
1464
- "isIOS": {
1465
- "name": "isIOS",
1382
+ "setParams": {
1383
+ "name": "setParams",
1384
+ "async": false,
1385
+ "parameters": [
1386
+ {
1387
+ "name": "params",
1388
+ "type": "Record<string, string | number | boolean>",
1389
+ "optional": false
1390
+ }
1391
+ ],
1392
+ "returnType": "void",
1393
+ "isStatic": false,
1394
+ "isPublic": true
1395
+ },
1396
+ "addParam": {
1397
+ "name": "addParam",
1398
+ "async": false,
1399
+ "parameters": [
1400
+ {
1401
+ "name": "key",
1402
+ "type": "string",
1403
+ "optional": false
1404
+ },
1405
+ {
1406
+ "name": "value",
1407
+ "type": "string | number | boolean",
1408
+ "optional": false
1409
+ }
1410
+ ],
1411
+ "returnType": "void",
1412
+ "isStatic": false,
1413
+ "isPublic": true
1414
+ },
1415
+ "isPageview": {
1416
+ "name": "isPageview",
1466
1417
  "async": false,
1467
1418
  "parameters": [],
1468
1419
  "returnType": "boolean",
1469
1420
  "isStatic": false,
1470
1421
  "isPublic": true
1471
1422
  },
1472
- "isAndroid": {
1473
- "name": "isAndroid",
1423
+ "isConversion": {
1424
+ "name": "isConversion",
1474
1425
  "async": false,
1475
1426
  "parameters": [],
1476
1427
  "returnType": "boolean",
1477
1428
  "isStatic": false,
1478
1429
  "isPublic": true
1479
1430
  },
1480
- "isMobileApp": {
1481
- "name": "isMobileApp",
1431
+ "markSent": {
1432
+ "name": "markSent",
1482
1433
  "async": false,
1483
1434
  "parameters": [],
1435
+ "returnType": "void",
1436
+ "isStatic": false,
1437
+ "isPublic": true
1438
+ },
1439
+ "markFailed": {
1440
+ "name": "markFailed",
1441
+ "async": false,
1442
+ "parameters": [
1443
+ {
1444
+ "name": "error",
1445
+ "type": "string",
1446
+ "optional": false
1447
+ }
1448
+ ],
1449
+ "returnType": "void",
1450
+ "isStatic": false,
1451
+ "isPublic": true
1452
+ },
1453
+ "resetForRetry": {
1454
+ "name": "resetForRetry",
1455
+ "async": false,
1456
+ "parameters": [],
1457
+ "returnType": "void",
1458
+ "isStatic": false,
1459
+ "isPublic": true
1460
+ },
1461
+ "shouldRetry": {
1462
+ "name": "shouldRetry",
1463
+ "async": false,
1464
+ "parameters": [
1465
+ {
1466
+ "name": "maxRetries",
1467
+ "type": "number",
1468
+ "optional": true
1469
+ }
1470
+ ],
1484
1471
  "returnType": "boolean",
1485
1472
  "isStatic": false,
1486
1473
  "isPublic": true
1487
1474
  },
1488
- "getPlatformId": {
1489
- "name": "getPlatformId",
1475
+ "toTrackEvent": {
1476
+ "name": "toTrackEvent",
1490
1477
  "async": false,
1491
1478
  "parameters": [],
1492
- "returnType": "string",
1479
+ "returnType": "object",
1493
1480
  "isStatic": false,
1494
1481
  "isPublic": true
1495
1482
  }
@@ -1500,14 +1487,14 @@
1500
1487
  "include": [
1501
1488
  "list",
1502
1489
  "get",
1503
- "create",
1504
- "update"
1490
+ "create"
1505
1491
  ]
1506
1492
  },
1507
1493
  "mcp": {
1508
1494
  "include": [
1509
1495
  "list",
1510
- "get"
1496
+ "get",
1497
+ "track"
1511
1498
  ]
1512
1499
  },
1513
1500
  "cli": true,
@@ -1516,11 +1503,11 @@
1516
1503
  }
1517
1504
  },
1518
1505
  "extends": "SmrtObject",
1519
- "exportName": "AnalyticsDataStream",
1520
- "collectionExportName": "AnalyticsDataStreamCollection",
1506
+ "exportName": "AnalyticsEvent",
1507
+ "collectionExportName": "AnalyticsEventCollection",
1521
1508
  "schema": {
1522
- "tableName": "analytics_data_streams",
1523
- "ddl": "CREATE TABLE IF NOT EXISTS \"analytics_data_streams\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"_meta_type\" TEXT NOT NULL,\n \"_meta_data\" JSON,\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID,\n \"property_id\" UUID,\n \"display_name\" TEXT DEFAULT '',\n \"stream_type\" TEXT,\n \"external_id\" TEXT DEFAULT '',\n \"measurement_id\" TEXT DEFAULT '',\n \"firebase_app_id\" TEXT DEFAULT '',\n \"default_uri\" TEXT DEFAULT '',\n \"bundle_id\" TEXT DEFAULT '',\n \"package_name\" TEXT DEFAULT '',\n \"status\" TEXT,\n \"enhanced_measurement\" BOOLEAN DEFAULT TRUE\n);",
1509
+ "tableName": "analytics_events",
1510
+ "ddl": "CREATE TABLE IF NOT EXISTS \"analytics_events\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"_meta_type\" TEXT NOT NULL,\n \"_meta_data\" JSON,\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID,\n \"property_id\" UUID,\n \"event_name\" TEXT DEFAULT '',\n \"client_id\" TEXT DEFAULT '',\n \"user_id\" TEXT DEFAULT '',\n \"params\" TEXT DEFAULT '{}',\n \"event_timestamp\" TIMESTAMP,\n \"status\" TEXT,\n \"sent_at\" TIMESTAMP,\n \"error_message\" TEXT DEFAULT '',\n \"retry_count\" INTEGER DEFAULT 0,\n \"non_personalized_ads\" BOOLEAN DEFAULT FALSE,\n \"session_id\" TEXT DEFAULT '',\n \"page_path\" TEXT DEFAULT '',\n \"page_title\" TEXT DEFAULT '',\n \"user_agent\" TEXT DEFAULT '',\n \"ip_address\" TEXT DEFAULT ''\n);",
1524
1511
  "columns": {
1525
1512
  "id": {
1526
1513
  "type": "UUID",
@@ -1565,64 +1552,88 @@
1565
1552
  "referenceKind": "foreignKey",
1566
1553
  "notNull": false
1567
1554
  },
1568
- "display_name": {
1555
+ "event_name": {
1569
1556
  "type": "TEXT",
1570
1557
  "notNull": false,
1571
1558
  "default": ""
1572
1559
  },
1573
- "stream_type": {
1560
+ "client_id": {
1574
1561
  "type": "TEXT",
1575
- "notNull": false
1562
+ "notNull": false,
1563
+ "default": ""
1576
1564
  },
1577
- "external_id": {
1565
+ "user_id": {
1578
1566
  "type": "TEXT",
1579
1567
  "notNull": false,
1580
1568
  "default": ""
1581
1569
  },
1582
- "measurement_id": {
1570
+ "params": {
1583
1571
  "type": "TEXT",
1584
1572
  "notNull": false,
1585
- "default": ""
1573
+ "default": "{}"
1586
1574
  },
1587
- "firebase_app_id": {
1575
+ "event_timestamp": {
1576
+ "type": "TIMESTAMP",
1577
+ "notNull": false
1578
+ },
1579
+ "status": {
1580
+ "type": "TEXT",
1581
+ "notNull": false
1582
+ },
1583
+ "sent_at": {
1584
+ "type": "TIMESTAMP",
1585
+ "notNull": false
1586
+ },
1587
+ "error_message": {
1588
1588
  "type": "TEXT",
1589
1589
  "notNull": false,
1590
1590
  "default": ""
1591
1591
  },
1592
- "default_uri": {
1592
+ "retry_count": {
1593
+ "type": "INTEGER",
1594
+ "notNull": false,
1595
+ "default": 0
1596
+ },
1597
+ "non_personalized_ads": {
1598
+ "type": "BOOLEAN",
1599
+ "notNull": false,
1600
+ "default": false
1601
+ },
1602
+ "session_id": {
1593
1603
  "type": "TEXT",
1594
1604
  "notNull": false,
1595
1605
  "default": ""
1596
1606
  },
1597
- "bundle_id": {
1607
+ "page_path": {
1598
1608
  "type": "TEXT",
1599
1609
  "notNull": false,
1600
1610
  "default": ""
1601
1611
  },
1602
- "package_name": {
1612
+ "page_title": {
1603
1613
  "type": "TEXT",
1604
1614
  "notNull": false,
1605
1615
  "default": ""
1606
1616
  },
1607
- "status": {
1617
+ "user_agent": {
1608
1618
  "type": "TEXT",
1609
- "notNull": false
1619
+ "notNull": false,
1620
+ "default": ""
1610
1621
  },
1611
- "enhanced_measurement": {
1612
- "type": "BOOLEAN",
1622
+ "ip_address": {
1623
+ "type": "TEXT",
1613
1624
  "notNull": false,
1614
- "default": true
1625
+ "default": ""
1615
1626
  }
1616
1627
  },
1617
1628
  "indexes": [
1618
1629
  {
1619
- "name": "analytics_data_streams_id_idx",
1630
+ "name": "analytics_events_id_idx",
1620
1631
  "columns": [
1621
1632
  "id"
1622
1633
  ]
1623
1634
  },
1624
1635
  {
1625
- "name": "analytics_data_streams_slug_context_meta_type_idx",
1636
+ "name": "analytics_events_slug_context_meta_type_idx",
1626
1637
  "columns": [
1627
1638
  "slug",
1628
1639
  "context",
@@ -1631,21 +1642,21 @@
1631
1642
  "unique": true
1632
1643
  },
1633
1644
  {
1634
- "name": "analytics_data_streams_meta_type_idx",
1645
+ "name": "analytics_events_meta_type_idx",
1635
1646
  "columns": [
1636
1647
  "_meta_type"
1637
1648
  ]
1638
1649
  }
1639
1650
  ],
1640
- "version": "e1ae416d"
1651
+ "version": "8c2447ff"
1641
1652
  }
1642
1653
  },
1643
- "@happyvertical/smrt-analytics:AnalyticsEvent": {
1644
- "name": "analyticsevent",
1645
- "className": "AnalyticsEvent",
1646
- "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsEvent",
1647
- "collection": "analyticsevents",
1648
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-8nsqr/smrt/smrt/packages/analytics/src/models/AnalyticsEvent.ts",
1654
+ "@happyvertical/smrt-analytics:AnalyticsProperty": {
1655
+ "name": "analyticsproperty",
1656
+ "className": "AnalyticsProperty",
1657
+ "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsProperty",
1658
+ "collection": "analyticsproperties",
1659
+ "filePath": "/home/runner/_work/smrt/smrt/packages/analytics/src/models/AnalyticsProperty.ts",
1649
1660
  "packageName": "@happyvertical/smrt-analytics",
1650
1661
  "fields": {
1651
1662
  "created_at": {
@@ -1674,82 +1685,80 @@
1674
1685
  }
1675
1686
  }
1676
1687
  },
1677
- "propertyId": {
1678
- "type": "foreignKey",
1679
- "required": false,
1680
- "related": "AnalyticsProperty"
1681
- },
1682
- "eventName": {
1688
+ "name": {
1683
1689
  "type": "text",
1684
1690
  "required": false,
1685
1691
  "default": ""
1686
1692
  },
1687
- "clientId": {
1693
+ "displayName": {
1688
1694
  "type": "text",
1689
1695
  "required": false,
1690
1696
  "default": ""
1691
1697
  },
1692
- "userId": {
1698
+ "provider": {
1699
+ "type": "text",
1700
+ "required": false
1701
+ },
1702
+ "externalId": {
1693
1703
  "type": "text",
1694
1704
  "required": false,
1695
1705
  "default": ""
1696
1706
  },
1697
- "params": {
1707
+ "measurementId": {
1698
1708
  "type": "text",
1699
1709
  "required": false,
1700
- "default": "{}"
1701
- },
1702
- "eventTimestamp": {
1703
- "type": "datetime",
1704
- "required": false
1710
+ "default": ""
1705
1711
  },
1706
- "status": {
1712
+ "apiSecret": {
1707
1713
  "type": "text",
1708
- "required": false
1709
- },
1710
- "sentAt": {
1711
- "type": "datetime",
1712
- "required": false
1714
+ "required": false,
1715
+ "default": "",
1716
+ "_meta": {
1717
+ "sensitive": true
1718
+ },
1719
+ "sensitive": true
1713
1720
  },
1714
- "errorMessage": {
1721
+ "siteDomain": {
1715
1722
  "type": "text",
1716
1723
  "required": false,
1717
1724
  "default": ""
1718
1725
  },
1719
- "retryCount": {
1720
- "type": "integer",
1721
- "required": false,
1722
- "default": 0
1723
- },
1724
- "nonPersonalizedAds": {
1725
- "type": "boolean",
1726
+ "timeZone": {
1727
+ "type": "text",
1726
1728
  "required": false,
1727
- "default": false
1729
+ "default": "America/Los_Angeles"
1728
1730
  },
1729
- "sessionId": {
1731
+ "currencyCode": {
1730
1732
  "type": "text",
1731
1733
  "required": false,
1732
- "default": ""
1734
+ "default": "USD"
1733
1735
  },
1734
- "pagePath": {
1736
+ "industryCategory": {
1735
1737
  "type": "text",
1736
1738
  "required": false,
1737
1739
  "default": ""
1738
1740
  },
1739
- "pageTitle": {
1741
+ "serviceLevel": {
1740
1742
  "type": "text",
1741
1743
  "required": false,
1742
- "default": ""
1744
+ "default": "STANDARD"
1743
1745
  },
1744
- "userAgent": {
1746
+ "status": {
1745
1747
  "type": "text",
1746
- "required": false,
1747
- "default": ""
1748
+ "required": false
1748
1749
  },
1749
- "ipAddress": {
1750
+ "lastSyncAt": {
1751
+ "type": "datetime",
1752
+ "required": false
1753
+ },
1754
+ "providerMetadata": {
1750
1755
  "type": "text",
1751
1756
  "required": false,
1752
- "default": ""
1757
+ "default": "{}",
1758
+ "_meta": {
1759
+ "sensitive": true
1760
+ },
1761
+ "sensitive": true
1753
1762
  }
1754
1763
  },
1755
1764
  "methods": {
@@ -2242,78 +2251,45 @@
2242
2251
  "isStatic": false,
2243
2252
  "isPublic": true
2244
2253
  },
2245
- "getParams": {
2246
- "name": "getParams",
2254
+ "isGA4": {
2255
+ "name": "isGA4",
2247
2256
  "async": false,
2248
2257
  "parameters": [],
2249
- "returnType": "Record<string, string | number | boolean>",
2250
- "isStatic": false,
2251
- "isPublic": true
2252
- },
2253
- "setParams": {
2254
- "name": "setParams",
2255
- "async": false,
2256
- "parameters": [
2257
- {
2258
- "name": "params",
2259
- "type": "Record<string, string | number | boolean>",
2260
- "optional": false
2261
- }
2262
- ],
2263
- "returnType": "void",
2264
- "isStatic": false,
2265
- "isPublic": true
2266
- },
2267
- "addParam": {
2268
- "name": "addParam",
2269
- "async": false,
2270
- "parameters": [
2271
- {
2272
- "name": "key",
2273
- "type": "string",
2274
- "optional": false
2275
- },
2276
- {
2277
- "name": "value",
2278
- "type": "string | number | boolean",
2279
- "optional": false
2280
- }
2281
- ],
2282
- "returnType": "void",
2258
+ "returnType": "boolean",
2283
2259
  "isStatic": false,
2284
2260
  "isPublic": true
2285
2261
  },
2286
- "isPageview": {
2287
- "name": "isPageview",
2262
+ "isPlausible": {
2263
+ "name": "isPlausible",
2288
2264
  "async": false,
2289
2265
  "parameters": [],
2290
2266
  "returnType": "boolean",
2291
2267
  "isStatic": false,
2292
2268
  "isPublic": true
2293
2269
  },
2294
- "isConversion": {
2295
- "name": "isConversion",
2270
+ "isMatomo": {
2271
+ "name": "isMatomo",
2296
2272
  "async": false,
2297
2273
  "parameters": [],
2298
2274
  "returnType": "boolean",
2299
2275
  "isStatic": false,
2300
2276
  "isPublic": true
2301
2277
  },
2302
- "markSent": {
2303
- "name": "markSent",
2278
+ "getProviderMetadata": {
2279
+ "name": "getProviderMetadata",
2304
2280
  "async": false,
2305
2281
  "parameters": [],
2306
- "returnType": "void",
2282
+ "returnType": "Record<string>",
2307
2283
  "isStatic": false,
2308
2284
  "isPublic": true
2309
2285
  },
2310
- "markFailed": {
2311
- "name": "markFailed",
2286
+ "setProviderMetadata": {
2287
+ "name": "setProviderMetadata",
2312
2288
  "async": false,
2313
2289
  "parameters": [
2314
2290
  {
2315
- "name": "error",
2316
- "type": "string",
2291
+ "name": "metadata",
2292
+ "type": "Record<string>",
2317
2293
  "optional": false
2318
2294
  }
2319
2295
  ],
@@ -2321,33 +2297,33 @@
2321
2297
  "isStatic": false,
2322
2298
  "isPublic": true
2323
2299
  },
2324
- "resetForRetry": {
2325
- "name": "resetForRetry",
2300
+ "markSynced": {
2301
+ "name": "markSynced",
2326
2302
  "async": false,
2327
2303
  "parameters": [],
2328
2304
  "returnType": "void",
2329
2305
  "isStatic": false,
2330
2306
  "isPublic": true
2331
2307
  },
2332
- "shouldRetry": {
2333
- "name": "shouldRetry",
2334
- "async": false,
2308
+ "analyzePerformance": {
2309
+ "name": "analyzePerformance",
2310
+ "async": true,
2335
2311
  "parameters": [
2336
2312
  {
2337
- "name": "maxRetries",
2338
- "type": "number",
2313
+ "name": "options",
2314
+ "type": "object",
2339
2315
  "optional": true
2340
2316
  }
2341
2317
  ],
2342
- "returnType": "boolean",
2318
+ "returnType": "Promise<object>",
2343
2319
  "isStatic": false,
2344
2320
  "isPublic": true
2345
2321
  },
2346
- "toTrackEvent": {
2347
- "name": "toTrackEvent",
2348
- "async": false,
2322
+ "isPerformingWell": {
2323
+ "name": "isPerformingWell",
2324
+ "async": true,
2349
2325
  "parameters": [],
2350
- "returnType": "object",
2326
+ "returnType": "Promise<boolean>",
2351
2327
  "isStatic": false,
2352
2328
  "isPublic": true
2353
2329
  }
@@ -2358,14 +2334,16 @@
2358
2334
  "include": [
2359
2335
  "list",
2360
2336
  "get",
2361
- "create"
2337
+ "create",
2338
+ "update"
2362
2339
  ]
2363
2340
  },
2364
2341
  "mcp": {
2365
2342
  "include": [
2366
2343
  "list",
2367
2344
  "get",
2368
- "track"
2345
+ "sync",
2346
+ "runReport"
2369
2347
  ]
2370
2348
  },
2371
2349
  "cli": true,
@@ -2374,11 +2352,11 @@
2374
2352
  }
2375
2353
  },
2376
2354
  "extends": "SmrtObject",
2377
- "exportName": "AnalyticsEvent",
2378
- "collectionExportName": "AnalyticsEventCollection",
2355
+ "exportName": "AnalyticsProperty",
2356
+ "collectionExportName": "AnalyticsPropertyCollection",
2379
2357
  "schema": {
2380
- "tableName": "analytics_events",
2381
- "ddl": "CREATE TABLE IF NOT EXISTS \"analytics_events\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"_meta_type\" TEXT NOT NULL,\n \"_meta_data\" JSON,\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID,\n \"property_id\" UUID,\n \"event_name\" TEXT DEFAULT '',\n \"client_id\" TEXT DEFAULT '',\n \"user_id\" TEXT DEFAULT '',\n \"params\" TEXT DEFAULT '{}',\n \"event_timestamp\" TIMESTAMP,\n \"status\" TEXT,\n \"sent_at\" TIMESTAMP,\n \"error_message\" TEXT DEFAULT '',\n \"retry_count\" INTEGER DEFAULT 0,\n \"non_personalized_ads\" BOOLEAN DEFAULT FALSE,\n \"session_id\" TEXT DEFAULT '',\n \"page_path\" TEXT DEFAULT '',\n \"page_title\" TEXT DEFAULT '',\n \"user_agent\" TEXT DEFAULT '',\n \"ip_address\" TEXT DEFAULT ''\n);",
2358
+ "tableName": "analytics_properties",
2359
+ "ddl": "CREATE TABLE IF NOT EXISTS \"analytics_properties\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"_meta_type\" TEXT NOT NULL,\n \"_meta_data\" JSON,\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID,\n \"name\" TEXT DEFAULT '',\n \"display_name\" TEXT DEFAULT '',\n \"provider\" TEXT,\n \"external_id\" TEXT DEFAULT '',\n \"measurement_id\" TEXT DEFAULT '',\n \"api_secret\" TEXT DEFAULT '',\n \"site_domain\" TEXT DEFAULT '',\n \"time_zone\" TEXT DEFAULT 'America/Los_Angeles',\n \"currency_code\" TEXT DEFAULT 'USD',\n \"industry_category\" TEXT DEFAULT '',\n \"service_level\" TEXT DEFAULT 'STANDARD',\n \"status\" TEXT,\n \"last_sync_at\" TIMESTAMP,\n \"provider_metadata\" TEXT DEFAULT '{}'\n);",
2382
2360
  "columns": {
2383
2361
  "id": {
2384
2362
  "type": "UUID",
@@ -2418,93 +2396,83 @@
2418
2396
  "referenceKind": "tenantId",
2419
2397
  "notNull": false
2420
2398
  },
2421
- "property_id": {
2422
- "type": "UUID",
2423
- "referenceKind": "foreignKey",
2424
- "notNull": false
2425
- },
2426
- "event_name": {
2399
+ "name": {
2427
2400
  "type": "TEXT",
2428
2401
  "notNull": false,
2429
2402
  "default": ""
2430
2403
  },
2431
- "client_id": {
2404
+ "display_name": {
2432
2405
  "type": "TEXT",
2433
2406
  "notNull": false,
2434
2407
  "default": ""
2435
2408
  },
2436
- "user_id": {
2409
+ "provider": {
2437
2410
  "type": "TEXT",
2438
- "notNull": false,
2439
- "default": ""
2411
+ "notNull": false
2440
2412
  },
2441
- "params": {
2413
+ "external_id": {
2442
2414
  "type": "TEXT",
2443
2415
  "notNull": false,
2444
- "default": "{}"
2445
- },
2446
- "event_timestamp": {
2447
- "type": "TIMESTAMP",
2448
- "notNull": false
2416
+ "default": ""
2449
2417
  },
2450
- "status": {
2418
+ "measurement_id": {
2451
2419
  "type": "TEXT",
2452
- "notNull": false
2453
- },
2454
- "sent_at": {
2455
- "type": "TIMESTAMP",
2456
- "notNull": false
2420
+ "notNull": false,
2421
+ "default": ""
2457
2422
  },
2458
- "error_message": {
2423
+ "api_secret": {
2459
2424
  "type": "TEXT",
2460
2425
  "notNull": false,
2461
2426
  "default": ""
2462
2427
  },
2463
- "retry_count": {
2464
- "type": "INTEGER",
2428
+ "site_domain": {
2429
+ "type": "TEXT",
2465
2430
  "notNull": false,
2466
- "default": 0
2431
+ "default": ""
2467
2432
  },
2468
- "non_personalized_ads": {
2469
- "type": "BOOLEAN",
2433
+ "time_zone": {
2434
+ "type": "TEXT",
2470
2435
  "notNull": false,
2471
- "default": false
2436
+ "default": "America/Los_Angeles"
2472
2437
  },
2473
- "session_id": {
2438
+ "currency_code": {
2474
2439
  "type": "TEXT",
2475
2440
  "notNull": false,
2476
- "default": ""
2441
+ "default": "USD"
2477
2442
  },
2478
- "page_path": {
2443
+ "industry_category": {
2479
2444
  "type": "TEXT",
2480
2445
  "notNull": false,
2481
2446
  "default": ""
2482
2447
  },
2483
- "page_title": {
2448
+ "service_level": {
2484
2449
  "type": "TEXT",
2485
2450
  "notNull": false,
2486
- "default": ""
2451
+ "default": "STANDARD"
2487
2452
  },
2488
- "user_agent": {
2453
+ "status": {
2489
2454
  "type": "TEXT",
2490
- "notNull": false,
2491
- "default": ""
2455
+ "notNull": false
2492
2456
  },
2493
- "ip_address": {
2457
+ "last_sync_at": {
2458
+ "type": "TIMESTAMP",
2459
+ "notNull": false
2460
+ },
2461
+ "provider_metadata": {
2494
2462
  "type": "TEXT",
2495
2463
  "notNull": false,
2496
- "default": ""
2464
+ "default": "{}"
2497
2465
  }
2498
2466
  },
2499
2467
  "indexes": [
2500
2468
  {
2501
- "name": "analytics_events_id_idx",
2469
+ "name": "analytics_properties_id_idx",
2502
2470
  "columns": [
2503
2471
  "id"
2504
2472
  ]
2505
2473
  },
2506
2474
  {
2507
- "name": "analytics_events_slug_context_meta_type_idx",
2475
+ "name": "analytics_properties_slug_context_meta_type_idx",
2508
2476
  "columns": [
2509
2477
  "slug",
2510
2478
  "context",
@@ -2513,21 +2481,21 @@
2513
2481
  "unique": true
2514
2482
  },
2515
2483
  {
2516
- "name": "analytics_events_meta_type_idx",
2484
+ "name": "analytics_properties_meta_type_idx",
2517
2485
  "columns": [
2518
2486
  "_meta_type"
2519
2487
  ]
2520
2488
  }
2521
2489
  ],
2522
- "version": "8c2447ff"
2490
+ "version": "f38a20b9"
2523
2491
  }
2524
2492
  },
2525
- "@happyvertical/smrt-analytics:AnalyticsProperty": {
2526
- "name": "analyticsproperty",
2527
- "className": "AnalyticsProperty",
2528
- "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsProperty",
2529
- "collection": "analyticsproperties",
2530
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-8nsqr/smrt/smrt/packages/analytics/src/models/AnalyticsProperty.ts",
2493
+ "@happyvertical/smrt-analytics:AnalyticsReport": {
2494
+ "name": "analyticsreport",
2495
+ "className": "AnalyticsReport",
2496
+ "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsReport",
2497
+ "collection": "analyticsreports",
2498
+ "filePath": "/home/runner/_work/smrt/smrt/packages/analytics/src/models/AnalyticsReport.ts",
2531
2499
  "packageName": "@happyvertical/smrt-analytics",
2532
2500
  "fields": {
2533
2501
  "created_at": {
@@ -2556,80 +2524,91 @@
2556
2524
  }
2557
2525
  }
2558
2526
  },
2527
+ "propertyId": {
2528
+ "type": "foreignKey",
2529
+ "required": false,
2530
+ "related": "AnalyticsProperty"
2531
+ },
2559
2532
  "name": {
2560
2533
  "type": "text",
2561
2534
  "required": false,
2562
2535
  "default": ""
2563
2536
  },
2564
- "displayName": {
2537
+ "description": {
2565
2538
  "type": "text",
2566
2539
  "required": false,
2567
2540
  "default": ""
2568
2541
  },
2569
- "provider": {
2542
+ "dimensions": {
2570
2543
  "type": "text",
2571
- "required": false
2544
+ "required": false,
2545
+ "default": "[]"
2572
2546
  },
2573
- "externalId": {
2547
+ "metrics": {
2574
2548
  "type": "text",
2575
2549
  "required": false,
2576
- "default": ""
2550
+ "default": "[]"
2577
2551
  },
2578
- "measurementId": {
2552
+ "dateRangeStart": {
2579
2553
  "type": "text",
2580
2554
  "required": false,
2581
- "default": ""
2555
+ "default": "7daysAgo"
2582
2556
  },
2583
- "apiSecret": {
2557
+ "dateRangeEnd": {
2584
2558
  "type": "text",
2585
2559
  "required": false,
2586
- "default": "",
2587
- "_meta": {
2588
- "sensitive": true
2589
- },
2590
- "sensitive": true
2560
+ "default": "today"
2591
2561
  },
2592
- "siteDomain": {
2562
+ "dimensionFilter": {
2593
2563
  "type": "text",
2594
2564
  "required": false,
2595
2565
  "default": ""
2596
2566
  },
2597
- "timeZone": {
2567
+ "metricFilter": {
2598
2568
  "type": "text",
2599
2569
  "required": false,
2600
- "default": "America/Los_Angeles"
2570
+ "default": ""
2601
2571
  },
2602
- "currencyCode": {
2572
+ "orderBy": {
2603
2573
  "type": "text",
2604
2574
  "required": false,
2605
- "default": "USD"
2575
+ "default": "[]"
2606
2576
  },
2607
- "industryCategory": {
2608
- "type": "text",
2577
+ "maxResults": {
2578
+ "type": "integer",
2609
2579
  "required": false,
2610
- "default": ""
2580
+ "default": 0
2611
2581
  },
2612
- "serviceLevel": {
2582
+ "status": {
2613
2583
  "type": "text",
2614
- "required": false,
2615
- "default": "STANDARD"
2584
+ "required": false
2616
2585
  },
2617
- "status": {
2586
+ "frequency": {
2618
2587
  "type": "text",
2619
2588
  "required": false
2620
2589
  },
2621
- "lastSyncAt": {
2590
+ "lastRunAt": {
2622
2591
  "type": "datetime",
2623
2592
  "required": false
2624
2593
  },
2625
- "providerMetadata": {
2594
+ "nextRunAt": {
2595
+ "type": "datetime",
2596
+ "required": false
2597
+ },
2598
+ "resultData": {
2626
2599
  "type": "text",
2627
2600
  "required": false,
2628
- "default": "{}",
2629
- "_meta": {
2630
- "sensitive": true
2631
- },
2632
- "sensitive": true
2601
+ "default": ""
2602
+ },
2603
+ "rowCount": {
2604
+ "type": "integer",
2605
+ "required": false,
2606
+ "default": 0
2607
+ },
2608
+ "lastError": {
2609
+ "type": "text",
2610
+ "required": false,
2611
+ "default": ""
2633
2612
  }
2634
2613
  },
2635
2614
  "methods": {
@@ -3122,45 +3101,101 @@
3122
3101
  "isStatic": false,
3123
3102
  "isPublic": true
3124
3103
  },
3125
- "isGA4": {
3126
- "name": "isGA4",
3104
+ "getDimensions": {
3105
+ "name": "getDimensions",
3127
3106
  "async": false,
3128
3107
  "parameters": [],
3129
- "returnType": "boolean",
3108
+ "returnType": "Array<object>",
3130
3109
  "isStatic": false,
3131
3110
  "isPublic": true
3132
3111
  },
3133
- "isPlausible": {
3134
- "name": "isPlausible",
3112
+ "setDimensions": {
3113
+ "name": "setDimensions",
3114
+ "async": false,
3115
+ "parameters": [
3116
+ {
3117
+ "name": "dimensions",
3118
+ "type": "Array<object>",
3119
+ "optional": false
3120
+ }
3121
+ ],
3122
+ "returnType": "void",
3123
+ "isStatic": false,
3124
+ "isPublic": true
3125
+ },
3126
+ "getMetrics": {
3127
+ "name": "getMetrics",
3135
3128
  "async": false,
3136
3129
  "parameters": [],
3137
- "returnType": "boolean",
3130
+ "returnType": "Array<object>",
3138
3131
  "isStatic": false,
3139
3132
  "isPublic": true
3140
3133
  },
3141
- "isMatomo": {
3142
- "name": "isMatomo",
3134
+ "setMetrics": {
3135
+ "name": "setMetrics",
3136
+ "async": false,
3137
+ "parameters": [
3138
+ {
3139
+ "name": "metrics",
3140
+ "type": "Array<object>",
3141
+ "optional": false
3142
+ }
3143
+ ],
3144
+ "returnType": "void",
3145
+ "isStatic": false,
3146
+ "isPublic": true
3147
+ },
3148
+ "getResultData": {
3149
+ "name": "getResultData",
3143
3150
  "async": false,
3144
3151
  "parameters": [],
3145
- "returnType": "boolean",
3152
+ "returnType": "Record<string> | null",
3146
3153
  "isStatic": false,
3147
3154
  "isPublic": true
3148
3155
  },
3149
- "getProviderMetadata": {
3150
- "name": "getProviderMetadata",
3156
+ "setResultData": {
3157
+ "name": "setResultData",
3158
+ "async": false,
3159
+ "parameters": [
3160
+ {
3161
+ "name": "data",
3162
+ "type": "Record<string>",
3163
+ "optional": false
3164
+ }
3165
+ ],
3166
+ "returnType": "void",
3167
+ "isStatic": false,
3168
+ "isPublic": true
3169
+ },
3170
+ "markRunning": {
3171
+ "name": "markRunning",
3151
3172
  "async": false,
3152
3173
  "parameters": [],
3153
- "returnType": "Record<string>",
3174
+ "returnType": "void",
3175
+ "isStatic": false,
3176
+ "isPublic": true
3177
+ },
3178
+ "markCompleted": {
3179
+ "name": "markCompleted",
3180
+ "async": false,
3181
+ "parameters": [
3182
+ {
3183
+ "name": "rowCount",
3184
+ "type": "number",
3185
+ "optional": false
3186
+ }
3187
+ ],
3188
+ "returnType": "void",
3154
3189
  "isStatic": false,
3155
3190
  "isPublic": true
3156
3191
  },
3157
- "setProviderMetadata": {
3158
- "name": "setProviderMetadata",
3192
+ "markFailed": {
3193
+ "name": "markFailed",
3159
3194
  "async": false,
3160
3195
  "parameters": [
3161
3196
  {
3162
- "name": "metadata",
3163
- "type": "Record<string>",
3197
+ "name": "error",
3198
+ "type": "string",
3164
3199
  "optional": false
3165
3200
  }
3166
3201
  ],
@@ -3168,21 +3203,29 @@
3168
3203
  "isStatic": false,
3169
3204
  "isPublic": true
3170
3205
  },
3171
- "markSynced": {
3172
- "name": "markSynced",
3206
+ "calculateNextRun": {
3207
+ "name": "calculateNextRun",
3173
3208
  "async": false,
3174
3209
  "parameters": [],
3175
3210
  "returnType": "void",
3176
3211
  "isStatic": false,
3177
3212
  "isPublic": true
3178
3213
  },
3179
- "analyzePerformance": {
3180
- "name": "analyzePerformance",
3214
+ "isDue": {
3215
+ "name": "isDue",
3216
+ "async": false,
3217
+ "parameters": [],
3218
+ "returnType": "boolean",
3219
+ "isStatic": false,
3220
+ "isPublic": true
3221
+ },
3222
+ "analyzeResults": {
3223
+ "name": "analyzeResults",
3181
3224
  "async": true,
3182
3225
  "parameters": [
3183
3226
  {
3184
- "name": "options",
3185
- "type": "object",
3227
+ "name": "_options",
3228
+ "type": "Record<string>",
3186
3229
  "optional": true
3187
3230
  }
3188
3231
  ],
@@ -3190,8 +3233,8 @@
3190
3233
  "isStatic": false,
3191
3234
  "isPublic": true
3192
3235
  },
3193
- "isPerformingWell": {
3194
- "name": "isPerformingWell",
3236
+ "hasPositiveTrends": {
3237
+ "name": "hasPositiveTrends",
3195
3238
  "async": true,
3196
3239
  "parameters": [],
3197
3240
  "returnType": "Promise<boolean>",
@@ -3206,15 +3249,16 @@
3206
3249
  "list",
3207
3250
  "get",
3208
3251
  "create",
3209
- "update"
3252
+ "update",
3253
+ "run"
3210
3254
  ]
3211
3255
  },
3212
3256
  "mcp": {
3213
3257
  "include": [
3214
3258
  "list",
3215
3259
  "get",
3216
- "sync",
3217
- "runReport"
3260
+ "run",
3261
+ "analyze"
3218
3262
  ]
3219
3263
  },
3220
3264
  "cli": true,
@@ -3223,11 +3267,11 @@
3223
3267
  }
3224
3268
  },
3225
3269
  "extends": "SmrtObject",
3226
- "exportName": "AnalyticsProperty",
3227
- "collectionExportName": "AnalyticsPropertyCollection",
3270
+ "exportName": "AnalyticsReport",
3271
+ "collectionExportName": "AnalyticsReportCollection",
3228
3272
  "schema": {
3229
- "tableName": "analytics_properties",
3230
- "ddl": "CREATE TABLE IF NOT EXISTS \"analytics_properties\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"_meta_type\" TEXT NOT NULL,\n \"_meta_data\" JSON,\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID,\n \"name\" TEXT DEFAULT '',\n \"display_name\" TEXT DEFAULT '',\n \"provider\" TEXT,\n \"external_id\" TEXT DEFAULT '',\n \"measurement_id\" TEXT DEFAULT '',\n \"api_secret\" TEXT DEFAULT '',\n \"site_domain\" TEXT DEFAULT '',\n \"time_zone\" TEXT DEFAULT 'America/Los_Angeles',\n \"currency_code\" TEXT DEFAULT 'USD',\n \"industry_category\" TEXT DEFAULT '',\n \"service_level\" TEXT DEFAULT 'STANDARD',\n \"status\" TEXT,\n \"last_sync_at\" TIMESTAMP,\n \"provider_metadata\" TEXT DEFAULT '{}'\n);",
3273
+ "tableName": "analytics_reports",
3274
+ "ddl": "CREATE TABLE IF NOT EXISTS \"analytics_reports\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"_meta_type\" TEXT NOT NULL,\n \"_meta_data\" JSON,\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID,\n \"property_id\" UUID,\n \"name\" TEXT DEFAULT '',\n \"description\" TEXT DEFAULT '',\n \"dimensions\" TEXT DEFAULT '[]',\n \"metrics\" TEXT DEFAULT '[]',\n \"date_range_start\" TEXT DEFAULT '7daysAgo',\n \"date_range_end\" TEXT DEFAULT 'today',\n \"dimension_filter\" TEXT DEFAULT '',\n \"metric_filter\" TEXT DEFAULT '',\n \"order_by\" TEXT DEFAULT '[]',\n \"max_results\" INTEGER DEFAULT 0,\n \"status\" TEXT,\n \"frequency\" TEXT,\n \"last_run_at\" TIMESTAMP,\n \"next_run_at\" TIMESTAMP,\n \"result_data\" TEXT DEFAULT '',\n \"row_count\" INTEGER DEFAULT 0,\n \"last_error\" TEXT DEFAULT ''\n);",
3231
3275
  "columns": {
3232
3276
  "id": {
3233
3277
  "type": "UUID",
@@ -3267,882 +3311,944 @@
3267
3311
  "referenceKind": "tenantId",
3268
3312
  "notNull": false
3269
3313
  },
3314
+ "property_id": {
3315
+ "type": "UUID",
3316
+ "referenceKind": "foreignKey",
3317
+ "notNull": false
3318
+ },
3270
3319
  "name": {
3271
3320
  "type": "TEXT",
3272
3321
  "notNull": false,
3273
3322
  "default": ""
3274
3323
  },
3275
- "display_name": {
3324
+ "description": {
3276
3325
  "type": "TEXT",
3277
3326
  "notNull": false,
3278
3327
  "default": ""
3279
3328
  },
3280
- "provider": {
3329
+ "dimensions": {
3281
3330
  "type": "TEXT",
3282
- "notNull": false
3331
+ "notNull": false,
3332
+ "default": "[]"
3283
3333
  },
3284
- "external_id": {
3334
+ "metrics": {
3285
3335
  "type": "TEXT",
3286
3336
  "notNull": false,
3287
- "default": ""
3337
+ "default": "[]"
3288
3338
  },
3289
- "measurement_id": {
3339
+ "date_range_start": {
3290
3340
  "type": "TEXT",
3291
3341
  "notNull": false,
3292
- "default": ""
3342
+ "default": "7daysAgo"
3293
3343
  },
3294
- "api_secret": {
3344
+ "date_range_end": {
3295
3345
  "type": "TEXT",
3296
3346
  "notNull": false,
3297
- "default": ""
3347
+ "default": "today"
3298
3348
  },
3299
- "site_domain": {
3349
+ "dimension_filter": {
3300
3350
  "type": "TEXT",
3301
3351
  "notNull": false,
3302
3352
  "default": ""
3303
3353
  },
3304
- "time_zone": {
3354
+ "metric_filter": {
3305
3355
  "type": "TEXT",
3306
3356
  "notNull": false,
3307
- "default": "America/Los_Angeles"
3357
+ "default": ""
3308
3358
  },
3309
- "currency_code": {
3359
+ "order_by": {
3310
3360
  "type": "TEXT",
3311
3361
  "notNull": false,
3312
- "default": "USD"
3362
+ "default": "[]"
3313
3363
  },
3314
- "industry_category": {
3315
- "type": "TEXT",
3364
+ "max_results": {
3365
+ "type": "INTEGER",
3316
3366
  "notNull": false,
3317
- "default": ""
3367
+ "default": 0
3318
3368
  },
3319
- "service_level": {
3369
+ "status": {
3320
3370
  "type": "TEXT",
3321
- "notNull": false,
3322
- "default": "STANDARD"
3371
+ "notNull": false
3323
3372
  },
3324
- "status": {
3373
+ "frequency": {
3325
3374
  "type": "TEXT",
3326
3375
  "notNull": false
3327
3376
  },
3328
- "last_sync_at": {
3377
+ "last_run_at": {
3329
3378
  "type": "TIMESTAMP",
3330
3379
  "notNull": false
3331
3380
  },
3332
- "provider_metadata": {
3381
+ "next_run_at": {
3382
+ "type": "TIMESTAMP",
3383
+ "notNull": false
3384
+ },
3385
+ "result_data": {
3333
3386
  "type": "TEXT",
3334
3387
  "notNull": false,
3335
- "default": "{}"
3336
- }
3337
- },
3338
- "indexes": [
3339
- {
3340
- "name": "analytics_properties_id_idx",
3341
- "columns": [
3342
- "id"
3343
- ]
3388
+ "default": ""
3344
3389
  },
3345
- {
3346
- "name": "analytics_properties_slug_context_meta_type_idx",
3347
- "columns": [
3348
- "slug",
3349
- "context",
3350
- "_meta_type"
3351
- ],
3352
- "unique": true
3390
+ "row_count": {
3391
+ "type": "INTEGER",
3392
+ "notNull": false,
3393
+ "default": 0
3353
3394
  },
3354
- {
3355
- "name": "analytics_properties_meta_type_idx",
3356
- "columns": [
3357
- "_meta_type"
3358
- ]
3359
- }
3360
- ],
3361
- "version": "f38a20b9"
3362
- }
3363
- },
3364
- "@happyvertical/smrt-analytics:AnalyticsReport": {
3365
- "name": "analyticsreport",
3366
- "className": "AnalyticsReport",
3367
- "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsReport",
3368
- "collection": "analyticsreports",
3369
- "filePath": "/home/runner/.local/share/pnpm/store/.workspaces/arc-happyvertical-node-sqm7p-runner-8nsqr/smrt/smrt/packages/analytics/src/models/AnalyticsReport.ts",
3370
- "packageName": "@happyvertical/smrt-analytics",
3371
- "fields": {
3372
- "created_at": {
3373
- "type": "datetime",
3374
- "required": false
3375
- },
3376
- "updated_at": {
3377
- "type": "datetime",
3378
- "required": false
3379
- },
3380
- "tenantId": {
3381
- "type": "text",
3382
- "required": false,
3383
- "_meta": {
3384
- "sqlType": "UUID",
3385
- "nullable": true,
3386
- "__tenancy": {
3387
- "isTenantIdField": true,
3388
- "autoFilter": true,
3389
- "required": false,
3390
- "autoPopulate": true,
3391
- "nullable": true,
3392
- "mode": "optional",
3393
- "field": "tenantId",
3394
- "allowSuperAdminBypass": false
3395
- }
3395
+ "last_error": {
3396
+ "type": "TEXT",
3397
+ "notNull": false,
3398
+ "default": ""
3396
3399
  }
3397
3400
  },
3398
- "propertyId": {
3399
- "type": "foreignKey",
3400
- "required": false,
3401
- "related": "AnalyticsProperty"
3402
- },
3403
- "name": {
3404
- "type": "text",
3405
- "required": false,
3406
- "default": ""
3407
- },
3408
- "description": {
3409
- "type": "text",
3410
- "required": false,
3411
- "default": ""
3412
- },
3413
- "dimensions": {
3414
- "type": "text",
3415
- "required": false,
3416
- "default": "[]"
3417
- },
3418
- "metrics": {
3419
- "type": "text",
3420
- "required": false,
3421
- "default": "[]"
3422
- },
3423
- "dateRangeStart": {
3424
- "type": "text",
3425
- "required": false,
3426
- "default": "7daysAgo"
3427
- },
3428
- "dateRangeEnd": {
3429
- "type": "text",
3430
- "required": false,
3431
- "default": "today"
3432
- },
3433
- "dimensionFilter": {
3434
- "type": "text",
3435
- "required": false,
3436
- "default": ""
3437
- },
3438
- "metricFilter": {
3439
- "type": "text",
3440
- "required": false,
3441
- "default": ""
3442
- },
3443
- "orderBy": {
3444
- "type": "text",
3445
- "required": false,
3446
- "default": "[]"
3447
- },
3448
- "maxResults": {
3449
- "type": "integer",
3450
- "required": false,
3451
- "default": 0
3452
- },
3453
- "status": {
3454
- "type": "text",
3455
- "required": false
3456
- },
3457
- "frequency": {
3458
- "type": "text",
3459
- "required": false
3460
- },
3461
- "lastRunAt": {
3462
- "type": "datetime",
3463
- "required": false
3464
- },
3465
- "nextRunAt": {
3466
- "type": "datetime",
3467
- "required": false
3468
- },
3469
- "resultData": {
3470
- "type": "text",
3471
- "required": false,
3472
- "default": ""
3473
- },
3474
- "rowCount": {
3475
- "type": "integer",
3476
- "required": false,
3477
- "default": 0
3478
- },
3479
- "lastError": {
3480
- "type": "text",
3481
- "required": false,
3482
- "default": ""
3483
- }
3484
- },
3401
+ "indexes": [
3402
+ {
3403
+ "name": "analytics_reports_id_idx",
3404
+ "columns": [
3405
+ "id"
3406
+ ]
3407
+ },
3408
+ {
3409
+ "name": "analytics_reports_slug_context_meta_type_idx",
3410
+ "columns": [
3411
+ "slug",
3412
+ "context",
3413
+ "_meta_type"
3414
+ ],
3415
+ "unique": true
3416
+ },
3417
+ {
3418
+ "name": "analytics_reports_meta_type_idx",
3419
+ "columns": [
3420
+ "_meta_type"
3421
+ ]
3422
+ }
3423
+ ],
3424
+ "version": "cecde8c6"
3425
+ }
3426
+ },
3427
+ "@happyvertical/smrt-analytics:AnalyticsDataStreamCollection": {
3428
+ "name": "analyticsdatastreamcollection",
3429
+ "className": "AnalyticsDataStreamCollection",
3430
+ "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsDataStreamCollection",
3431
+ "collection": "analyticsdatastreams",
3432
+ "filePath": "/home/runner/_work/smrt/smrt/packages/analytics/src/collections/AnalyticsDataStreamCollection.ts",
3433
+ "packageName": "@happyvertical/smrt-analytics",
3434
+ "fields": {},
3485
3435
  "methods": {
3486
- "getAiUsageSnapshot": {
3487
- "name": "getAiUsageSnapshot",
3488
- "async": false,
3489
- "parameters": [],
3490
- "returnType": "AiUsageSnapshot | undefined",
3436
+ "findByProperty": {
3437
+ "name": "findByProperty",
3438
+ "async": true,
3439
+ "parameters": [
3440
+ {
3441
+ "name": "propertyId",
3442
+ "type": "string",
3443
+ "optional": false
3444
+ }
3445
+ ],
3446
+ "returnType": "Promise<AnalyticsDataStream[]>",
3491
3447
  "isStatic": false,
3492
3448
  "isPublic": true
3493
3449
  },
3494
- "resetAiUsage": {
3495
- "name": "resetAiUsage",
3496
- "async": false,
3497
- "parameters": [],
3498
- "returnType": "void",
3450
+ "findByExternalId": {
3451
+ "name": "findByExternalId",
3452
+ "async": true,
3453
+ "parameters": [
3454
+ {
3455
+ "name": "externalId",
3456
+ "type": "string",
3457
+ "optional": false
3458
+ }
3459
+ ],
3460
+ "returnType": "Promise<AnalyticsDataStream | null>",
3499
3461
  "isStatic": false,
3500
3462
  "isPublic": true
3501
3463
  },
3502
- "listAiUsage": {
3503
- "name": "listAiUsage",
3464
+ "findByMeasurementId": {
3465
+ "name": "findByMeasurementId",
3504
3466
  "async": true,
3505
3467
  "parameters": [
3506
3468
  {
3507
- "name": "options",
3508
- "type": "AiUsageListOptions",
3509
- "optional": true
3469
+ "name": "measurementId",
3470
+ "type": "string",
3471
+ "optional": false
3510
3472
  }
3511
3473
  ],
3512
- "returnType": "Promise<SmrtAiUsageRecord[]>",
3474
+ "returnType": "Promise<AnalyticsDataStream | null>",
3513
3475
  "isStatic": false,
3514
3476
  "isPublic": true
3515
3477
  },
3516
- "summarizeAiUsage": {
3517
- "name": "summarizeAiUsage",
3478
+ "findByType": {
3479
+ "name": "findByType",
3518
3480
  "async": true,
3519
3481
  "parameters": [
3520
3482
  {
3521
- "name": "options",
3522
- "type": "AiUsageSummaryOptions",
3523
- "optional": true
3483
+ "name": "streamType",
3484
+ "type": "DataStreamType",
3485
+ "optional": false
3524
3486
  }
3525
3487
  ],
3526
- "returnType": "Promise<Record<string, AiUsageStats>>",
3488
+ "returnType": "Promise<AnalyticsDataStream[]>",
3527
3489
  "isStatic": false,
3528
3490
  "isPublic": true
3529
3491
  },
3530
- "destroy": {
3531
- "name": "destroy",
3532
- "async": false,
3492
+ "findWebStreams": {
3493
+ "name": "findWebStreams",
3494
+ "async": true,
3533
3495
  "parameters": [],
3534
- "returnType": "void",
3496
+ "returnType": "Promise<AnalyticsDataStream[]>",
3535
3497
  "isStatic": false,
3536
3498
  "isPublic": true
3537
3499
  },
3538
- "markAsPersisted": {
3539
- "name": "markAsPersisted",
3540
- "async": false,
3500
+ "findIOSStreams": {
3501
+ "name": "findIOSStreams",
3502
+ "async": true,
3541
3503
  "parameters": [],
3542
- "returnType": "void",
3504
+ "returnType": "Promise<AnalyticsDataStream[]>",
3543
3505
  "isStatic": false,
3544
3506
  "isPublic": true
3545
3507
  },
3546
- "requireInsertOnSave": {
3547
- "name": "requireInsertOnSave",
3548
- "async": false,
3508
+ "findAndroidStreams": {
3509
+ "name": "findAndroidStreams",
3510
+ "async": true,
3549
3511
  "parameters": [],
3550
- "returnType": "void",
3512
+ "returnType": "Promise<AnalyticsDataStream[]>",
3551
3513
  "isStatic": false,
3552
3514
  "isPublic": true
3553
3515
  },
3554
- "initialize": {
3555
- "name": "initialize",
3516
+ "findMobileStreams": {
3517
+ "name": "findMobileStreams",
3556
3518
  "async": true,
3557
3519
  "parameters": [],
3558
- "returnType": "Promise",
3520
+ "returnType": "Promise<AnalyticsDataStream[]>",
3559
3521
  "isStatic": false,
3560
3522
  "isPublic": true
3561
3523
  },
3562
- "loadDataFromDb": {
3563
- "name": "loadDataFromDb",
3524
+ "findByStatus": {
3525
+ "name": "findByStatus",
3564
3526
  "async": true,
3565
3527
  "parameters": [
3566
3528
  {
3567
- "name": "data",
3568
- "type": "Record<string>",
3529
+ "name": "status",
3530
+ "type": "DataStreamStatus",
3569
3531
  "optional": false
3570
3532
  }
3571
3533
  ],
3572
- "returnType": "any",
3534
+ "returnType": "Promise<AnalyticsDataStream[]>",
3573
3535
  "isStatic": false,
3574
3536
  "isPublic": true
3575
3537
  },
3576
- "getFields": {
3577
- "name": "getFields",
3538
+ "findActive": {
3539
+ "name": "findActive",
3578
3540
  "async": true,
3579
3541
  "parameters": [],
3580
- "returnType": "Promise<any>",
3542
+ "returnType": "Promise<AnalyticsDataStream[]>",
3581
3543
  "isStatic": false,
3582
3544
  "isPublic": true
3583
3545
  },
3584
- "toJSON": {
3585
- "name": "toJSON",
3586
- "async": false,
3587
- "parameters": [],
3588
- "returnType": "any",
3546
+ "findActiveByProperty": {
3547
+ "name": "findActiveByProperty",
3548
+ "async": true,
3549
+ "parameters": [
3550
+ {
3551
+ "name": "propertyId",
3552
+ "type": "string",
3553
+ "optional": false
3554
+ }
3555
+ ],
3556
+ "returnType": "Promise<AnalyticsDataStream[]>",
3589
3557
  "isStatic": false,
3590
3558
  "isPublic": true
3559
+ }
3560
+ },
3561
+ "decoratorConfig": {},
3562
+ "extends": "SmrtCollection",
3563
+ "extendsTypeArg": "AnalyticsDataStream",
3564
+ "exportName": "AnalyticsDataStreamCollection",
3565
+ "collectionExportName": "AnalyticsDataStreamCollectionCollection",
3566
+ "schema": {
3567
+ "tableName": "analytics_data_stream_collections",
3568
+ "ddl": "CREATE TABLE IF NOT EXISTS \"analytics_data_stream_collections\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp\n);",
3569
+ "columns": {
3570
+ "id": {
3571
+ "type": "UUID",
3572
+ "primaryKey": true,
3573
+ "referenceKind": "id",
3574
+ "notNull": true
3575
+ },
3576
+ "slug": {
3577
+ "type": "TEXT",
3578
+ "notNull": true
3579
+ },
3580
+ "context": {
3581
+ "type": "TEXT",
3582
+ "notNull": true,
3583
+ "default": ""
3584
+ },
3585
+ "created_at": {
3586
+ "type": "TIMESTAMP",
3587
+ "notNull": true,
3588
+ "default": "current_timestamp"
3589
+ },
3590
+ "updated_at": {
3591
+ "type": "TIMESTAMP",
3592
+ "notNull": true,
3593
+ "default": "current_timestamp"
3594
+ }
3591
3595
  },
3592
- "toPlainObject": {
3593
- "name": "toPlainObject",
3594
- "async": false,
3595
- "parameters": [],
3596
- "returnType": "Record<string>",
3596
+ "indexes": [
3597
+ {
3598
+ "name": "analytics_data_stream_collections_id_idx",
3599
+ "columns": [
3600
+ "id"
3601
+ ]
3602
+ },
3603
+ {
3604
+ "name": "analytics_data_stream_collections_slug_context_idx",
3605
+ "columns": [
3606
+ "slug",
3607
+ "context"
3608
+ ],
3609
+ "unique": true
3610
+ }
3611
+ ],
3612
+ "version": "12ef5a9a"
3613
+ }
3614
+ },
3615
+ "@happyvertical/smrt-analytics:AnalyticsEventCollection": {
3616
+ "name": "analyticseventcollection",
3617
+ "className": "AnalyticsEventCollection",
3618
+ "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsEventCollection",
3619
+ "collection": "analyticsevents",
3620
+ "filePath": "/home/runner/_work/smrt/smrt/packages/analytics/src/collections/AnalyticsEventCollection.ts",
3621
+ "packageName": "@happyvertical/smrt-analytics",
3622
+ "fields": {},
3623
+ "methods": {
3624
+ "findByProperty": {
3625
+ "name": "findByProperty",
3626
+ "async": true,
3627
+ "parameters": [
3628
+ {
3629
+ "name": "propertyId",
3630
+ "type": "string",
3631
+ "optional": false
3632
+ }
3633
+ ],
3634
+ "returnType": "Promise<AnalyticsEvent[]>",
3597
3635
  "isStatic": false,
3598
3636
  "isPublic": true
3599
3637
  },
3600
- "toPublicJSON": {
3601
- "name": "toPublicJSON",
3602
- "async": false,
3638
+ "findByEventName": {
3639
+ "name": "findByEventName",
3640
+ "async": true,
3603
3641
  "parameters": [
3604
3642
  {
3605
- "name": "options",
3606
- "type": "PublicJsonOptions",
3607
- "optional": true
3643
+ "name": "eventName",
3644
+ "type": "string",
3645
+ "optional": false
3646
+ }
3647
+ ],
3648
+ "returnType": "Promise<AnalyticsEvent[]>",
3649
+ "isStatic": false,
3650
+ "isPublic": true
3651
+ },
3652
+ "findByClientId": {
3653
+ "name": "findByClientId",
3654
+ "async": true,
3655
+ "parameters": [
3656
+ {
3657
+ "name": "clientId",
3658
+ "type": "string",
3659
+ "optional": false
3608
3660
  }
3609
3661
  ],
3610
- "returnType": "Record<string>",
3662
+ "returnType": "Promise<AnalyticsEvent[]>",
3611
3663
  "isStatic": false,
3612
3664
  "isPublic": true
3613
3665
  },
3614
- "getId": {
3615
- "name": "getId",
3666
+ "findByUserId": {
3667
+ "name": "findByUserId",
3616
3668
  "async": true,
3617
- "parameters": [],
3618
- "returnType": "any",
3669
+ "parameters": [
3670
+ {
3671
+ "name": "userId",
3672
+ "type": "string",
3673
+ "optional": false
3674
+ }
3675
+ ],
3676
+ "returnType": "Promise<AnalyticsEvent[]>",
3619
3677
  "isStatic": false,
3620
3678
  "isPublic": true
3621
3679
  },
3622
- "getSlug": {
3623
- "name": "getSlug",
3680
+ "findByStatus": {
3681
+ "name": "findByStatus",
3624
3682
  "async": true,
3625
- "parameters": [],
3626
- "returnType": "any",
3683
+ "parameters": [
3684
+ {
3685
+ "name": "status",
3686
+ "type": "TrackingEventStatus",
3687
+ "optional": false
3688
+ }
3689
+ ],
3690
+ "returnType": "Promise<AnalyticsEvent[]>",
3627
3691
  "isStatic": false,
3628
3692
  "isPublic": true
3629
3693
  },
3630
- "getSavedId": {
3631
- "name": "getSavedId",
3694
+ "findPending": {
3695
+ "name": "findPending",
3632
3696
  "async": true,
3633
3697
  "parameters": [],
3634
- "returnType": "any",
3698
+ "returnType": "Promise<AnalyticsEvent[]>",
3635
3699
  "isStatic": false,
3636
3700
  "isPublic": true
3637
3701
  },
3638
- "isSaved": {
3639
- "name": "isSaved",
3702
+ "findSent": {
3703
+ "name": "findSent",
3640
3704
  "async": true,
3641
3705
  "parameters": [],
3642
- "returnType": "any",
3706
+ "returnType": "Promise<AnalyticsEvent[]>",
3643
3707
  "isStatic": false,
3644
3708
  "isPublic": true
3645
3709
  },
3646
- "save": {
3647
- "name": "save",
3710
+ "findFailed": {
3711
+ "name": "findFailed",
3648
3712
  "async": true,
3649
3713
  "parameters": [],
3650
- "returnType": "any",
3714
+ "returnType": "Promise<AnalyticsEvent[]>",
3651
3715
  "isStatic": false,
3652
3716
  "isPublic": true
3653
3717
  },
3654
- "classifyConstraintError": {
3655
- "name": "classifyConstraintError",
3656
- "async": false,
3718
+ "findForRetry": {
3719
+ "name": "findForRetry",
3720
+ "async": true,
3657
3721
  "parameters": [
3658
3722
  {
3659
- "name": "message",
3660
- "type": "string",
3661
- "optional": false
3723
+ "name": "maxRetries",
3724
+ "type": "number",
3725
+ "optional": true
3662
3726
  }
3663
3727
  ],
3664
- "returnType": "'unique' | 'not_null' | null",
3665
- "isStatic": true,
3666
- "isPublic": true
3667
- },
3668
- "loadFromId": {
3669
- "name": "loadFromId",
3670
- "async": true,
3671
- "parameters": [],
3672
- "returnType": "any",
3728
+ "returnType": "Promise<AnalyticsEvent[]>",
3673
3729
  "isStatic": false,
3674
3730
  "isPublic": true
3675
3731
  },
3676
- "loadFromSlug": {
3677
- "name": "loadFromSlug",
3732
+ "findPendingByProperty": {
3733
+ "name": "findPendingByProperty",
3678
3734
  "async": true,
3679
- "parameters": [],
3680
- "returnType": "any",
3735
+ "parameters": [
3736
+ {
3737
+ "name": "propertyId",
3738
+ "type": "string",
3739
+ "optional": false
3740
+ }
3741
+ ],
3742
+ "returnType": "Promise<AnalyticsEvent[]>",
3681
3743
  "isStatic": false,
3682
3744
  "isPublic": true
3683
3745
  },
3684
- "is": {
3685
- "name": "is",
3746
+ "findByDateRange": {
3747
+ "name": "findByDateRange",
3686
3748
  "async": true,
3687
3749
  "parameters": [
3688
3750
  {
3689
- "name": "criteria",
3690
- "type": "string",
3751
+ "name": "startDate",
3752
+ "type": "Date",
3691
3753
  "optional": false
3692
3754
  },
3693
3755
  {
3694
- "name": "options",
3695
- "type": "AiOperationOptions",
3696
- "optional": true
3756
+ "name": "endDate",
3757
+ "type": "Date",
3758
+ "optional": false
3697
3759
  }
3698
3760
  ],
3699
- "returnType": "any",
3761
+ "returnType": "Promise<AnalyticsEvent[]>",
3700
3762
  "isStatic": false,
3701
3763
  "isPublic": true
3702
3764
  },
3703
- "do": {
3704
- "name": "do",
3765
+ "findConversions": {
3766
+ "name": "findConversions",
3705
3767
  "async": true,
3706
3768
  "parameters": [
3707
3769
  {
3708
- "name": "instructions",
3770
+ "name": "propertyId",
3709
3771
  "type": "string",
3710
- "optional": false
3711
- },
3712
- {
3713
- "name": "options",
3714
- "type": "AiOperationOptions",
3715
3772
  "optional": true
3716
3773
  }
3717
3774
  ],
3718
- "returnType": "any",
3775
+ "returnType": "Promise<AnalyticsEvent[]>",
3719
3776
  "isStatic": false,
3720
3777
  "isPublic": true
3721
3778
  },
3722
- "describe": {
3723
- "name": "describe",
3779
+ "findPageviews": {
3780
+ "name": "findPageviews",
3724
3781
  "async": true,
3725
3782
  "parameters": [
3726
3783
  {
3727
- "name": "options",
3728
- "type": "AiOperationOptions",
3784
+ "name": "propertyId",
3785
+ "type": "string",
3729
3786
  "optional": true
3730
3787
  }
3731
3788
  ],
3732
- "returnType": "any",
3789
+ "returnType": "Promise<AnalyticsEvent[]>",
3733
3790
  "isStatic": false,
3734
3791
  "isPublic": true
3735
3792
  },
3736
- "delete": {
3737
- "name": "delete",
3793
+ "countByEventName": {
3794
+ "name": "countByEventName",
3738
3795
  "async": true,
3739
- "parameters": [],
3740
- "returnType": "Promise<void>",
3741
- "isStatic": false,
3742
- "isPublic": true
3743
- },
3744
- "isRelatedLoaded": {
3745
- "name": "isRelatedLoaded",
3746
- "async": false,
3747
3796
  "parameters": [
3748
3797
  {
3749
- "name": "fieldName",
3798
+ "name": "propertyId",
3750
3799
  "type": "string",
3751
3800
  "optional": false
3752
3801
  }
3753
3802
  ],
3754
- "returnType": "boolean",
3803
+ "returnType": "Promise<Map<string, number>>",
3755
3804
  "isStatic": false,
3756
3805
  "isPublic": true
3757
3806
  },
3758
- "_setLoadedRelationship": {
3759
- "name": "_setLoadedRelationship",
3760
- "async": false,
3807
+ "getPropertyStats": {
3808
+ "name": "getPropertyStats",
3809
+ "async": true,
3761
3810
  "parameters": [
3762
3811
  {
3763
- "name": "fieldName",
3812
+ "name": "propertyId",
3764
3813
  "type": "string",
3765
3814
  "optional": false
3766
- },
3767
- {
3768
- "name": "value",
3769
- "type": "any",
3770
- "optional": false
3771
3815
  }
3772
3816
  ],
3773
- "returnType": "void",
3817
+ "returnType": "Promise<object>",
3774
3818
  "isStatic": false,
3775
3819
  "isPublic": true
3776
3820
  },
3777
- "loadRelated": {
3778
- "name": "loadRelated",
3821
+ "getPropertyStatsWithTrend": {
3822
+ "name": "getPropertyStatsWithTrend",
3779
3823
  "async": true,
3780
3824
  "parameters": [
3781
3825
  {
3782
- "name": "fieldName",
3826
+ "name": "propertyId",
3783
3827
  "type": "string",
3784
3828
  "optional": false
3785
3829
  },
3786
3830
  {
3787
- "name": "opts",
3788
- "type": "LoadRelatedOptions",
3831
+ "name": "now",
3832
+ "type": "Date",
3789
3833
  "optional": true
3834
+ },
3835
+ {
3836
+ "name": "timeZone",
3837
+ "type": "string",
3838
+ "optional": true,
3839
+ "default": "UTC"
3790
3840
  }
3791
3841
  ],
3792
- "returnType": "Promise<any>",
3842
+ "returnType": "Promise<PropertyStatsWithTrend>",
3793
3843
  "isStatic": false,
3794
3844
  "isPublic": true
3795
3845
  },
3796
- "loadRelatedMany": {
3797
- "name": "loadRelatedMany",
3846
+ "getBatchPropertyStats": {
3847
+ "name": "getBatchPropertyStats",
3798
3848
  "async": true,
3799
3849
  "parameters": [
3800
3850
  {
3801
- "name": "fieldName",
3802
- "type": "string",
3851
+ "name": "propertyIds",
3852
+ "type": "string[]",
3803
3853
  "optional": false
3804
3854
  },
3805
3855
  {
3806
- "name": "opts",
3807
- "type": "LoadRelatedOptions",
3856
+ "name": "now",
3857
+ "type": "Date",
3808
3858
  "optional": true
3859
+ },
3860
+ {
3861
+ "name": "timeZone",
3862
+ "type": "string",
3863
+ "optional": true,
3864
+ "default": "UTC"
3809
3865
  }
3810
3866
  ],
3811
- "returnType": "Promise<any[]>",
3867
+ "returnType": "Promise<Map<string, PropertyStatsWithTrend>>",
3812
3868
  "isStatic": false,
3813
3869
  "isPublic": true
3870
+ }
3871
+ },
3872
+ "decoratorConfig": {},
3873
+ "extends": "SmrtCollection",
3874
+ "extendsTypeArg": "AnalyticsEvent",
3875
+ "exportName": "AnalyticsEventCollection",
3876
+ "collectionExportName": "AnalyticsEventCollectionCollection",
3877
+ "schema": {
3878
+ "tableName": "analytics_event_collections",
3879
+ "ddl": "CREATE TABLE IF NOT EXISTS \"analytics_event_collections\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp\n);",
3880
+ "columns": {
3881
+ "id": {
3882
+ "type": "UUID",
3883
+ "primaryKey": true,
3884
+ "referenceKind": "id",
3885
+ "notNull": true
3886
+ },
3887
+ "slug": {
3888
+ "type": "TEXT",
3889
+ "notNull": true
3890
+ },
3891
+ "context": {
3892
+ "type": "TEXT",
3893
+ "notNull": true,
3894
+ "default": ""
3895
+ },
3896
+ "created_at": {
3897
+ "type": "TIMESTAMP",
3898
+ "notNull": true,
3899
+ "default": "current_timestamp"
3900
+ },
3901
+ "updated_at": {
3902
+ "type": "TIMESTAMP",
3903
+ "notNull": true,
3904
+ "default": "current_timestamp"
3905
+ }
3814
3906
  },
3815
- "getRelated": {
3816
- "name": "getRelated",
3907
+ "indexes": [
3908
+ {
3909
+ "name": "analytics_event_collections_id_idx",
3910
+ "columns": [
3911
+ "id"
3912
+ ]
3913
+ },
3914
+ {
3915
+ "name": "analytics_event_collections_slug_context_idx",
3916
+ "columns": [
3917
+ "slug",
3918
+ "context"
3919
+ ],
3920
+ "unique": true
3921
+ }
3922
+ ],
3923
+ "version": "13d03b2a"
3924
+ }
3925
+ },
3926
+ "@happyvertical/smrt-analytics:AnalyticsPropertyCollection": {
3927
+ "name": "analyticspropertycollection",
3928
+ "className": "AnalyticsPropertyCollection",
3929
+ "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsPropertyCollection",
3930
+ "collection": "analyticsproperties",
3931
+ "filePath": "/home/runner/_work/smrt/smrt/packages/analytics/src/collections/AnalyticsPropertyCollection.ts",
3932
+ "packageName": "@happyvertical/smrt-analytics",
3933
+ "fields": {},
3934
+ "methods": {
3935
+ "findByExternalId": {
3936
+ "name": "findByExternalId",
3817
3937
  "async": true,
3818
3938
  "parameters": [
3819
3939
  {
3820
- "name": "fieldName",
3940
+ "name": "externalId",
3821
3941
  "type": "string",
3822
3942
  "optional": false
3823
- },
3824
- {
3825
- "name": "opts",
3826
- "type": "LoadRelatedOptions",
3827
- "optional": true
3828
3943
  }
3829
3944
  ],
3830
- "returnType": "Promise<any>",
3831
- "isStatic": false,
3832
- "isPublic": true
3833
- },
3834
- "getAvailableTools": {
3835
- "name": "getAvailableTools",
3836
- "async": false,
3837
- "parameters": [],
3838
- "returnType": "AITool[]",
3945
+ "returnType": "Promise<AnalyticsProperty | null>",
3839
3946
  "isStatic": false,
3840
3947
  "isPublic": true
3841
3948
  },
3842
- "executeToolCall": {
3843
- "name": "executeToolCall",
3949
+ "findByMeasurementId": {
3950
+ "name": "findByMeasurementId",
3844
3951
  "async": true,
3845
3952
  "parameters": [
3846
3953
  {
3847
- "name": "toolCall",
3848
- "type": "ToolCall",
3954
+ "name": "measurementId",
3955
+ "type": "string",
3849
3956
  "optional": false
3850
3957
  }
3851
3958
  ],
3852
- "returnType": "Promise<ToolCallResult>",
3959
+ "returnType": "Promise<AnalyticsProperty | null>",
3853
3960
  "isStatic": false,
3854
3961
  "isPublic": true
3855
3962
  },
3856
- "remember": {
3857
- "name": "remember",
3963
+ "findBySiteDomain": {
3964
+ "name": "findBySiteDomain",
3858
3965
  "async": true,
3859
3966
  "parameters": [
3860
3967
  {
3861
- "name": "options",
3862
- "type": "object",
3968
+ "name": "siteDomain",
3969
+ "type": "string",
3863
3970
  "optional": false
3864
- }
3865
- ],
3866
- "returnType": "Promise<void>",
3867
- "isStatic": false,
3868
- "isPublic": true
3869
- },
3870
- "recall": {
3871
- "name": "recall",
3872
- "async": true,
3873
- "parameters": [
3971
+ },
3874
3972
  {
3875
- "name": "options",
3876
- "type": "object",
3877
- "optional": false
3973
+ "name": "provider",
3974
+ "type": "AnalyticsProvider",
3975
+ "optional": true
3878
3976
  }
3879
3977
  ],
3880
- "returnType": "Promise",
3978
+ "returnType": "Promise<AnalyticsProperty | null>",
3881
3979
  "isStatic": false,
3882
3980
  "isPublic": true
3883
3981
  },
3884
- "recallAll": {
3885
- "name": "recallAll",
3982
+ "findByProvider": {
3983
+ "name": "findByProvider",
3886
3984
  "async": true,
3887
3985
  "parameters": [
3888
3986
  {
3889
- "name": "options",
3890
- "type": "object",
3891
- "optional": true
3987
+ "name": "provider",
3988
+ "type": "AnalyticsProvider",
3989
+ "optional": false
3892
3990
  }
3893
3991
  ],
3894
- "returnType": "Promise<Map<string>>",
3992
+ "returnType": "Promise<AnalyticsProperty[]>",
3895
3993
  "isStatic": false,
3896
3994
  "isPublic": true
3897
3995
  },
3898
- "forget": {
3899
- "name": "forget",
3996
+ "findGA4Properties": {
3997
+ "name": "findGA4Properties",
3900
3998
  "async": true,
3901
- "parameters": [
3902
- {
3903
- "name": "options",
3904
- "type": "object",
3905
- "optional": false
3906
- }
3907
- ],
3908
- "returnType": "Promise<void>",
3999
+ "parameters": [],
4000
+ "returnType": "Promise<AnalyticsProperty[]>",
3909
4001
  "isStatic": false,
3910
4002
  "isPublic": true
3911
4003
  },
3912
- "forgetScope": {
3913
- "name": "forgetScope",
4004
+ "findPlausibleSites": {
4005
+ "name": "findPlausibleSites",
3914
4006
  "async": true,
3915
- "parameters": [
3916
- {
3917
- "name": "options",
3918
- "type": "object",
3919
- "optional": false
3920
- }
3921
- ],
3922
- "returnType": "Promise<number>",
4007
+ "parameters": [],
4008
+ "returnType": "Promise<AnalyticsProperty[]>",
3923
4009
  "isStatic": false,
3924
4010
  "isPublic": true
3925
4011
  },
3926
- "generateEmbeddings": {
3927
- "name": "generateEmbeddings",
4012
+ "findMatomoSites": {
4013
+ "name": "findMatomoSites",
3928
4014
  "async": true,
3929
- "parameters": [
3930
- {
3931
- "name": "options",
3932
- "type": "GenerateEmbeddingsOptions",
3933
- "optional": true
3934
- }
3935
- ],
3936
- "returnType": "Promise<void>",
4015
+ "parameters": [],
4016
+ "returnType": "Promise<AnalyticsProperty[]>",
3937
4017
  "isStatic": false,
3938
4018
  "isPublic": true
3939
4019
  },
3940
- "getEmbedding": {
3941
- "name": "getEmbedding",
4020
+ "findByStatus": {
4021
+ "name": "findByStatus",
3942
4022
  "async": true,
3943
4023
  "parameters": [
3944
4024
  {
3945
- "name": "fieldName",
3946
- "type": "string",
4025
+ "name": "status",
4026
+ "type": "AnalyticsPropertyStatus",
3947
4027
  "optional": false
3948
- },
3949
- {
3950
- "name": "model",
3951
- "type": "string",
3952
- "optional": true
3953
4028
  }
3954
4029
  ],
3955
- "returnType": "Promise<number[] | null>",
4030
+ "returnType": "Promise<AnalyticsProperty[]>",
3956
4031
  "isStatic": false,
3957
4032
  "isPublic": true
3958
4033
  },
3959
- "hasStaleEmbeddings": {
3960
- "name": "hasStaleEmbeddings",
4034
+ "findActive": {
4035
+ "name": "findActive",
3961
4036
  "async": true,
3962
4037
  "parameters": [],
3963
- "returnType": "Promise<boolean>",
4038
+ "returnType": "Promise<AnalyticsProperty[]>",
3964
4039
  "isStatic": false,
3965
4040
  "isPublic": true
3966
4041
  },
3967
- "clearEmbeddings": {
3968
- "name": "clearEmbeddings",
4042
+ "findNeedingSync": {
4043
+ "name": "findNeedingSync",
3969
4044
  "async": true,
3970
- "parameters": [],
3971
- "returnType": "Promise<void>",
3972
- "isStatic": false,
3973
- "isPublic": true
3974
- },
3975
- "getDimensions": {
3976
- "name": "getDimensions",
3977
- "async": false,
3978
- "parameters": [],
3979
- "returnType": "Array<object>",
3980
- "isStatic": false,
3981
- "isPublic": true
3982
- },
3983
- "setDimensions": {
3984
- "name": "setDimensions",
3985
- "async": false,
3986
4045
  "parameters": [
3987
4046
  {
3988
- "name": "dimensions",
3989
- "type": "Array<object>",
3990
- "optional": false
4047
+ "name": "hoursAgo",
4048
+ "type": "number",
4049
+ "optional": true
3991
4050
  }
3992
4051
  ],
3993
- "returnType": "void",
3994
- "isStatic": false,
3995
- "isPublic": true
3996
- },
3997
- "getMetrics": {
3998
- "name": "getMetrics",
3999
- "async": false,
4000
- "parameters": [],
4001
- "returnType": "Array<object>",
4052
+ "returnType": "Promise<AnalyticsProperty[]>",
4002
4053
  "isStatic": false,
4003
4054
  "isPublic": true
4055
+ }
4056
+ },
4057
+ "decoratorConfig": {},
4058
+ "extends": "SmrtCollection",
4059
+ "extendsTypeArg": "AnalyticsProperty",
4060
+ "exportName": "AnalyticsPropertyCollection",
4061
+ "collectionExportName": "AnalyticsPropertyCollectionCollection",
4062
+ "schema": {
4063
+ "tableName": "analytics_property_collections",
4064
+ "ddl": "CREATE TABLE IF NOT EXISTS \"analytics_property_collections\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp\n);",
4065
+ "columns": {
4066
+ "id": {
4067
+ "type": "UUID",
4068
+ "primaryKey": true,
4069
+ "referenceKind": "id",
4070
+ "notNull": true
4071
+ },
4072
+ "slug": {
4073
+ "type": "TEXT",
4074
+ "notNull": true
4075
+ },
4076
+ "context": {
4077
+ "type": "TEXT",
4078
+ "notNull": true,
4079
+ "default": ""
4080
+ },
4081
+ "created_at": {
4082
+ "type": "TIMESTAMP",
4083
+ "notNull": true,
4084
+ "default": "current_timestamp"
4085
+ },
4086
+ "updated_at": {
4087
+ "type": "TIMESTAMP",
4088
+ "notNull": true,
4089
+ "default": "current_timestamp"
4090
+ }
4004
4091
  },
4005
- "setMetrics": {
4006
- "name": "setMetrics",
4007
- "async": false,
4092
+ "indexes": [
4093
+ {
4094
+ "name": "analytics_property_collections_id_idx",
4095
+ "columns": [
4096
+ "id"
4097
+ ]
4098
+ },
4099
+ {
4100
+ "name": "analytics_property_collections_slug_context_idx",
4101
+ "columns": [
4102
+ "slug",
4103
+ "context"
4104
+ ],
4105
+ "unique": true
4106
+ }
4107
+ ],
4108
+ "version": "a1c264b1"
4109
+ }
4110
+ },
4111
+ "@happyvertical/smrt-analytics:AnalyticsReportCollection": {
4112
+ "name": "analyticsreportcollection",
4113
+ "className": "AnalyticsReportCollection",
4114
+ "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsReportCollection",
4115
+ "collection": "analyticsreports",
4116
+ "filePath": "/home/runner/_work/smrt/smrt/packages/analytics/src/collections/AnalyticsReportCollection.ts",
4117
+ "packageName": "@happyvertical/smrt-analytics",
4118
+ "fields": {},
4119
+ "methods": {
4120
+ "findByProperty": {
4121
+ "name": "findByProperty",
4122
+ "async": true,
4008
4123
  "parameters": [
4009
4124
  {
4010
- "name": "metrics",
4011
- "type": "Array<object>",
4125
+ "name": "propertyId",
4126
+ "type": "string",
4012
4127
  "optional": false
4013
4128
  }
4014
4129
  ],
4015
- "returnType": "void",
4016
- "isStatic": false,
4017
- "isPublic": true
4018
- },
4019
- "getResultData": {
4020
- "name": "getResultData",
4021
- "async": false,
4022
- "parameters": [],
4023
- "returnType": "Record<string> | null",
4130
+ "returnType": "Promise<AnalyticsReport[]>",
4024
4131
  "isStatic": false,
4025
4132
  "isPublic": true
4026
4133
  },
4027
- "setResultData": {
4028
- "name": "setResultData",
4029
- "async": false,
4134
+ "findByStatus": {
4135
+ "name": "findByStatus",
4136
+ "async": true,
4030
4137
  "parameters": [
4031
4138
  {
4032
- "name": "data",
4033
- "type": "Record<string>",
4139
+ "name": "status",
4140
+ "type": "ReportStatus",
4034
4141
  "optional": false
4035
4142
  }
4036
4143
  ],
4037
- "returnType": "void",
4144
+ "returnType": "Promise<AnalyticsReport[]>",
4038
4145
  "isStatic": false,
4039
4146
  "isPublic": true
4040
4147
  },
4041
- "markRunning": {
4042
- "name": "markRunning",
4043
- "async": false,
4148
+ "findDrafts": {
4149
+ "name": "findDrafts",
4150
+ "async": true,
4044
4151
  "parameters": [],
4045
- "returnType": "void",
4152
+ "returnType": "Promise<AnalyticsReport[]>",
4046
4153
  "isStatic": false,
4047
4154
  "isPublic": true
4048
4155
  },
4049
- "markCompleted": {
4050
- "name": "markCompleted",
4051
- "async": false,
4052
- "parameters": [
4053
- {
4054
- "name": "rowCount",
4055
- "type": "number",
4056
- "optional": false
4057
- }
4058
- ],
4059
- "returnType": "void",
4156
+ "findScheduled": {
4157
+ "name": "findScheduled",
4158
+ "async": true,
4159
+ "parameters": [],
4160
+ "returnType": "Promise<AnalyticsReport[]>",
4060
4161
  "isStatic": false,
4061
4162
  "isPublic": true
4062
4163
  },
4063
- "markFailed": {
4064
- "name": "markFailed",
4065
- "async": false,
4164
+ "findCompleted": {
4165
+ "name": "findCompleted",
4166
+ "async": true,
4167
+ "parameters": [],
4168
+ "returnType": "Promise<AnalyticsReport[]>",
4169
+ "isStatic": false,
4170
+ "isPublic": true
4171
+ },
4172
+ "findFailed": {
4173
+ "name": "findFailed",
4174
+ "async": true,
4175
+ "parameters": [],
4176
+ "returnType": "Promise<AnalyticsReport[]>",
4177
+ "isStatic": false,
4178
+ "isPublic": true
4179
+ },
4180
+ "findByFrequency": {
4181
+ "name": "findByFrequency",
4182
+ "async": true,
4066
4183
  "parameters": [
4067
4184
  {
4068
- "name": "error",
4069
- "type": "string",
4185
+ "name": "frequency",
4186
+ "type": "ReportFrequency",
4070
4187
  "optional": false
4071
4188
  }
4072
4189
  ],
4073
- "returnType": "void",
4190
+ "returnType": "Promise<AnalyticsReport[]>",
4074
4191
  "isStatic": false,
4075
4192
  "isPublic": true
4076
4193
  },
4077
- "calculateNextRun": {
4078
- "name": "calculateNextRun",
4079
- "async": false,
4194
+ "findRecurring": {
4195
+ "name": "findRecurring",
4196
+ "async": true,
4080
4197
  "parameters": [],
4081
- "returnType": "void",
4198
+ "returnType": "Promise<AnalyticsReport[]>",
4082
4199
  "isStatic": false,
4083
4200
  "isPublic": true
4084
4201
  },
4085
- "isDue": {
4086
- "name": "isDue",
4087
- "async": false,
4202
+ "findDue": {
4203
+ "name": "findDue",
4204
+ "async": true,
4088
4205
  "parameters": [],
4089
- "returnType": "boolean",
4206
+ "returnType": "Promise<AnalyticsReport[]>",
4090
4207
  "isStatic": false,
4091
4208
  "isPublic": true
4092
4209
  },
4093
- "analyzeResults": {
4094
- "name": "analyzeResults",
4210
+ "findByPropertyAndStatus": {
4211
+ "name": "findByPropertyAndStatus",
4095
4212
  "async": true,
4096
4213
  "parameters": [
4097
4214
  {
4098
- "name": "_options",
4099
- "type": "Record<string>",
4100
- "optional": true
4215
+ "name": "propertyId",
4216
+ "type": "string",
4217
+ "optional": false
4218
+ },
4219
+ {
4220
+ "name": "status",
4221
+ "type": "ReportStatus",
4222
+ "optional": false
4101
4223
  }
4102
4224
  ],
4103
- "returnType": "Promise<object>",
4225
+ "returnType": "Promise<AnalyticsReport[]>",
4104
4226
  "isStatic": false,
4105
4227
  "isPublic": true
4106
4228
  },
4107
- "hasPositiveTrends": {
4108
- "name": "hasPositiveTrends",
4229
+ "findRecentlyRun": {
4230
+ "name": "findRecentlyRun",
4109
4231
  "async": true,
4110
- "parameters": [],
4111
- "returnType": "Promise<boolean>",
4232
+ "parameters": [
4233
+ {
4234
+ "name": "hoursAgo",
4235
+ "type": "number",
4236
+ "optional": true
4237
+ }
4238
+ ],
4239
+ "returnType": "Promise<AnalyticsReport[]>",
4112
4240
  "isStatic": false,
4113
4241
  "isPublic": true
4114
4242
  }
4115
4243
  },
4116
- "decoratorConfig": {
4117
- "tableStrategy": "sti",
4118
- "api": {
4119
- "include": [
4120
- "list",
4121
- "get",
4122
- "create",
4123
- "update",
4124
- "run"
4125
- ]
4126
- },
4127
- "mcp": {
4128
- "include": [
4129
- "list",
4130
- "get",
4131
- "run",
4132
- "analyze"
4133
- ]
4134
- },
4135
- "cli": true,
4136
- "tenantScoped": {
4137
- "mode": "optional"
4138
- }
4139
- },
4140
- "extends": "SmrtObject",
4141
- "exportName": "AnalyticsReport",
4142
- "collectionExportName": "AnalyticsReportCollection",
4244
+ "decoratorConfig": {},
4245
+ "extends": "SmrtCollection",
4246
+ "extendsTypeArg": "AnalyticsReport",
4247
+ "exportName": "AnalyticsReportCollection",
4248
+ "collectionExportName": "AnalyticsReportCollectionCollection",
4143
4249
  "schema": {
4144
- "tableName": "analytics_reports",
4145
- "ddl": "CREATE TABLE IF NOT EXISTS \"analytics_reports\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"_meta_type\" TEXT NOT NULL,\n \"_meta_data\" JSON,\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"tenant_id\" UUID,\n \"property_id\" UUID,\n \"name\" TEXT DEFAULT '',\n \"description\" TEXT DEFAULT '',\n \"dimensions\" TEXT DEFAULT '[]',\n \"metrics\" TEXT DEFAULT '[]',\n \"date_range_start\" TEXT DEFAULT '7daysAgo',\n \"date_range_end\" TEXT DEFAULT 'today',\n \"dimension_filter\" TEXT DEFAULT '',\n \"metric_filter\" TEXT DEFAULT '',\n \"order_by\" TEXT DEFAULT '[]',\n \"max_results\" INTEGER DEFAULT 0,\n \"status\" TEXT,\n \"frequency\" TEXT,\n \"last_run_at\" TIMESTAMP,\n \"next_run_at\" TIMESTAMP,\n \"result_data\" TEXT DEFAULT '',\n \"row_count\" INTEGER DEFAULT 0,\n \"last_error\" TEXT DEFAULT ''\n);",
4250
+ "tableName": "analytics_report_collections",
4251
+ "ddl": "CREATE TABLE IF NOT EXISTS \"analytics_report_collections\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp\n);",
4146
4252
  "columns": {
4147
4253
  "id": {
4148
4254
  "type": "UUID",
@@ -4159,14 +4265,6 @@
4159
4265
  "notNull": true,
4160
4266
  "default": ""
4161
4267
  },
4162
- "_meta_type": {
4163
- "type": "TEXT",
4164
- "notNull": true
4165
- },
4166
- "_meta_data": {
4167
- "type": "JSON",
4168
- "notNull": false
4169
- },
4170
4268
  "created_at": {
4171
4269
  "type": "TIMESTAMP",
4172
4270
  "notNull": true,
@@ -4176,123 +4274,25 @@
4176
4274
  "type": "TIMESTAMP",
4177
4275
  "notNull": true,
4178
4276
  "default": "current_timestamp"
4179
- },
4180
- "tenant_id": {
4181
- "type": "UUID",
4182
- "referenceKind": "tenantId",
4183
- "notNull": false
4184
- },
4185
- "property_id": {
4186
- "type": "UUID",
4187
- "referenceKind": "foreignKey",
4188
- "notNull": false
4189
- },
4190
- "name": {
4191
- "type": "TEXT",
4192
- "notNull": false,
4193
- "default": ""
4194
- },
4195
- "description": {
4196
- "type": "TEXT",
4197
- "notNull": false,
4198
- "default": ""
4199
- },
4200
- "dimensions": {
4201
- "type": "TEXT",
4202
- "notNull": false,
4203
- "default": "[]"
4204
- },
4205
- "metrics": {
4206
- "type": "TEXT",
4207
- "notNull": false,
4208
- "default": "[]"
4209
- },
4210
- "date_range_start": {
4211
- "type": "TEXT",
4212
- "notNull": false,
4213
- "default": "7daysAgo"
4214
- },
4215
- "date_range_end": {
4216
- "type": "TEXT",
4217
- "notNull": false,
4218
- "default": "today"
4219
- },
4220
- "dimension_filter": {
4221
- "type": "TEXT",
4222
- "notNull": false,
4223
- "default": ""
4224
- },
4225
- "metric_filter": {
4226
- "type": "TEXT",
4227
- "notNull": false,
4228
- "default": ""
4229
- },
4230
- "order_by": {
4231
- "type": "TEXT",
4232
- "notNull": false,
4233
- "default": "[]"
4234
- },
4235
- "max_results": {
4236
- "type": "INTEGER",
4237
- "notNull": false,
4238
- "default": 0
4239
- },
4240
- "status": {
4241
- "type": "TEXT",
4242
- "notNull": false
4243
- },
4244
- "frequency": {
4245
- "type": "TEXT",
4246
- "notNull": false
4247
- },
4248
- "last_run_at": {
4249
- "type": "TIMESTAMP",
4250
- "notNull": false
4251
- },
4252
- "next_run_at": {
4253
- "type": "TIMESTAMP",
4254
- "notNull": false
4255
- },
4256
- "result_data": {
4257
- "type": "TEXT",
4258
- "notNull": false,
4259
- "default": ""
4260
- },
4261
- "row_count": {
4262
- "type": "INTEGER",
4263
- "notNull": false,
4264
- "default": 0
4265
- },
4266
- "last_error": {
4267
- "type": "TEXT",
4268
- "notNull": false,
4269
- "default": ""
4270
4277
  }
4271
4278
  },
4272
4279
  "indexes": [
4273
4280
  {
4274
- "name": "analytics_reports_id_idx",
4281
+ "name": "analytics_report_collections_id_idx",
4275
4282
  "columns": [
4276
4283
  "id"
4277
4284
  ]
4278
4285
  },
4279
4286
  {
4280
- "name": "analytics_reports_slug_context_meta_type_idx",
4287
+ "name": "analytics_report_collections_slug_context_idx",
4281
4288
  "columns": [
4282
4289
  "slug",
4283
- "context",
4284
- "_meta_type"
4290
+ "context"
4285
4291
  ],
4286
4292
  "unique": true
4287
- },
4288
- {
4289
- "name": "analytics_reports_meta_type_idx",
4290
- "columns": [
4291
- "_meta_type"
4292
- ]
4293
4293
  }
4294
4294
  ],
4295
- "version": "cecde8c6"
4295
+ "version": "74445ee1"
4296
4296
  }
4297
4297
  }
4298
4298
  },