@happyvertical/smrt-analytics 0.40.70 → 0.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,12 +3,12 @@
3
3
  "sensitiveFieldsExcluded": true,
4
4
  "generatedAt": "1970-01-01T00:00:00.000Z",
5
5
  "packageName": "@happyvertical/smrt-analytics",
6
- "packageVersion": "0.40.70",
6
+ "packageVersion": "0.41.0",
7
7
  "sourceManifestPath": "dist/manifest.json",
8
8
  "agentDocPath": "AGENTS.md",
9
9
  "sourceHashes": {
10
- "manifest": "f014830a52be4975772b196f331644b5b7fb4c83073d4e9239304467dd1e4dc6",
11
- "packageJson": "c9038d2d754f76db397126b782281c8f185c651528756c806617ba148b8852d5",
10
+ "manifest": "84ec1b513fd5582d08572fb138795640abf81b6504eb903ac24ce5ed93b62e6f",
11
+ "packageJson": "aa38c2c2ea527ee95133364d4298cb43c675014f45e07fb49244528454942568",
12
12
  "agents": "baaeb44320f95dc5dc86925318e791369681ad80acfbb82a0f667f2aed0e511c"
13
13
  },
14
14
  "exports": [
@@ -51,484 +51,550 @@
51
51
  "risks": [],
52
52
  "objects": [
53
53
  {
54
- "name": "AnalyticsDataStreamCollection",
55
- "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsDataStreamCollection",
54
+ "name": "AnalyticsDataStream",
55
+ "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsDataStream",
56
56
  "collection": "analyticsdatastreams",
57
- "tableName": "analytics_data_stream_collections",
57
+ "tableName": "analytics_data_streams",
58
58
  "packageName": "@happyvertical/smrt-analytics",
59
- "extends": "SmrtCollection",
60
- "fields": [],
61
- "relationships": [],
59
+ "extends": "SmrtObject",
60
+ "fields": [
61
+ {
62
+ "name": "created_at",
63
+ "type": "datetime",
64
+ "required": false,
65
+ "columnType": "TIMESTAMP"
66
+ },
67
+ {
68
+ "name": "updated_at",
69
+ "type": "datetime",
70
+ "required": false,
71
+ "columnType": "TIMESTAMP"
72
+ },
73
+ {
74
+ "name": "tenantId",
75
+ "type": "text",
76
+ "required": false,
77
+ "columnType": "UUID"
78
+ },
79
+ {
80
+ "name": "propertyId",
81
+ "type": "foreignKey",
82
+ "required": false,
83
+ "related": "AnalyticsProperty",
84
+ "columnType": "UUID"
85
+ },
86
+ {
87
+ "name": "displayName",
88
+ "type": "text",
89
+ "required": false,
90
+ "columnType": "TEXT",
91
+ "default": ""
92
+ },
93
+ {
94
+ "name": "streamType",
95
+ "type": "text",
96
+ "required": false,
97
+ "columnType": "TEXT"
98
+ },
99
+ {
100
+ "name": "externalId",
101
+ "type": "text",
102
+ "required": false,
103
+ "columnType": "TEXT",
104
+ "default": ""
105
+ },
106
+ {
107
+ "name": "measurementId",
108
+ "type": "text",
109
+ "required": false,
110
+ "columnType": "TEXT",
111
+ "default": ""
112
+ },
113
+ {
114
+ "name": "firebaseAppId",
115
+ "type": "text",
116
+ "required": false,
117
+ "columnType": "TEXT",
118
+ "default": ""
119
+ },
120
+ {
121
+ "name": "defaultUri",
122
+ "type": "text",
123
+ "required": false,
124
+ "columnType": "TEXT",
125
+ "default": ""
126
+ },
127
+ {
128
+ "name": "bundleId",
129
+ "type": "text",
130
+ "required": false,
131
+ "columnType": "TEXT",
132
+ "default": ""
133
+ },
134
+ {
135
+ "name": "packageName",
136
+ "type": "text",
137
+ "required": false,
138
+ "columnType": "TEXT",
139
+ "default": ""
140
+ },
141
+ {
142
+ "name": "status",
143
+ "type": "text",
144
+ "required": false,
145
+ "columnType": "TEXT"
146
+ },
147
+ {
148
+ "name": "enhancedMeasurement",
149
+ "type": "boolean",
150
+ "required": false,
151
+ "columnType": "BOOLEAN",
152
+ "default": true
153
+ }
154
+ ],
155
+ "relationships": [
156
+ {
157
+ "name": "propertyId",
158
+ "type": "foreignKey",
159
+ "required": false,
160
+ "related": "AnalyticsProperty",
161
+ "columnType": "UUID"
162
+ }
163
+ ],
62
164
  "methods": [
63
- "findActive",
64
- "findActiveByProperty",
65
- "findAndroidStreams",
66
- "findByExternalId",
67
- "findByMeasurementId",
68
- "findByProperty",
69
- "findByStatus",
70
- "findByType",
71
- "findIOSStreams",
72
- "findMobileStreams",
73
- "findWebStreams"
165
+ "_setLoadedRelationship",
166
+ "classifyConstraintError",
167
+ "clearEmbeddings",
168
+ "delete",
169
+ "describe",
170
+ "destroy",
171
+ "do",
172
+ "executeToolCall",
173
+ "forget",
174
+ "forgetScope",
175
+ "generateEmbeddings",
176
+ "getAiUsageSnapshot",
177
+ "getAvailableTools",
178
+ "getEmbedding",
179
+ "getFields",
180
+ "getId",
181
+ "getPlatformId",
182
+ "getRelated",
183
+ "getSavedId",
184
+ "getSlug",
185
+ "hasStaleEmbeddings",
186
+ "initialize",
187
+ "is",
188
+ "isAndroid",
189
+ "isIOS",
190
+ "isMobileApp",
191
+ "isRelatedLoaded",
192
+ "isSaved",
193
+ "isWeb",
194
+ "listAiUsage",
195
+ "loadDataFromDb",
196
+ "loadFromId",
197
+ "loadFromSlug",
198
+ "loadRelated",
199
+ "loadRelatedMany",
200
+ "markAsPersisted",
201
+ "recall",
202
+ "recallAll",
203
+ "remember",
204
+ "requireInsertOnSave",
205
+ "resetAiUsage",
206
+ "save",
207
+ "summarizeAiUsage",
208
+ "toJSON",
209
+ "toPlainObject",
210
+ "toPublicJSON"
74
211
  ],
75
212
  "methodSignatures": [
76
213
  {
77
- "name": "findActive",
78
- "async": true,
79
- "returns": "Promise<AnalyticsDataStream[]>"
214
+ "name": "_setLoadedRelationship",
215
+ "params": [
216
+ "fieldName: string",
217
+ "value: any"
218
+ ],
219
+ "returns": "void"
80
220
  },
81
221
  {
82
- "name": "findActiveByProperty",
83
- "async": true,
222
+ "name": "classifyConstraintError",
223
+ "static": true,
84
224
  "params": [
85
- "propertyId: string"
225
+ "message: string"
86
226
  ],
87
- "returns": "Promise<AnalyticsDataStream[]>"
227
+ "returns": "'unique' | 'not_null' | null"
88
228
  },
89
229
  {
90
- "name": "findAndroidStreams",
230
+ "name": "clearEmbeddings",
91
231
  "async": true,
92
- "returns": "Promise<AnalyticsDataStream[]>"
232
+ "returns": "Promise<void>"
93
233
  },
94
234
  {
95
- "name": "findByExternalId",
235
+ "name": "delete",
236
+ "async": true,
237
+ "returns": "Promise<void>"
238
+ },
239
+ {
240
+ "name": "describe",
96
241
  "async": true,
97
242
  "params": [
98
- "externalId: string"
243
+ "options?: AiOperationOptions"
99
244
  ],
100
- "returns": "Promise<AnalyticsDataStream | null>"
245
+ "returns": "any"
101
246
  },
102
247
  {
103
- "name": "findByMeasurementId",
248
+ "name": "destroy",
249
+ "returns": "void"
250
+ },
251
+ {
252
+ "name": "do",
104
253
  "async": true,
105
254
  "params": [
106
- "measurementId: string"
255
+ "instructions: string",
256
+ "options?: AiOperationOptions"
107
257
  ],
108
- "returns": "Promise<AnalyticsDataStream | null>"
258
+ "returns": "any"
109
259
  },
110
260
  {
111
- "name": "findByProperty",
261
+ "name": "executeToolCall",
112
262
  "async": true,
113
263
  "params": [
114
- "propertyId: string"
264
+ "toolCall: ToolCall"
115
265
  ],
116
- "returns": "Promise<AnalyticsDataStream[]>"
266
+ "returns": "Promise<ToolCallResult>"
117
267
  },
118
268
  {
119
- "name": "findByStatus",
269
+ "name": "forget",
120
270
  "async": true,
121
271
  "params": [
122
- "status: DataStreamStatus"
272
+ "options: object"
123
273
  ],
124
- "returns": "Promise<AnalyticsDataStream[]>"
274
+ "returns": "Promise<void>"
125
275
  },
126
276
  {
127
- "name": "findByType",
277
+ "name": "forgetScope",
128
278
  "async": true,
129
279
  "params": [
130
- "streamType: DataStreamType"
280
+ "options: object"
131
281
  ],
132
- "returns": "Promise<AnalyticsDataStream[]>"
282
+ "returns": "Promise<number>"
133
283
  },
134
284
  {
135
- "name": "findIOSStreams",
285
+ "name": "generateEmbeddings",
136
286
  "async": true,
137
- "returns": "Promise<AnalyticsDataStream[]>"
287
+ "params": [
288
+ "options?: GenerateEmbeddingsOptions"
289
+ ],
290
+ "returns": "Promise<void>"
138
291
  },
139
292
  {
140
- "name": "findMobileStreams",
141
- "async": true,
142
- "returns": "Promise<AnalyticsDataStream[]>"
293
+ "name": "getAiUsageSnapshot",
294
+ "returns": "AiUsageSnapshot | undefined"
143
295
  },
144
296
  {
145
- "name": "findWebStreams",
146
- "async": true,
147
- "returns": "Promise<AnalyticsDataStream[]>"
148
- }
149
- ],
150
- "surfaces": [],
151
- "relationshipFeatures": [
152
- "uuidColumns"
153
- ],
154
- "tags": [],
155
- "risks": []
156
- },
157
- {
158
- "name": "AnalyticsEventCollection",
159
- "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsEventCollection",
160
- "collection": "analyticsevents",
161
- "tableName": "analytics_event_collections",
162
- "packageName": "@happyvertical/smrt-analytics",
163
- "extends": "SmrtCollection",
164
- "fields": [],
165
- "relationships": [],
166
- "methods": [
167
- "countByEventName",
168
- "findByClientId",
169
- "findByDateRange",
170
- "findByEventName",
171
- "findByProperty",
172
- "findByStatus",
173
- "findByUserId",
174
- "findConversions",
175
- "findFailed",
176
- "findForRetry",
177
- "findPageviews",
178
- "findPending",
179
- "findPendingByProperty",
180
- "findSent",
181
- "getBatchPropertyStats",
182
- "getPropertyStats",
183
- "getPropertyStatsWithTrend"
184
- ],
185
- "methodSignatures": [
186
- {
187
- "name": "countByEventName",
297
+ "name": "getAvailableTools",
298
+ "returns": "AITool[]"
299
+ },
300
+ {
301
+ "name": "getEmbedding",
188
302
  "async": true,
189
303
  "params": [
190
- "propertyId: string"
304
+ "fieldName: string",
305
+ "model?: string"
191
306
  ],
192
- "returns": "Promise<Map<string, number>>"
307
+ "returns": "Promise<number[] | null>"
193
308
  },
194
309
  {
195
- "name": "findByClientId",
310
+ "name": "getFields",
196
311
  "async": true,
197
- "params": [
198
- "clientId: string"
199
- ],
200
- "returns": "Promise<AnalyticsEvent[]>"
312
+ "returns": "Promise<any>"
201
313
  },
202
314
  {
203
- "name": "findByDateRange",
315
+ "name": "getId",
204
316
  "async": true,
205
- "params": [
206
- "startDate: Date",
207
- "endDate: Date"
208
- ],
209
- "returns": "Promise<AnalyticsEvent[]>"
317
+ "returns": "any"
210
318
  },
211
319
  {
212
- "name": "findByEventName",
213
- "async": true,
214
- "params": [
215
- "eventName: string"
216
- ],
217
- "returns": "Promise<AnalyticsEvent[]>"
320
+ "name": "getPlatformId",
321
+ "returns": "string"
218
322
  },
219
323
  {
220
- "name": "findByProperty",
324
+ "name": "getRelated",
221
325
  "async": true,
222
326
  "params": [
223
- "propertyId: string"
327
+ "fieldName: string",
328
+ "opts?: LoadRelatedOptions"
224
329
  ],
225
- "returns": "Promise<AnalyticsEvent[]>"
330
+ "returns": "Promise<any>"
226
331
  },
227
332
  {
228
- "name": "findByStatus",
333
+ "name": "getSavedId",
229
334
  "async": true,
230
- "params": [
231
- "status: TrackingEventStatus"
232
- ],
233
- "returns": "Promise<AnalyticsEvent[]>"
335
+ "returns": "any"
234
336
  },
235
337
  {
236
- "name": "findByUserId",
338
+ "name": "getSlug",
237
339
  "async": true,
238
- "params": [
239
- "userId: string"
240
- ],
241
- "returns": "Promise<AnalyticsEvent[]>"
340
+ "returns": "any"
242
341
  },
243
342
  {
244
- "name": "findConversions",
343
+ "name": "hasStaleEmbeddings",
245
344
  "async": true,
246
- "params": [
247
- "propertyId?: string"
248
- ],
249
- "returns": "Promise<AnalyticsEvent[]>"
345
+ "returns": "Promise<boolean>"
250
346
  },
251
347
  {
252
- "name": "findFailed",
348
+ "name": "initialize",
253
349
  "async": true,
254
- "returns": "Promise<AnalyticsEvent[]>"
350
+ "returns": "Promise"
255
351
  },
256
352
  {
257
- "name": "findForRetry",
353
+ "name": "is",
258
354
  "async": true,
259
355
  "params": [
260
- "maxRetries?: number"
356
+ "criteria: string",
357
+ "options?: AiOperationOptions"
261
358
  ],
262
- "returns": "Promise<AnalyticsEvent[]>"
359
+ "returns": "any"
263
360
  },
264
361
  {
265
- "name": "findPageviews",
266
- "async": true,
267
- "params": [
268
- "propertyId?: string"
269
- ],
270
- "returns": "Promise<AnalyticsEvent[]>"
362
+ "name": "isAndroid",
363
+ "returns": "boolean"
271
364
  },
272
365
  {
273
- "name": "findPending",
274
- "async": true,
275
- "returns": "Promise<AnalyticsEvent[]>"
366
+ "name": "isIOS",
367
+ "returns": "boolean"
276
368
  },
277
369
  {
278
- "name": "findPendingByProperty",
279
- "async": true,
370
+ "name": "isMobileApp",
371
+ "returns": "boolean"
372
+ },
373
+ {
374
+ "name": "isRelatedLoaded",
280
375
  "params": [
281
- "propertyId: string"
376
+ "fieldName: string"
282
377
  ],
283
- "returns": "Promise<AnalyticsEvent[]>"
378
+ "returns": "boolean"
284
379
  },
285
380
  {
286
- "name": "findSent",
381
+ "name": "isSaved",
287
382
  "async": true,
288
- "returns": "Promise<AnalyticsEvent[]>"
383
+ "returns": "any"
289
384
  },
290
385
  {
291
- "name": "getBatchPropertyStats",
386
+ "name": "isWeb",
387
+ "returns": "boolean"
388
+ },
389
+ {
390
+ "name": "listAiUsage",
292
391
  "async": true,
293
392
  "params": [
294
- "propertyIds: string[]",
295
- "now?: Date",
296
- "timeZone?: string"
393
+ "options?: AiUsageListOptions"
297
394
  ],
298
- "returns": "Promise<Map<string, PropertyStatsWithTrend>>"
395
+ "returns": "Promise<SmrtAiUsageRecord[]>"
299
396
  },
300
397
  {
301
- "name": "getPropertyStats",
398
+ "name": "loadDataFromDb",
302
399
  "async": true,
303
400
  "params": [
304
- "propertyId: string"
401
+ "data: Record<string>"
305
402
  ],
306
- "returns": "Promise<object>"
403
+ "returns": "any"
307
404
  },
308
405
  {
309
- "name": "getPropertyStatsWithTrend",
406
+ "name": "loadFromId",
310
407
  "async": true,
311
- "params": [
312
- "propertyId: string",
313
- "now?: Date",
314
- "timeZone?: string"
315
- ],
316
- "returns": "Promise<PropertyStatsWithTrend>"
317
- }
318
- ],
319
- "surfaces": [],
320
- "relationshipFeatures": [
321
- "uuidColumns"
322
- ],
323
- "tags": [],
324
- "risks": []
325
- },
326
- {
327
- "name": "AnalyticsPropertyCollection",
328
- "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsPropertyCollection",
329
- "collection": "analyticsproperties",
330
- "tableName": "analytics_property_collections",
331
- "packageName": "@happyvertical/smrt-analytics",
332
- "extends": "SmrtCollection",
333
- "fields": [],
334
- "relationships": [],
335
- "methods": [
336
- "findActive",
337
- "findByExternalId",
338
- "findByMeasurementId",
339
- "findByProvider",
340
- "findBySiteDomain",
341
- "findByStatus",
342
- "findGA4Properties",
343
- "findMatomoSites",
344
- "findNeedingSync",
345
- "findPlausibleSites"
346
- ],
347
- "methodSignatures": [
408
+ "returns": "any"
409
+ },
348
410
  {
349
- "name": "findActive",
411
+ "name": "loadFromSlug",
350
412
  "async": true,
351
- "returns": "Promise<AnalyticsProperty[]>"
413
+ "returns": "any"
352
414
  },
353
415
  {
354
- "name": "findByExternalId",
416
+ "name": "loadRelated",
355
417
  "async": true,
356
418
  "params": [
357
- "externalId: string"
419
+ "fieldName: string",
420
+ "opts?: LoadRelatedOptions"
358
421
  ],
359
- "returns": "Promise<AnalyticsProperty | null>"
422
+ "returns": "Promise<any>"
360
423
  },
361
424
  {
362
- "name": "findByMeasurementId",
425
+ "name": "loadRelatedMany",
363
426
  "async": true,
364
427
  "params": [
365
- "measurementId: string"
428
+ "fieldName: string",
429
+ "opts?: LoadRelatedOptions"
366
430
  ],
367
- "returns": "Promise<AnalyticsProperty | null>"
431
+ "returns": "Promise<any[]>"
368
432
  },
369
433
  {
370
- "name": "findByProvider",
434
+ "name": "markAsPersisted",
435
+ "returns": "void"
436
+ },
437
+ {
438
+ "name": "recall",
371
439
  "async": true,
372
440
  "params": [
373
- "provider: AnalyticsProvider"
441
+ "options: object"
374
442
  ],
375
- "returns": "Promise<AnalyticsProperty[]>"
443
+ "returns": "Promise"
376
444
  },
377
445
  {
378
- "name": "findBySiteDomain",
446
+ "name": "recallAll",
379
447
  "async": true,
380
448
  "params": [
381
- "siteDomain: string",
382
- "provider?: AnalyticsProvider"
449
+ "options?: object"
383
450
  ],
384
- "returns": "Promise<AnalyticsProperty | null>"
451
+ "returns": "Promise<Map<string>>"
385
452
  },
386
453
  {
387
- "name": "findByStatus",
454
+ "name": "remember",
388
455
  "async": true,
389
456
  "params": [
390
- "status: AnalyticsPropertyStatus"
457
+ "options: object"
391
458
  ],
392
- "returns": "Promise<AnalyticsProperty[]>"
459
+ "returns": "Promise<void>"
393
460
  },
394
461
  {
395
- "name": "findGA4Properties",
396
- "async": true,
397
- "returns": "Promise<AnalyticsProperty[]>"
462
+ "name": "requireInsertOnSave",
463
+ "returns": "void"
398
464
  },
399
465
  {
400
- "name": "findMatomoSites",
466
+ "name": "resetAiUsage",
467
+ "returns": "void"
468
+ },
469
+ {
470
+ "name": "save",
401
471
  "async": true,
402
- "returns": "Promise<AnalyticsProperty[]>"
472
+ "returns": "any"
403
473
  },
404
474
  {
405
- "name": "findNeedingSync",
475
+ "name": "summarizeAiUsage",
406
476
  "async": true,
407
477
  "params": [
408
- "hoursAgo?: number"
478
+ "options?: AiUsageSummaryOptions"
409
479
  ],
410
- "returns": "Promise<AnalyticsProperty[]>"
480
+ "returns": "Promise<Record<string, AiUsageStats>>"
411
481
  },
412
482
  {
413
- "name": "findPlausibleSites",
414
- "async": true,
415
- "returns": "Promise<AnalyticsProperty[]>"
416
- }
417
- ],
418
- "surfaces": [],
419
- "relationshipFeatures": [
420
- "uuidColumns"
421
- ],
422
- "tags": [],
423
- "risks": []
424
- },
425
- {
426
- "name": "AnalyticsReportCollection",
427
- "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsReportCollection",
428
- "collection": "analyticsreports",
429
- "tableName": "analytics_report_collections",
430
- "packageName": "@happyvertical/smrt-analytics",
431
- "extends": "SmrtCollection",
432
- "fields": [],
433
- "relationships": [],
434
- "methods": [
435
- "findByFrequency",
436
- "findByProperty",
437
- "findByPropertyAndStatus",
438
- "findByStatus",
439
- "findCompleted",
440
- "findDrafts",
441
- "findDue",
442
- "findFailed",
443
- "findRecentlyRun",
444
- "findRecurring",
445
- "findScheduled"
446
- ],
447
- "methodSignatures": [
483
+ "name": "toJSON",
484
+ "returns": "any"
485
+ },
448
486
  {
449
- "name": "findByFrequency",
450
- "async": true,
451
- "params": [
452
- "frequency: ReportFrequency"
453
- ],
454
- "returns": "Promise<AnalyticsReport[]>"
487
+ "name": "toPlainObject",
488
+ "returns": "Record<string>"
455
489
  },
456
490
  {
457
- "name": "findByProperty",
458
- "async": true,
491
+ "name": "toPublicJSON",
459
492
  "params": [
460
- "propertyId: string"
493
+ "options?: PublicJsonOptions"
461
494
  ],
462
- "returns": "Promise<AnalyticsReport[]>"
495
+ "returns": "Record<string>"
496
+ }
497
+ ],
498
+ "tenant": {
499
+ "scoped": true,
500
+ "mode": "optional",
501
+ "field": "tenantId"
502
+ },
503
+ "tableStrategy": "sti",
504
+ "conflictColumns": [
505
+ "tenant_id",
506
+ "slug",
507
+ "context",
508
+ "_meta_type"
509
+ ],
510
+ "surfaces": [
511
+ {
512
+ "kind": "api",
513
+ "name": "analyticsdatastreams.list",
514
+ "operation": "list",
515
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream",
516
+ "path": "/analyticsdatastreams",
517
+ "method": "GET"
463
518
  },
464
519
  {
465
- "name": "findByPropertyAndStatus",
466
- "async": true,
467
- "params": [
468
- "propertyId: string",
469
- "status: ReportStatus"
470
- ],
471
- "returns": "Promise<AnalyticsReport[]>"
520
+ "kind": "api",
521
+ "name": "analyticsdatastreams.get",
522
+ "operation": "get",
523
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream",
524
+ "path": "/analyticsdatastreams/[id]",
525
+ "method": "GET"
472
526
  },
473
527
  {
474
- "name": "findByStatus",
475
- "async": true,
476
- "params": [
477
- "status: ReportStatus"
478
- ],
479
- "returns": "Promise<AnalyticsReport[]>"
528
+ "kind": "api",
529
+ "name": "analyticsdatastreams.create",
530
+ "operation": "create",
531
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream",
532
+ "path": "/analyticsdatastreams",
533
+ "method": "POST"
480
534
  },
481
535
  {
482
- "name": "findCompleted",
483
- "async": true,
484
- "returns": "Promise<AnalyticsReport[]>"
536
+ "kind": "api",
537
+ "name": "analyticsdatastreams.update",
538
+ "operation": "update",
539
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream",
540
+ "path": "/analyticsdatastreams/[id]",
541
+ "method": "PATCH"
485
542
  },
486
543
  {
487
- "name": "findDrafts",
488
- "async": true,
489
- "returns": "Promise<AnalyticsReport[]>"
544
+ "kind": "cli",
545
+ "name": "analyticsdatastream_list",
546
+ "operation": "list",
547
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream"
490
548
  },
491
549
  {
492
- "name": "findDue",
493
- "async": true,
494
- "returns": "Promise<AnalyticsReport[]>"
550
+ "kind": "cli",
551
+ "name": "analyticsdatastream_get",
552
+ "operation": "get",
553
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream"
495
554
  },
496
555
  {
497
- "name": "findFailed",
498
- "async": true,
499
- "returns": "Promise<AnalyticsReport[]>"
556
+ "kind": "cli",
557
+ "name": "analyticsdatastream_create",
558
+ "operation": "create",
559
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream"
500
560
  },
501
561
  {
502
- "name": "findRecentlyRun",
503
- "async": true,
504
- "params": [
505
- "hoursAgo?: number"
506
- ],
507
- "returns": "Promise<AnalyticsReport[]>"
562
+ "kind": "cli",
563
+ "name": "analyticsdatastream_update",
564
+ "operation": "update",
565
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream"
508
566
  },
509
567
  {
510
- "name": "findRecurring",
511
- "async": true,
512
- "returns": "Promise<AnalyticsReport[]>"
568
+ "kind": "cli",
569
+ "name": "analyticsdatastream_delete",
570
+ "operation": "delete",
571
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream"
513
572
  },
514
573
  {
515
- "name": "findScheduled",
516
- "async": true,
517
- "returns": "Promise<AnalyticsReport[]>"
574
+ "kind": "mcp",
575
+ "name": "analyticsdatastream_list",
576
+ "operation": "list",
577
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream"
578
+ },
579
+ {
580
+ "kind": "mcp",
581
+ "name": "analyticsdatastream_get",
582
+ "operation": "get",
583
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream"
518
584
  }
519
585
  ],
520
- "surfaces": [],
521
586
  "relationshipFeatures": [
587
+ "foreignKey",
522
588
  "uuidColumns"
523
589
  ],
524
590
  "tags": [],
525
591
  "risks": []
526
592
  },
527
593
  {
528
- "name": "AnalyticsDataStream",
529
- "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsDataStream",
530
- "collection": "analyticsdatastreams",
531
- "tableName": "analytics_data_streams",
594
+ "name": "AnalyticsEvent",
595
+ "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsEvent",
596
+ "collection": "analyticsevents",
597
+ "tableName": "analytics_events",
532
598
  "packageName": "@happyvertical/smrt-analytics",
533
599
  "extends": "SmrtObject",
534
600
  "fields": [
@@ -558,72 +624,106 @@
558
624
  "columnType": "UUID"
559
625
  },
560
626
  {
561
- "name": "displayName",
627
+ "name": "eventName",
562
628
  "type": "text",
563
629
  "required": false,
564
630
  "columnType": "TEXT",
565
631
  "default": ""
566
632
  },
567
633
  {
568
- "name": "streamType",
634
+ "name": "clientId",
569
635
  "type": "text",
570
636
  "required": false,
571
- "columnType": "TEXT"
637
+ "columnType": "TEXT",
638
+ "default": ""
572
639
  },
573
640
  {
574
- "name": "externalId",
641
+ "name": "userId",
575
642
  "type": "text",
576
643
  "required": false,
577
644
  "columnType": "TEXT",
578
645
  "default": ""
579
646
  },
580
647
  {
581
- "name": "measurementId",
648
+ "name": "params",
582
649
  "type": "text",
583
650
  "required": false,
584
651
  "columnType": "TEXT",
585
- "default": ""
652
+ "default": "{}"
586
653
  },
587
654
  {
588
- "name": "firebaseAppId",
655
+ "name": "eventTimestamp",
656
+ "type": "datetime",
657
+ "required": false,
658
+ "columnType": "TIMESTAMP"
659
+ },
660
+ {
661
+ "name": "status",
662
+ "type": "text",
663
+ "required": false,
664
+ "columnType": "TEXT"
665
+ },
666
+ {
667
+ "name": "sentAt",
668
+ "type": "datetime",
669
+ "required": false,
670
+ "columnType": "TIMESTAMP"
671
+ },
672
+ {
673
+ "name": "errorMessage",
589
674
  "type": "text",
590
675
  "required": false,
591
676
  "columnType": "TEXT",
592
677
  "default": ""
593
678
  },
594
679
  {
595
- "name": "defaultUri",
680
+ "name": "retryCount",
681
+ "type": "integer",
682
+ "required": false,
683
+ "columnType": "INTEGER",
684
+ "default": 0
685
+ },
686
+ {
687
+ "name": "nonPersonalizedAds",
688
+ "type": "boolean",
689
+ "required": false,
690
+ "columnType": "BOOLEAN",
691
+ "default": false
692
+ },
693
+ {
694
+ "name": "sessionId",
596
695
  "type": "text",
597
696
  "required": false,
598
697
  "columnType": "TEXT",
599
698
  "default": ""
600
699
  },
601
700
  {
602
- "name": "bundleId",
701
+ "name": "pagePath",
603
702
  "type": "text",
604
703
  "required": false,
605
704
  "columnType": "TEXT",
606
705
  "default": ""
607
706
  },
608
707
  {
609
- "name": "packageName",
708
+ "name": "pageTitle",
610
709
  "type": "text",
611
710
  "required": false,
612
711
  "columnType": "TEXT",
613
712
  "default": ""
614
713
  },
615
714
  {
616
- "name": "status",
715
+ "name": "userAgent",
617
716
  "type": "text",
618
717
  "required": false,
619
- "columnType": "TEXT"
718
+ "columnType": "TEXT",
719
+ "default": ""
620
720
  },
621
721
  {
622
- "name": "enhancedMeasurement",
623
- "type": "boolean",
722
+ "name": "ipAddress",
723
+ "type": "text",
624
724
  "required": false,
625
- "columnType": "BOOLEAN",
626
- "default": true
725
+ "columnType": "TEXT",
726
+ "default": ""
627
727
  }
628
728
  ],
629
729
  "relationships": [
@@ -637,6 +737,7 @@
637
737
  ],
638
738
  "methods": [
639
739
  "_setLoadedRelationship",
740
+ "addParam",
640
741
  "classifyConstraintError",
641
742
  "clearEmbeddings",
642
743
  "delete",
@@ -652,19 +753,17 @@
652
753
  "getEmbedding",
653
754
  "getFields",
654
755
  "getId",
655
- "getPlatformId",
756
+ "getParams",
656
757
  "getRelated",
657
758
  "getSavedId",
658
759
  "getSlug",
659
760
  "hasStaleEmbeddings",
660
761
  "initialize",
661
762
  "is",
662
- "isAndroid",
663
- "isIOS",
664
- "isMobileApp",
763
+ "isConversion",
764
+ "isPageview",
665
765
  "isRelatedLoaded",
666
766
  "isSaved",
667
- "isWeb",
668
767
  "listAiUsage",
669
768
  "loadDataFromDb",
670
769
  "loadFromId",
@@ -672,16 +771,22 @@
672
771
  "loadRelated",
673
772
  "loadRelatedMany",
674
773
  "markAsPersisted",
774
+ "markFailed",
775
+ "markSent",
675
776
  "recall",
676
777
  "recallAll",
677
778
  "remember",
678
779
  "requireInsertOnSave",
679
780
  "resetAiUsage",
781
+ "resetForRetry",
680
782
  "save",
783
+ "setParams",
784
+ "shouldRetry",
681
785
  "summarizeAiUsage",
682
786
  "toJSON",
683
787
  "toPlainObject",
684
- "toPublicJSON"
788
+ "toPublicJSON",
789
+ "toTrackEvent"
685
790
  ],
686
791
  "methodSignatures": [
687
792
  {
@@ -692,6 +797,14 @@
692
797
  ],
693
798
  "returns": "void"
694
799
  },
800
+ {
801
+ "name": "addParam",
802
+ "params": [
803
+ "key: string",
804
+ "value: string | number | boolean"
805
+ ],
806
+ "returns": "void"
807
+ },
695
808
  {
696
809
  "name": "classifyConstraintError",
697
810
  "static": true,
@@ -791,8 +904,8 @@
791
904
  "returns": "any"
792
905
  },
793
906
  {
794
- "name": "getPlatformId",
795
- "returns": "string"
907
+ "name": "getParams",
908
+ "returns": "Record<string, string | number | boolean>"
796
909
  },
797
910
  {
798
911
  "name": "getRelated",
@@ -833,15 +946,11 @@
833
946
  "returns": "any"
834
947
  },
835
948
  {
836
- "name": "isAndroid",
949
+ "name": "isConversion",
837
950
  "returns": "boolean"
838
951
  },
839
952
  {
840
- "name": "isIOS",
841
- "returns": "boolean"
842
- },
843
- {
844
- "name": "isMobileApp",
953
+ "name": "isPageview",
845
954
  "returns": "boolean"
846
955
  },
847
956
  {
@@ -856,10 +965,6 @@
856
965
  "async": true,
857
966
  "returns": "any"
858
967
  },
859
- {
860
- "name": "isWeb",
861
- "returns": "boolean"
862
- },
863
968
  {
864
969
  "name": "listAiUsage",
865
970
  "async": true,
@@ -908,6 +1013,17 @@
908
1013
  "name": "markAsPersisted",
909
1014
  "returns": "void"
910
1015
  },
1016
+ {
1017
+ "name": "markFailed",
1018
+ "params": [
1019
+ "error: string"
1020
+ ],
1021
+ "returns": "void"
1022
+ },
1023
+ {
1024
+ "name": "markSent",
1025
+ "returns": "void"
1026
+ },
911
1027
  {
912
1028
  "name": "recall",
913
1029
  "async": true,
@@ -940,11 +1056,29 @@
940
1056
  "name": "resetAiUsage",
941
1057
  "returns": "void"
942
1058
  },
1059
+ {
1060
+ "name": "resetForRetry",
1061
+ "returns": "void"
1062
+ },
943
1063
  {
944
1064
  "name": "save",
945
1065
  "async": true,
946
1066
  "returns": "any"
947
1067
  },
1068
+ {
1069
+ "name": "setParams",
1070
+ "params": [
1071
+ "params: Record<string, string | number | boolean>"
1072
+ ],
1073
+ "returns": "void"
1074
+ },
1075
+ {
1076
+ "name": "shouldRetry",
1077
+ "params": [
1078
+ "maxRetries?: number"
1079
+ ],
1080
+ "returns": "boolean"
1081
+ },
948
1082
  {
949
1083
  "name": "summarizeAiUsage",
950
1084
  "async": true,
@@ -967,6 +1101,10 @@
967
1101
  "options?: PublicJsonOptions"
968
1102
  ],
969
1103
  "returns": "Record<string>"
1104
+ },
1105
+ {
1106
+ "name": "toTrackEvent",
1107
+ "returns": "object"
970
1108
  }
971
1109
  ],
972
1110
  "tenant": {
@@ -975,80 +1113,84 @@
975
1113
  "field": "tenantId"
976
1114
  },
977
1115
  "tableStrategy": "sti",
1116
+ "conflictColumns": [
1117
+ "tenant_id",
1118
+ "slug",
1119
+ "context",
1120
+ "_meta_type"
1121
+ ],
978
1122
  "surfaces": [
979
1123
  {
980
1124
  "kind": "api",
981
- "name": "analyticsdatastreams.list",
1125
+ "name": "analyticsevents.list",
982
1126
  "operation": "list",
983
- "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream",
984
- "path": "/analyticsdatastreams",
1127
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent",
1128
+ "path": "/analyticsevents",
985
1129
  "method": "GET"
986
1130
  },
987
1131
  {
988
1132
  "kind": "api",
989
- "name": "analyticsdatastreams.get",
1133
+ "name": "analyticsevents.get",
990
1134
  "operation": "get",
991
- "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream",
992
- "path": "/analyticsdatastreams/[id]",
1135
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent",
1136
+ "path": "/analyticsevents/[id]",
993
1137
  "method": "GET"
994
1138
  },
995
1139
  {
996
1140
  "kind": "api",
997
- "name": "analyticsdatastreams.create",
1141
+ "name": "analyticsevents.create",
998
1142
  "operation": "create",
999
- "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream",
1000
- "path": "/analyticsdatastreams",
1143
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent",
1144
+ "path": "/analyticsevents",
1001
1145
  "method": "POST"
1002
1146
  },
1003
- {
1004
- "kind": "api",
1005
- "name": "analyticsdatastreams.update",
1006
- "operation": "update",
1007
- "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream",
1008
- "path": "/analyticsdatastreams/[id]",
1009
- "method": "PATCH"
1010
- },
1011
1147
  {
1012
1148
  "kind": "cli",
1013
- "name": "analyticsdatastream_list",
1149
+ "name": "analyticsevent_list",
1014
1150
  "operation": "list",
1015
- "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream"
1151
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
1016
1152
  },
1017
1153
  {
1018
1154
  "kind": "cli",
1019
- "name": "analyticsdatastream_get",
1155
+ "name": "analyticsevent_get",
1020
1156
  "operation": "get",
1021
- "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream"
1157
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
1022
1158
  },
1023
1159
  {
1024
1160
  "kind": "cli",
1025
- "name": "analyticsdatastream_create",
1161
+ "name": "analyticsevent_create",
1026
1162
  "operation": "create",
1027
- "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream"
1163
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
1028
1164
  },
1029
1165
  {
1030
1166
  "kind": "cli",
1031
- "name": "analyticsdatastream_update",
1167
+ "name": "analyticsevent_update",
1032
1168
  "operation": "update",
1033
- "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream"
1169
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
1034
1170
  },
1035
1171
  {
1036
1172
  "kind": "cli",
1037
- "name": "analyticsdatastream_delete",
1173
+ "name": "analyticsevent_delete",
1038
1174
  "operation": "delete",
1039
- "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream"
1175
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
1040
1176
  },
1041
1177
  {
1042
1178
  "kind": "mcp",
1043
- "name": "analyticsdatastream_list",
1179
+ "name": "analyticsevent_list",
1044
1180
  "operation": "list",
1045
- "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream"
1181
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
1046
1182
  },
1047
1183
  {
1048
1184
  "kind": "mcp",
1049
- "name": "analyticsdatastream_get",
1185
+ "name": "analyticsevent_get",
1050
1186
  "operation": "get",
1051
- "objectName": "@happyvertical/smrt-analytics:AnalyticsDataStream"
1187
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
1188
+ },
1189
+ {
1190
+ "kind": "mcp",
1191
+ "name": "analyticsevent_track",
1192
+ "operation": "track",
1193
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
1052
1194
  }
1053
1195
  ],
1054
1196
  "relationshipFeatures": [
@@ -1059,10 +1201,10 @@
1059
1201
  "risks": []
1060
1202
  },
1061
1203
  {
1062
- "name": "AnalyticsEvent",
1063
- "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsEvent",
1064
- "collection": "analyticsevents",
1065
- "tableName": "analytics_events",
1204
+ "name": "AnalyticsProperty",
1205
+ "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsProperty",
1206
+ "collection": "analyticsproperties",
1207
+ "tableName": "analytics_properties",
1066
1208
  "packageName": "@happyvertical/smrt-analytics",
1067
1209
  "extends": "SmrtObject",
1068
1210
  "fields": [
@@ -1085,127 +1227,91 @@
1085
1227
  "columnType": "UUID"
1086
1228
  },
1087
1229
  {
1088
- "name": "propertyId",
1089
- "type": "foreignKey",
1090
- "required": false,
1091
- "related": "AnalyticsProperty",
1092
- "columnType": "UUID"
1093
- },
1094
- {
1095
- "name": "eventName",
1230
+ "name": "name",
1096
1231
  "type": "text",
1097
1232
  "required": false,
1098
1233
  "columnType": "TEXT",
1099
1234
  "default": ""
1100
1235
  },
1101
1236
  {
1102
- "name": "clientId",
1237
+ "name": "displayName",
1103
1238
  "type": "text",
1104
1239
  "required": false,
1105
1240
  "columnType": "TEXT",
1106
1241
  "default": ""
1107
1242
  },
1108
1243
  {
1109
- "name": "userId",
1244
+ "name": "provider",
1110
1245
  "type": "text",
1111
1246
  "required": false,
1112
- "columnType": "TEXT",
1113
- "default": ""
1247
+ "columnType": "TEXT"
1114
1248
  },
1115
1249
  {
1116
- "name": "params",
1250
+ "name": "externalId",
1117
1251
  "type": "text",
1118
1252
  "required": false,
1119
1253
  "columnType": "TEXT",
1120
- "default": "{}"
1121
- },
1122
- {
1123
- "name": "eventTimestamp",
1124
- "type": "datetime",
1125
- "required": false,
1126
- "columnType": "TIMESTAMP"
1254
+ "default": ""
1127
1255
  },
1128
1256
  {
1129
- "name": "status",
1257
+ "name": "measurementId",
1130
1258
  "type": "text",
1131
1259
  "required": false,
1132
- "columnType": "TEXT"
1133
- },
1134
- {
1135
- "name": "sentAt",
1136
- "type": "datetime",
1137
- "required": false,
1138
- "columnType": "TIMESTAMP"
1260
+ "columnType": "TEXT",
1261
+ "default": ""
1139
1262
  },
1140
1263
  {
1141
- "name": "errorMessage",
1264
+ "name": "siteDomain",
1142
1265
  "type": "text",
1143
1266
  "required": false,
1144
1267
  "columnType": "TEXT",
1145
1268
  "default": ""
1146
1269
  },
1147
1270
  {
1148
- "name": "retryCount",
1149
- "type": "integer",
1150
- "required": false,
1151
- "columnType": "INTEGER",
1152
- "default": 0
1153
- },
1154
- {
1155
- "name": "nonPersonalizedAds",
1156
- "type": "boolean",
1157
- "required": false,
1158
- "columnType": "BOOLEAN",
1159
- "default": false
1160
- },
1161
- {
1162
- "name": "sessionId",
1271
+ "name": "timeZone",
1163
1272
  "type": "text",
1164
1273
  "required": false,
1165
1274
  "columnType": "TEXT",
1166
- "default": ""
1275
+ "default": "America/Los_Angeles"
1167
1276
  },
1168
1277
  {
1169
- "name": "pagePath",
1278
+ "name": "currencyCode",
1170
1279
  "type": "text",
1171
1280
  "required": false,
1172
1281
  "columnType": "TEXT",
1173
- "default": ""
1282
+ "default": "USD"
1174
1283
  },
1175
1284
  {
1176
- "name": "pageTitle",
1285
+ "name": "industryCategory",
1177
1286
  "type": "text",
1178
1287
  "required": false,
1179
1288
  "columnType": "TEXT",
1180
1289
  "default": ""
1181
1290
  },
1182
1291
  {
1183
- "name": "userAgent",
1292
+ "name": "serviceLevel",
1184
1293
  "type": "text",
1185
1294
  "required": false,
1186
1295
  "columnType": "TEXT",
1187
- "default": ""
1296
+ "default": "STANDARD"
1188
1297
  },
1189
1298
  {
1190
- "name": "ipAddress",
1299
+ "name": "status",
1191
1300
  "type": "text",
1192
1301
  "required": false,
1193
- "columnType": "TEXT",
1194
- "default": ""
1195
- }
1196
- ],
1197
- "relationships": [
1302
+ "columnType": "TEXT"
1303
+ },
1198
1304
  {
1199
- "name": "propertyId",
1200
- "type": "foreignKey",
1305
+ "name": "lastSyncAt",
1306
+ "type": "datetime",
1201
1307
  "required": false,
1202
- "related": "AnalyticsProperty",
1203
- "columnType": "UUID"
1308
+ "columnType": "TIMESTAMP"
1204
1309
  }
1205
1310
  ],
1311
+ "relationships": [],
1206
1312
  "methods": [
1207
1313
  "_setLoadedRelationship",
1208
- "addParam",
1314
+ "analyzePerformance",
1209
1315
  "classifyConstraintError",
1210
1316
  "clearEmbeddings",
1211
1317
  "delete",
@@ -1221,15 +1327,17 @@
1221
1327
  "getEmbedding",
1222
1328
  "getFields",
1223
1329
  "getId",
1224
- "getParams",
1330
+ "getProviderMetadata",
1225
1331
  "getRelated",
1226
1332
  "getSavedId",
1227
1333
  "getSlug",
1228
1334
  "hasStaleEmbeddings",
1229
1335
  "initialize",
1230
1336
  "is",
1231
- "isConversion",
1232
- "isPageview",
1337
+ "isGA4",
1338
+ "isMatomo",
1339
+ "isPerformingWell",
1340
+ "isPlausible",
1233
1341
  "isRelatedLoaded",
1234
1342
  "isSaved",
1235
1343
  "listAiUsage",
@@ -1239,22 +1347,18 @@
1239
1347
  "loadRelated",
1240
1348
  "loadRelatedMany",
1241
1349
  "markAsPersisted",
1242
- "markFailed",
1243
- "markSent",
1350
+ "markSynced",
1244
1351
  "recall",
1245
1352
  "recallAll",
1246
1353
  "remember",
1247
1354
  "requireInsertOnSave",
1248
1355
  "resetAiUsage",
1249
- "resetForRetry",
1250
1356
  "save",
1251
- "setParams",
1252
- "shouldRetry",
1357
+ "setProviderMetadata",
1253
1358
  "summarizeAiUsage",
1254
1359
  "toJSON",
1255
1360
  "toPlainObject",
1256
- "toPublicJSON",
1257
- "toTrackEvent"
1361
+ "toPublicJSON"
1258
1362
  ],
1259
1363
  "methodSignatures": [
1260
1364
  {
@@ -1266,12 +1370,12 @@
1266
1370
  "returns": "void"
1267
1371
  },
1268
1372
  {
1269
- "name": "addParam",
1373
+ "name": "analyzePerformance",
1374
+ "async": true,
1270
1375
  "params": [
1271
- "key: string",
1272
- "value: string | number | boolean"
1376
+ "options?: object"
1273
1377
  ],
1274
- "returns": "void"
1378
+ "returns": "Promise<object>"
1275
1379
  },
1276
1380
  {
1277
1381
  "name": "classifyConstraintError",
@@ -1372,8 +1476,8 @@
1372
1476
  "returns": "any"
1373
1477
  },
1374
1478
  {
1375
- "name": "getParams",
1376
- "returns": "Record<string, string | number | boolean>"
1479
+ "name": "getProviderMetadata",
1480
+ "returns": "Record<string>"
1377
1481
  },
1378
1482
  {
1379
1483
  "name": "getRelated",
@@ -1414,11 +1518,20 @@
1414
1518
  "returns": "any"
1415
1519
  },
1416
1520
  {
1417
- "name": "isConversion",
1521
+ "name": "isGA4",
1418
1522
  "returns": "boolean"
1419
1523
  },
1420
1524
  {
1421
- "name": "isPageview",
1525
+ "name": "isMatomo",
1526
+ "returns": "boolean"
1527
+ },
1528
+ {
1529
+ "name": "isPerformingWell",
1530
+ "async": true,
1531
+ "returns": "Promise<boolean>"
1532
+ },
1533
+ {
1534
+ "name": "isPlausible",
1422
1535
  "returns": "boolean"
1423
1536
  },
1424
1537
  {
@@ -1482,14 +1595,7 @@
1482
1595
  "returns": "void"
1483
1596
  },
1484
1597
  {
1485
- "name": "markFailed",
1486
- "params": [
1487
- "error: string"
1488
- ],
1489
- "returns": "void"
1490
- },
1491
- {
1492
- "name": "markSent",
1598
+ "name": "markSynced",
1493
1599
  "returns": "void"
1494
1600
  },
1495
1601
  {
@@ -1524,29 +1630,18 @@
1524
1630
  "name": "resetAiUsage",
1525
1631
  "returns": "void"
1526
1632
  },
1527
- {
1528
- "name": "resetForRetry",
1529
- "returns": "void"
1530
- },
1531
1633
  {
1532
1634
  "name": "save",
1533
1635
  "async": true,
1534
1636
  "returns": "any"
1535
1637
  },
1536
1638
  {
1537
- "name": "setParams",
1639
+ "name": "setProviderMetadata",
1538
1640
  "params": [
1539
- "params: Record<string, string | number | boolean>"
1641
+ "metadata: Record<string>"
1540
1642
  ],
1541
1643
  "returns": "void"
1542
1644
  },
1543
- {
1544
- "name": "shouldRetry",
1545
- "params": [
1546
- "maxRetries?: number"
1547
- ],
1548
- "returns": "boolean"
1549
- },
1550
1645
  {
1551
1646
  "name": "summarizeAiUsage",
1552
1647
  "async": true,
@@ -1569,10 +1664,6 @@
1569
1664
  "options?: PublicJsonOptions"
1570
1665
  ],
1571
1666
  "returns": "Record<string>"
1572
- },
1573
- {
1574
- "name": "toTrackEvent",
1575
- "returns": "object"
1576
1667
  }
1577
1668
  ],
1578
1669
  "tenant": {
@@ -1581,92 +1672,111 @@
1581
1672
  "field": "tenantId"
1582
1673
  },
1583
1674
  "tableStrategy": "sti",
1675
+ "conflictColumns": [
1676
+ "tenant_id",
1677
+ "slug",
1678
+ "context",
1679
+ "_meta_type"
1680
+ ],
1584
1681
  "surfaces": [
1585
1682
  {
1586
1683
  "kind": "api",
1587
- "name": "analyticsevents.list",
1684
+ "name": "analyticsproperties.list",
1588
1685
  "operation": "list",
1589
- "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent",
1590
- "path": "/analyticsevents",
1686
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty",
1687
+ "path": "/analyticsproperties",
1591
1688
  "method": "GET"
1592
1689
  },
1593
1690
  {
1594
1691
  "kind": "api",
1595
- "name": "analyticsevents.get",
1692
+ "name": "analyticsproperties.get",
1596
1693
  "operation": "get",
1597
- "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent",
1598
- "path": "/analyticsevents/[id]",
1694
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty",
1695
+ "path": "/analyticsproperties/[id]",
1599
1696
  "method": "GET"
1600
1697
  },
1601
1698
  {
1602
1699
  "kind": "api",
1603
- "name": "analyticsevents.create",
1700
+ "name": "analyticsproperties.create",
1604
1701
  "operation": "create",
1605
- "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent",
1606
- "path": "/analyticsevents",
1702
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty",
1703
+ "path": "/analyticsproperties",
1607
1704
  "method": "POST"
1608
1705
  },
1706
+ {
1707
+ "kind": "api",
1708
+ "name": "analyticsproperties.update",
1709
+ "operation": "update",
1710
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty",
1711
+ "path": "/analyticsproperties/[id]",
1712
+ "method": "PATCH"
1713
+ },
1609
1714
  {
1610
1715
  "kind": "cli",
1611
- "name": "analyticsevent_list",
1716
+ "name": "analyticsproperty_list",
1612
1717
  "operation": "list",
1613
- "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
1718
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
1614
1719
  },
1615
1720
  {
1616
1721
  "kind": "cli",
1617
- "name": "analyticsevent_get",
1722
+ "name": "analyticsproperty_get",
1618
1723
  "operation": "get",
1619
- "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
1724
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
1620
1725
  },
1621
1726
  {
1622
1727
  "kind": "cli",
1623
- "name": "analyticsevent_create",
1728
+ "name": "analyticsproperty_create",
1624
1729
  "operation": "create",
1625
- "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
1730
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
1626
1731
  },
1627
1732
  {
1628
1733
  "kind": "cli",
1629
- "name": "analyticsevent_update",
1734
+ "name": "analyticsproperty_update",
1630
1735
  "operation": "update",
1631
- "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
1736
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
1632
1737
  },
1633
1738
  {
1634
1739
  "kind": "cli",
1635
- "name": "analyticsevent_delete",
1740
+ "name": "analyticsproperty_delete",
1636
1741
  "operation": "delete",
1637
- "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
1742
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
1638
1743
  },
1639
1744
  {
1640
1745
  "kind": "mcp",
1641
- "name": "analyticsevent_list",
1746
+ "name": "analyticsproperty_list",
1642
1747
  "operation": "list",
1643
- "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
1748
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
1644
1749
  },
1645
1750
  {
1646
1751
  "kind": "mcp",
1647
- "name": "analyticsevent_get",
1752
+ "name": "analyticsproperty_get",
1648
1753
  "operation": "get",
1649
- "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
1754
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
1650
1755
  },
1651
1756
  {
1652
1757
  "kind": "mcp",
1653
- "name": "analyticsevent_track",
1654
- "operation": "track",
1655
- "objectName": "@happyvertical/smrt-analytics:AnalyticsEvent"
1758
+ "name": "analyticsproperty_sync",
1759
+ "operation": "sync",
1760
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
1761
+ },
1762
+ {
1763
+ "kind": "mcp",
1764
+ "name": "analyticsproperty_runReport",
1765
+ "operation": "runReport",
1766
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
1656
1767
  }
1657
1768
  ],
1658
1769
  "relationshipFeatures": [
1659
- "foreignKey",
1660
1770
  "uuidColumns"
1661
1771
  ],
1662
1772
  "tags": [],
1663
1773
  "risks": []
1664
1774
  },
1665
1775
  {
1666
- "name": "AnalyticsProperty",
1667
- "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsProperty",
1668
- "collection": "analyticsproperties",
1669
- "tableName": "analytics_properties",
1776
+ "name": "AnalyticsReport",
1777
+ "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsReport",
1778
+ "collection": "analyticsreports",
1779
+ "tableName": "analytics_reports",
1670
1780
  "packageName": "@happyvertical/smrt-analytics",
1671
1781
  "extends": "SmrtObject",
1672
1782
  "fields": [
@@ -1688,6 +1798,13 @@
1688
1798
  "required": false,
1689
1799
  "columnType": "UUID"
1690
1800
  },
1801
+ {
1802
+ "name": "propertyId",
1803
+ "type": "foreignKey",
1804
+ "required": false,
1805
+ "related": "AnalyticsProperty",
1806
+ "columnType": "UUID"
1807
+ },
1691
1808
  {
1692
1809
  "name": "name",
1693
1810
  "type": "text",
@@ -1696,66 +1813,67 @@
1696
1813
  "default": ""
1697
1814
  },
1698
1815
  {
1699
- "name": "displayName",
1816
+ "name": "description",
1700
1817
  "type": "text",
1701
1818
  "required": false,
1702
1819
  "columnType": "TEXT",
1703
1820
  "default": ""
1704
1821
  },
1705
1822
  {
1706
- "name": "provider",
1823
+ "name": "dimensions",
1707
1824
  "type": "text",
1708
1825
  "required": false,
1709
- "columnType": "TEXT"
1826
+ "columnType": "TEXT",
1827
+ "default": "[]"
1710
1828
  },
1711
1829
  {
1712
- "name": "externalId",
1830
+ "name": "metrics",
1713
1831
  "type": "text",
1714
1832
  "required": false,
1715
1833
  "columnType": "TEXT",
1716
- "default": ""
1834
+ "default": "[]"
1717
1835
  },
1718
1836
  {
1719
- "name": "measurementId",
1837
+ "name": "dateRangeStart",
1720
1838
  "type": "text",
1721
1839
  "required": false,
1722
1840
  "columnType": "TEXT",
1723
- "default": ""
1841
+ "default": "7daysAgo"
1724
1842
  },
1725
1843
  {
1726
- "name": "siteDomain",
1844
+ "name": "dateRangeEnd",
1727
1845
  "type": "text",
1728
1846
  "required": false,
1729
1847
  "columnType": "TEXT",
1730
- "default": ""
1848
+ "default": "today"
1731
1849
  },
1732
1850
  {
1733
- "name": "timeZone",
1851
+ "name": "dimensionFilter",
1734
1852
  "type": "text",
1735
1853
  "required": false,
1736
1854
  "columnType": "TEXT",
1737
- "default": "America/Los_Angeles"
1855
+ "default": ""
1738
1856
  },
1739
1857
  {
1740
- "name": "currencyCode",
1858
+ "name": "metricFilter",
1741
1859
  "type": "text",
1742
1860
  "required": false,
1743
1861
  "columnType": "TEXT",
1744
- "default": "USD"
1862
+ "default": ""
1745
1863
  },
1746
1864
  {
1747
- "name": "industryCategory",
1865
+ "name": "orderBy",
1748
1866
  "type": "text",
1749
1867
  "required": false,
1750
1868
  "columnType": "TEXT",
1751
- "default": ""
1869
+ "default": "[]"
1752
1870
  },
1753
1871
  {
1754
- "name": "serviceLevel",
1755
- "type": "text",
1872
+ "name": "maxResults",
1873
+ "type": "integer",
1756
1874
  "required": false,
1757
- "columnType": "TEXT",
1758
- "default": "STANDARD"
1875
+ "columnType": "INTEGER",
1876
+ "default": 0
1759
1877
  },
1760
1878
  {
1761
1879
  "name": "status",
@@ -1764,16 +1882,58 @@
1764
1882
  "columnType": "TEXT"
1765
1883
  },
1766
1884
  {
1767
- "name": "lastSyncAt",
1885
+ "name": "frequency",
1886
+ "type": "text",
1887
+ "required": false,
1888
+ "columnType": "TEXT"
1889
+ },
1890
+ {
1891
+ "name": "lastRunAt",
1892
+ "type": "datetime",
1893
+ "required": false,
1894
+ "columnType": "TIMESTAMP"
1895
+ },
1896
+ {
1897
+ "name": "nextRunAt",
1768
1898
  "type": "datetime",
1769
1899
  "required": false,
1770
1900
  "columnType": "TIMESTAMP"
1901
+ },
1902
+ {
1903
+ "name": "resultData",
1904
+ "type": "text",
1905
+ "required": false,
1906
+ "columnType": "TEXT",
1907
+ "default": ""
1908
+ },
1909
+ {
1910
+ "name": "rowCount",
1911
+ "type": "integer",
1912
+ "required": false,
1913
+ "columnType": "INTEGER",
1914
+ "default": 0
1915
+ },
1916
+ {
1917
+ "name": "lastError",
1918
+ "type": "text",
1919
+ "required": false,
1920
+ "columnType": "TEXT",
1921
+ "default": ""
1922
+ }
1923
+ ],
1924
+ "relationships": [
1925
+ {
1926
+ "name": "propertyId",
1927
+ "type": "foreignKey",
1928
+ "required": false,
1929
+ "related": "AnalyticsProperty",
1930
+ "columnType": "UUID"
1771
1931
  }
1772
1932
  ],
1773
- "relationships": [],
1774
1933
  "methods": [
1775
1934
  "_setLoadedRelationship",
1776
- "analyzePerformance",
1935
+ "analyzeResults",
1936
+ "calculateNextRun",
1777
1937
  "classifyConstraintError",
1778
1938
  "clearEmbeddings",
1779
1939
  "delete",
@@ -1786,20 +1946,20 @@
1786
1946
  "generateEmbeddings",
1787
1947
  "getAiUsageSnapshot",
1788
1948
  "getAvailableTools",
1949
+ "getDimensions",
1789
1950
  "getEmbedding",
1790
1951
  "getFields",
1791
1952
  "getId",
1792
- "getProviderMetadata",
1953
+ "getMetrics",
1793
1954
  "getRelated",
1955
+ "getResultData",
1794
1956
  "getSavedId",
1795
1957
  "getSlug",
1958
+ "hasPositiveTrends",
1796
1959
  "hasStaleEmbeddings",
1797
1960
  "initialize",
1798
1961
  "is",
1799
- "isGA4",
1800
- "isMatomo",
1801
- "isPerformingWell",
1802
- "isPlausible",
1962
+ "isDue",
1803
1963
  "isRelatedLoaded",
1804
1964
  "isSaved",
1805
1965
  "listAiUsage",
@@ -1809,14 +1969,18 @@
1809
1969
  "loadRelated",
1810
1970
  "loadRelatedMany",
1811
1971
  "markAsPersisted",
1812
- "markSynced",
1972
+ "markCompleted",
1973
+ "markFailed",
1974
+ "markRunning",
1813
1975
  "recall",
1814
1976
  "recallAll",
1815
1977
  "remember",
1816
1978
  "requireInsertOnSave",
1817
1979
  "resetAiUsage",
1818
1980
  "save",
1819
- "setProviderMetadata",
1981
+ "setDimensions",
1982
+ "setMetrics",
1983
+ "setResultData",
1820
1984
  "summarizeAiUsage",
1821
1985
  "toJSON",
1822
1986
  "toPlainObject",
@@ -1832,13 +1996,17 @@
1832
1996
  "returns": "void"
1833
1997
  },
1834
1998
  {
1835
- "name": "analyzePerformance",
1999
+ "name": "analyzeResults",
1836
2000
  "async": true,
1837
2001
  "params": [
1838
- "options?: object"
2002
+ "_options?: Record<string>"
1839
2003
  ],
1840
2004
  "returns": "Promise<object>"
1841
2005
  },
2006
+ {
2007
+ "name": "calculateNextRun",
2008
+ "returns": "void"
2009
+ },
1842
2010
  {
1843
2011
  "name": "classifyConstraintError",
1844
2012
  "static": true,
@@ -1918,6 +2086,10 @@
1918
2086
  "name": "getAvailableTools",
1919
2087
  "returns": "AITool[]"
1920
2088
  },
2089
+ {
2090
+ "name": "getDimensions",
2091
+ "returns": "Array<object>"
2092
+ },
1921
2093
  {
1922
2094
  "name": "getEmbedding",
1923
2095
  "async": true,
@@ -1938,8 +2110,8 @@
1938
2110
  "returns": "any"
1939
2111
  },
1940
2112
  {
1941
- "name": "getProviderMetadata",
1942
- "returns": "Record<string>"
2113
+ "name": "getMetrics",
2114
+ "returns": "Array<object>"
1943
2115
  },
1944
2116
  {
1945
2117
  "name": "getRelated",
@@ -1950,6 +2122,10 @@
1950
2122
  ],
1951
2123
  "returns": "Promise<any>"
1952
2124
  },
2125
+ {
2126
+ "name": "getResultData",
2127
+ "returns": "Record<string> | null"
2128
+ },
1953
2129
  {
1954
2130
  "name": "getSavedId",
1955
2131
  "async": true,
@@ -1960,6 +2136,11 @@
1960
2136
  "async": true,
1961
2137
  "returns": "any"
1962
2138
  },
2139
+ {
2140
+ "name": "hasPositiveTrends",
2141
+ "async": true,
2142
+ "returns": "Promise<boolean>"
2143
+ },
1963
2144
  {
1964
2145
  "name": "hasStaleEmbeddings",
1965
2146
  "async": true,
@@ -1980,20 +2161,7 @@
1980
2161
  "returns": "any"
1981
2162
  },
1982
2163
  {
1983
- "name": "isGA4",
1984
- "returns": "boolean"
1985
- },
1986
- {
1987
- "name": "isMatomo",
1988
- "returns": "boolean"
1989
- },
1990
- {
1991
- "name": "isPerformingWell",
1992
- "async": true,
1993
- "returns": "Promise<boolean>"
1994
- },
1995
- {
1996
- "name": "isPlausible",
2164
+ "name": "isDue",
1997
2165
  "returns": "boolean"
1998
2166
  },
1999
2167
  {
@@ -2057,21 +2225,35 @@
2057
2225
  "returns": "void"
2058
2226
  },
2059
2227
  {
2060
- "name": "markSynced",
2228
+ "name": "markCompleted",
2229
+ "params": [
2230
+ "rowCount: number"
2231
+ ],
2061
2232
  "returns": "void"
2062
2233
  },
2063
2234
  {
2064
- "name": "recall",
2065
- "async": true,
2235
+ "name": "markFailed",
2066
2236
  "params": [
2067
- "options: object"
2237
+ "error: string"
2068
2238
  ],
2069
- "returns": "Promise"
2239
+ "returns": "void"
2070
2240
  },
2071
2241
  {
2072
- "name": "recallAll",
2073
- "async": true,
2074
- "params": [
2242
+ "name": "markRunning",
2243
+ "returns": "void"
2244
+ },
2245
+ {
2246
+ "name": "recall",
2247
+ "async": true,
2248
+ "params": [
2249
+ "options: object"
2250
+ ],
2251
+ "returns": "Promise"
2252
+ },
2253
+ {
2254
+ "name": "recallAll",
2255
+ "async": true,
2256
+ "params": [
2075
2257
  "options?: object"
2076
2258
  ],
2077
2259
  "returns": "Promise<Map<string>>"
@@ -2098,9 +2280,23 @@
2098
2280
  "returns": "any"
2099
2281
  },
2100
2282
  {
2101
- "name": "setProviderMetadata",
2283
+ "name": "setDimensions",
2102
2284
  "params": [
2103
- "metadata: Record<string>"
2285
+ "dimensions: Array<object>"
2286
+ ],
2287
+ "returns": "void"
2288
+ },
2289
+ {
2290
+ "name": "setMetrics",
2291
+ "params": [
2292
+ "metrics: Array<object>"
2293
+ ],
2294
+ "returns": "void"
2295
+ },
2296
+ {
2297
+ "name": "setResultData",
2298
+ "params": [
2299
+ "data: Record<string>"
2104
2300
  ],
2105
2301
  "returns": "void"
2106
2302
  },
@@ -2134,756 +2330,584 @@
2134
2330
  "field": "tenantId"
2135
2331
  },
2136
2332
  "tableStrategy": "sti",
2333
+ "conflictColumns": [
2334
+ "tenant_id",
2335
+ "slug",
2336
+ "context",
2337
+ "_meta_type"
2338
+ ],
2137
2339
  "surfaces": [
2138
2340
  {
2139
2341
  "kind": "api",
2140
- "name": "analyticsproperties.list",
2342
+ "name": "analyticsreports.list",
2141
2343
  "operation": "list",
2142
- "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty",
2143
- "path": "/analyticsproperties",
2344
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport",
2345
+ "path": "/analyticsreports",
2144
2346
  "method": "GET"
2145
2347
  },
2146
2348
  {
2147
2349
  "kind": "api",
2148
- "name": "analyticsproperties.get",
2350
+ "name": "analyticsreports.get",
2149
2351
  "operation": "get",
2150
- "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty",
2151
- "path": "/analyticsproperties/[id]",
2352
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport",
2353
+ "path": "/analyticsreports/[id]",
2152
2354
  "method": "GET"
2153
2355
  },
2154
2356
  {
2155
2357
  "kind": "api",
2156
- "name": "analyticsproperties.create",
2358
+ "name": "analyticsreports.create",
2157
2359
  "operation": "create",
2158
- "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty",
2159
- "path": "/analyticsproperties",
2360
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport",
2361
+ "path": "/analyticsreports",
2160
2362
  "method": "POST"
2161
2363
  },
2162
2364
  {
2163
2365
  "kind": "api",
2164
- "name": "analyticsproperties.update",
2366
+ "name": "analyticsreports.update",
2165
2367
  "operation": "update",
2166
- "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty",
2167
- "path": "/analyticsproperties/[id]",
2368
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport",
2369
+ "path": "/analyticsreports/[id]",
2168
2370
  "method": "PATCH"
2169
2371
  },
2372
+ {
2373
+ "kind": "api",
2374
+ "name": "analyticsreports.run",
2375
+ "operation": "run",
2376
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport",
2377
+ "path": "/analyticsreports/run",
2378
+ "method": "POST"
2379
+ },
2170
2380
  {
2171
2381
  "kind": "cli",
2172
- "name": "analyticsproperty_list",
2382
+ "name": "analyticsreport_list",
2173
2383
  "operation": "list",
2174
- "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
2384
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
2175
2385
  },
2176
2386
  {
2177
2387
  "kind": "cli",
2178
- "name": "analyticsproperty_get",
2388
+ "name": "analyticsreport_get",
2179
2389
  "operation": "get",
2180
- "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
2390
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
2181
2391
  },
2182
2392
  {
2183
2393
  "kind": "cli",
2184
- "name": "analyticsproperty_create",
2394
+ "name": "analyticsreport_create",
2185
2395
  "operation": "create",
2186
- "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
2396
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
2187
2397
  },
2188
2398
  {
2189
2399
  "kind": "cli",
2190
- "name": "analyticsproperty_update",
2400
+ "name": "analyticsreport_update",
2191
2401
  "operation": "update",
2192
- "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
2402
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
2193
2403
  },
2194
2404
  {
2195
2405
  "kind": "cli",
2196
- "name": "analyticsproperty_delete",
2406
+ "name": "analyticsreport_delete",
2197
2407
  "operation": "delete",
2198
- "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
2408
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
2199
2409
  },
2200
2410
  {
2201
2411
  "kind": "mcp",
2202
- "name": "analyticsproperty_list",
2412
+ "name": "analyticsreport_list",
2203
2413
  "operation": "list",
2204
- "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
2414
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
2205
2415
  },
2206
2416
  {
2207
2417
  "kind": "mcp",
2208
- "name": "analyticsproperty_get",
2418
+ "name": "analyticsreport_get",
2209
2419
  "operation": "get",
2210
- "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
2420
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
2211
2421
  },
2212
2422
  {
2213
2423
  "kind": "mcp",
2214
- "name": "analyticsproperty_sync",
2215
- "operation": "sync",
2216
- "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
2424
+ "name": "analyticsreport_run",
2425
+ "operation": "run",
2426
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
2217
2427
  },
2218
2428
  {
2219
2429
  "kind": "mcp",
2220
- "name": "analyticsproperty_runReport",
2221
- "operation": "runReport",
2222
- "objectName": "@happyvertical/smrt-analytics:AnalyticsProperty"
2430
+ "name": "analyticsreport_analyze",
2431
+ "operation": "analyze",
2432
+ "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
2223
2433
  }
2224
2434
  ],
2225
2435
  "relationshipFeatures": [
2436
+ "foreignKey",
2226
2437
  "uuidColumns"
2227
2438
  ],
2228
2439
  "tags": [],
2229
2440
  "risks": []
2230
2441
  },
2231
2442
  {
2232
- "name": "AnalyticsReport",
2233
- "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsReport",
2234
- "collection": "analyticsreports",
2235
- "tableName": "analytics_reports",
2443
+ "name": "AnalyticsDataStreamCollection",
2444
+ "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsDataStreamCollection",
2445
+ "collection": "analyticsdatastreams",
2446
+ "tableName": "analytics_data_stream_collections",
2236
2447
  "packageName": "@happyvertical/smrt-analytics",
2237
- "extends": "SmrtObject",
2238
- "fields": [
2239
- {
2240
- "name": "created_at",
2241
- "type": "datetime",
2242
- "required": false,
2243
- "columnType": "TIMESTAMP"
2244
- },
2245
- {
2246
- "name": "updated_at",
2247
- "type": "datetime",
2248
- "required": false,
2249
- "columnType": "TIMESTAMP"
2250
- },
2251
- {
2252
- "name": "tenantId",
2253
- "type": "text",
2254
- "required": false,
2255
- "columnType": "UUID"
2256
- },
2257
- {
2258
- "name": "propertyId",
2259
- "type": "foreignKey",
2260
- "required": false,
2261
- "related": "AnalyticsProperty",
2262
- "columnType": "UUID"
2263
- },
2264
- {
2265
- "name": "name",
2266
- "type": "text",
2267
- "required": false,
2268
- "columnType": "TEXT",
2269
- "default": ""
2270
- },
2271
- {
2272
- "name": "description",
2273
- "type": "text",
2274
- "required": false,
2275
- "columnType": "TEXT",
2276
- "default": ""
2277
- },
2278
- {
2279
- "name": "dimensions",
2280
- "type": "text",
2281
- "required": false,
2282
- "columnType": "TEXT",
2283
- "default": "[]"
2284
- },
2285
- {
2286
- "name": "metrics",
2287
- "type": "text",
2288
- "required": false,
2289
- "columnType": "TEXT",
2290
- "default": "[]"
2291
- },
2292
- {
2293
- "name": "dateRangeStart",
2294
- "type": "text",
2295
- "required": false,
2296
- "columnType": "TEXT",
2297
- "default": "7daysAgo"
2298
- },
2299
- {
2300
- "name": "dateRangeEnd",
2301
- "type": "text",
2302
- "required": false,
2303
- "columnType": "TEXT",
2304
- "default": "today"
2305
- },
2306
- {
2307
- "name": "dimensionFilter",
2308
- "type": "text",
2309
- "required": false,
2310
- "columnType": "TEXT",
2311
- "default": ""
2312
- },
2313
- {
2314
- "name": "metricFilter",
2315
- "type": "text",
2316
- "required": false,
2317
- "columnType": "TEXT",
2318
- "default": ""
2319
- },
2320
- {
2321
- "name": "orderBy",
2322
- "type": "text",
2323
- "required": false,
2324
- "columnType": "TEXT",
2325
- "default": "[]"
2326
- },
2327
- {
2328
- "name": "maxResults",
2329
- "type": "integer",
2330
- "required": false,
2331
- "columnType": "INTEGER",
2332
- "default": 0
2333
- },
2334
- {
2335
- "name": "status",
2336
- "type": "text",
2337
- "required": false,
2338
- "columnType": "TEXT"
2339
- },
2340
- {
2341
- "name": "frequency",
2342
- "type": "text",
2343
- "required": false,
2344
- "columnType": "TEXT"
2345
- },
2346
- {
2347
- "name": "lastRunAt",
2348
- "type": "datetime",
2349
- "required": false,
2350
- "columnType": "TIMESTAMP"
2351
- },
2352
- {
2353
- "name": "nextRunAt",
2354
- "type": "datetime",
2355
- "required": false,
2356
- "columnType": "TIMESTAMP"
2357
- },
2358
- {
2359
- "name": "resultData",
2360
- "type": "text",
2361
- "required": false,
2362
- "columnType": "TEXT",
2363
- "default": ""
2364
- },
2365
- {
2366
- "name": "rowCount",
2367
- "type": "integer",
2368
- "required": false,
2369
- "columnType": "INTEGER",
2370
- "default": 0
2371
- },
2372
- {
2373
- "name": "lastError",
2374
- "type": "text",
2375
- "required": false,
2376
- "columnType": "TEXT",
2377
- "default": ""
2378
- }
2379
- ],
2380
- "relationships": [
2381
- {
2382
- "name": "propertyId",
2383
- "type": "foreignKey",
2384
- "required": false,
2385
- "related": "AnalyticsProperty",
2386
- "columnType": "UUID"
2387
- }
2388
- ],
2448
+ "extends": "SmrtCollection",
2449
+ "fields": [],
2450
+ "relationships": [],
2389
2451
  "methods": [
2390
- "_setLoadedRelationship",
2391
- "analyzeResults",
2392
- "calculateNextRun",
2393
- "classifyConstraintError",
2394
- "clearEmbeddings",
2395
- "delete",
2396
- "describe",
2397
- "destroy",
2398
- "do",
2399
- "executeToolCall",
2400
- "forget",
2401
- "forgetScope",
2402
- "generateEmbeddings",
2403
- "getAiUsageSnapshot",
2404
- "getAvailableTools",
2405
- "getDimensions",
2406
- "getEmbedding",
2407
- "getFields",
2408
- "getId",
2409
- "getMetrics",
2410
- "getRelated",
2411
- "getResultData",
2412
- "getSavedId",
2413
- "getSlug",
2414
- "hasPositiveTrends",
2415
- "hasStaleEmbeddings",
2416
- "initialize",
2417
- "is",
2418
- "isDue",
2419
- "isRelatedLoaded",
2420
- "isSaved",
2421
- "listAiUsage",
2422
- "loadDataFromDb",
2423
- "loadFromId",
2424
- "loadFromSlug",
2425
- "loadRelated",
2426
- "loadRelatedMany",
2427
- "markAsPersisted",
2428
- "markCompleted",
2429
- "markFailed",
2430
- "markRunning",
2431
- "recall",
2432
- "recallAll",
2433
- "remember",
2434
- "requireInsertOnSave",
2435
- "resetAiUsage",
2436
- "save",
2437
- "setDimensions",
2438
- "setMetrics",
2439
- "setResultData",
2440
- "summarizeAiUsage",
2441
- "toJSON",
2442
- "toPlainObject",
2443
- "toPublicJSON"
2452
+ "findActive",
2453
+ "findActiveByProperty",
2454
+ "findAndroidStreams",
2455
+ "findByExternalId",
2456
+ "findByMeasurementId",
2457
+ "findByProperty",
2458
+ "findByStatus",
2459
+ "findByType",
2460
+ "findIOSStreams",
2461
+ "findMobileStreams",
2462
+ "findWebStreams"
2444
2463
  ],
2445
2464
  "methodSignatures": [
2446
2465
  {
2447
- "name": "_setLoadedRelationship",
2448
- "params": [
2449
- "fieldName: string",
2450
- "value: any"
2451
- ],
2452
- "returns": "void"
2453
- },
2454
- {
2455
- "name": "analyzeResults",
2456
- "async": true,
2457
- "params": [
2458
- "_options?: Record<string>"
2459
- ],
2460
- "returns": "Promise<object>"
2461
- },
2462
- {
2463
- "name": "calculateNextRun",
2464
- "returns": "void"
2465
- },
2466
- {
2467
- "name": "classifyConstraintError",
2468
- "static": true,
2469
- "params": [
2470
- "message: string"
2471
- ],
2472
- "returns": "'unique' | 'not_null' | null"
2473
- },
2474
- {
2475
- "name": "clearEmbeddings",
2476
- "async": true,
2477
- "returns": "Promise<void>"
2478
- },
2479
- {
2480
- "name": "delete",
2466
+ "name": "findActive",
2481
2467
  "async": true,
2482
- "returns": "Promise<void>"
2468
+ "returns": "Promise<AnalyticsDataStream[]>"
2483
2469
  },
2484
2470
  {
2485
- "name": "describe",
2471
+ "name": "findActiveByProperty",
2486
2472
  "async": true,
2487
2473
  "params": [
2488
- "options?: AiOperationOptions"
2474
+ "propertyId: string"
2489
2475
  ],
2490
- "returns": "any"
2476
+ "returns": "Promise<AnalyticsDataStream[]>"
2491
2477
  },
2492
2478
  {
2493
- "name": "destroy",
2494
- "returns": "void"
2479
+ "name": "findAndroidStreams",
2480
+ "async": true,
2481
+ "returns": "Promise<AnalyticsDataStream[]>"
2495
2482
  },
2496
2483
  {
2497
- "name": "do",
2484
+ "name": "findByExternalId",
2498
2485
  "async": true,
2499
2486
  "params": [
2500
- "instructions: string",
2501
- "options?: AiOperationOptions"
2487
+ "externalId: string"
2502
2488
  ],
2503
- "returns": "any"
2489
+ "returns": "Promise<AnalyticsDataStream | null>"
2504
2490
  },
2505
2491
  {
2506
- "name": "executeToolCall",
2492
+ "name": "findByMeasurementId",
2507
2493
  "async": true,
2508
2494
  "params": [
2509
- "toolCall: ToolCall"
2495
+ "measurementId: string"
2510
2496
  ],
2511
- "returns": "Promise<ToolCallResult>"
2497
+ "returns": "Promise<AnalyticsDataStream | null>"
2512
2498
  },
2513
2499
  {
2514
- "name": "forget",
2500
+ "name": "findByProperty",
2515
2501
  "async": true,
2516
2502
  "params": [
2517
- "options: object"
2503
+ "propertyId: string"
2518
2504
  ],
2519
- "returns": "Promise<void>"
2505
+ "returns": "Promise<AnalyticsDataStream[]>"
2520
2506
  },
2521
2507
  {
2522
- "name": "forgetScope",
2508
+ "name": "findByStatus",
2523
2509
  "async": true,
2524
2510
  "params": [
2525
- "options: object"
2511
+ "status: DataStreamStatus"
2526
2512
  ],
2527
- "returns": "Promise<number>"
2513
+ "returns": "Promise<AnalyticsDataStream[]>"
2528
2514
  },
2529
2515
  {
2530
- "name": "generateEmbeddings",
2516
+ "name": "findByType",
2531
2517
  "async": true,
2532
2518
  "params": [
2533
- "options?: GenerateEmbeddingsOptions"
2519
+ "streamType: DataStreamType"
2534
2520
  ],
2535
- "returns": "Promise<void>"
2521
+ "returns": "Promise<AnalyticsDataStream[]>"
2536
2522
  },
2537
2523
  {
2538
- "name": "getAiUsageSnapshot",
2539
- "returns": "AiUsageSnapshot | undefined"
2524
+ "name": "findIOSStreams",
2525
+ "async": true,
2526
+ "returns": "Promise<AnalyticsDataStream[]>"
2540
2527
  },
2541
2528
  {
2542
- "name": "getAvailableTools",
2543
- "returns": "AITool[]"
2529
+ "name": "findMobileStreams",
2530
+ "async": true,
2531
+ "returns": "Promise<AnalyticsDataStream[]>"
2544
2532
  },
2545
2533
  {
2546
- "name": "getDimensions",
2547
- "returns": "Array<object>"
2548
- },
2534
+ "name": "findWebStreams",
2535
+ "async": true,
2536
+ "returns": "Promise<AnalyticsDataStream[]>"
2537
+ }
2538
+ ],
2539
+ "surfaces": [],
2540
+ "relationshipFeatures": [
2541
+ "uuidColumns"
2542
+ ],
2543
+ "tags": [],
2544
+ "risks": []
2545
+ },
2546
+ {
2547
+ "name": "AnalyticsEventCollection",
2548
+ "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsEventCollection",
2549
+ "collection": "analyticsevents",
2550
+ "tableName": "analytics_event_collections",
2551
+ "packageName": "@happyvertical/smrt-analytics",
2552
+ "extends": "SmrtCollection",
2553
+ "fields": [],
2554
+ "relationships": [],
2555
+ "methods": [
2556
+ "countByEventName",
2557
+ "findByClientId",
2558
+ "findByDateRange",
2559
+ "findByEventName",
2560
+ "findByProperty",
2561
+ "findByStatus",
2562
+ "findByUserId",
2563
+ "findConversions",
2564
+ "findFailed",
2565
+ "findForRetry",
2566
+ "findPageviews",
2567
+ "findPending",
2568
+ "findPendingByProperty",
2569
+ "findSent",
2570
+ "getBatchPropertyStats",
2571
+ "getPropertyStats",
2572
+ "getPropertyStatsWithTrend"
2573
+ ],
2574
+ "methodSignatures": [
2549
2575
  {
2550
- "name": "getEmbedding",
2576
+ "name": "countByEventName",
2551
2577
  "async": true,
2552
2578
  "params": [
2553
- "fieldName: string",
2554
- "model?: string"
2579
+ "propertyId: string"
2555
2580
  ],
2556
- "returns": "Promise<number[] | null>"
2581
+ "returns": "Promise<Map<string, number>>"
2557
2582
  },
2558
2583
  {
2559
- "name": "getFields",
2584
+ "name": "findByClientId",
2560
2585
  "async": true,
2561
- "returns": "Promise<any>"
2586
+ "params": [
2587
+ "clientId: string"
2588
+ ],
2589
+ "returns": "Promise<AnalyticsEvent[]>"
2562
2590
  },
2563
2591
  {
2564
- "name": "getId",
2592
+ "name": "findByDateRange",
2565
2593
  "async": true,
2566
- "returns": "any"
2567
- },
2568
- {
2569
- "name": "getMetrics",
2570
- "returns": "Array<object>"
2594
+ "params": [
2595
+ "startDate: Date",
2596
+ "endDate: Date"
2597
+ ],
2598
+ "returns": "Promise<AnalyticsEvent[]>"
2571
2599
  },
2572
2600
  {
2573
- "name": "getRelated",
2601
+ "name": "findByEventName",
2574
2602
  "async": true,
2575
2603
  "params": [
2576
- "fieldName: string",
2577
- "opts?: LoadRelatedOptions"
2604
+ "eventName: string"
2578
2605
  ],
2579
- "returns": "Promise<any>"
2580
- },
2581
- {
2582
- "name": "getResultData",
2583
- "returns": "Record<string> | null"
2606
+ "returns": "Promise<AnalyticsEvent[]>"
2584
2607
  },
2585
2608
  {
2586
- "name": "getSavedId",
2609
+ "name": "findByProperty",
2587
2610
  "async": true,
2588
- "returns": "any"
2611
+ "params": [
2612
+ "propertyId: string"
2613
+ ],
2614
+ "returns": "Promise<AnalyticsEvent[]>"
2589
2615
  },
2590
2616
  {
2591
- "name": "getSlug",
2617
+ "name": "findByStatus",
2592
2618
  "async": true,
2593
- "returns": "any"
2619
+ "params": [
2620
+ "status: TrackingEventStatus"
2621
+ ],
2622
+ "returns": "Promise<AnalyticsEvent[]>"
2594
2623
  },
2595
2624
  {
2596
- "name": "hasPositiveTrends",
2625
+ "name": "findByUserId",
2597
2626
  "async": true,
2598
- "returns": "Promise<boolean>"
2627
+ "params": [
2628
+ "userId: string"
2629
+ ],
2630
+ "returns": "Promise<AnalyticsEvent[]>"
2599
2631
  },
2600
2632
  {
2601
- "name": "hasStaleEmbeddings",
2633
+ "name": "findConversions",
2602
2634
  "async": true,
2603
- "returns": "Promise<boolean>"
2635
+ "params": [
2636
+ "propertyId?: string"
2637
+ ],
2638
+ "returns": "Promise<AnalyticsEvent[]>"
2604
2639
  },
2605
2640
  {
2606
- "name": "initialize",
2641
+ "name": "findFailed",
2607
2642
  "async": true,
2608
- "returns": "Promise"
2643
+ "returns": "Promise<AnalyticsEvent[]>"
2609
2644
  },
2610
2645
  {
2611
- "name": "is",
2646
+ "name": "findForRetry",
2612
2647
  "async": true,
2613
2648
  "params": [
2614
- "criteria: string",
2615
- "options?: AiOperationOptions"
2649
+ "maxRetries?: number"
2616
2650
  ],
2617
- "returns": "any"
2618
- },
2619
- {
2620
- "name": "isDue",
2621
- "returns": "boolean"
2651
+ "returns": "Promise<AnalyticsEvent[]>"
2622
2652
  },
2623
2653
  {
2624
- "name": "isRelatedLoaded",
2654
+ "name": "findPageviews",
2655
+ "async": true,
2625
2656
  "params": [
2626
- "fieldName: string"
2657
+ "propertyId?: string"
2627
2658
  ],
2628
- "returns": "boolean"
2659
+ "returns": "Promise<AnalyticsEvent[]>"
2629
2660
  },
2630
2661
  {
2631
- "name": "isSaved",
2662
+ "name": "findPending",
2632
2663
  "async": true,
2633
- "returns": "any"
2664
+ "returns": "Promise<AnalyticsEvent[]>"
2634
2665
  },
2635
2666
  {
2636
- "name": "listAiUsage",
2667
+ "name": "findPendingByProperty",
2637
2668
  "async": true,
2638
2669
  "params": [
2639
- "options?: AiUsageListOptions"
2670
+ "propertyId: string"
2640
2671
  ],
2641
- "returns": "Promise<SmrtAiUsageRecord[]>"
2672
+ "returns": "Promise<AnalyticsEvent[]>"
2642
2673
  },
2643
2674
  {
2644
- "name": "loadDataFromDb",
2675
+ "name": "findSent",
2645
2676
  "async": true,
2646
- "params": [
2647
- "data: Record<string>"
2648
- ],
2649
- "returns": "any"
2677
+ "returns": "Promise<AnalyticsEvent[]>"
2650
2678
  },
2651
2679
  {
2652
- "name": "loadFromId",
2680
+ "name": "getBatchPropertyStats",
2653
2681
  "async": true,
2654
- "returns": "any"
2682
+ "params": [
2683
+ "propertyIds: string[]",
2684
+ "now?: Date",
2685
+ "timeZone?: string"
2686
+ ],
2687
+ "returns": "Promise<Map<string, PropertyStatsWithTrend>>"
2655
2688
  },
2656
2689
  {
2657
- "name": "loadFromSlug",
2690
+ "name": "getPropertyStats",
2658
2691
  "async": true,
2659
- "returns": "any"
2692
+ "params": [
2693
+ "propertyId: string"
2694
+ ],
2695
+ "returns": "Promise<object>"
2660
2696
  },
2661
2697
  {
2662
- "name": "loadRelated",
2698
+ "name": "getPropertyStatsWithTrend",
2663
2699
  "async": true,
2664
2700
  "params": [
2665
- "fieldName: string",
2666
- "opts?: LoadRelatedOptions"
2701
+ "propertyId: string",
2702
+ "now?: Date",
2703
+ "timeZone?: string"
2667
2704
  ],
2668
- "returns": "Promise<any>"
2669
- },
2705
+ "returns": "Promise<PropertyStatsWithTrend>"
2706
+ }
2707
+ ],
2708
+ "surfaces": [],
2709
+ "relationshipFeatures": [
2710
+ "uuidColumns"
2711
+ ],
2712
+ "tags": [],
2713
+ "risks": []
2714
+ },
2715
+ {
2716
+ "name": "AnalyticsPropertyCollection",
2717
+ "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsPropertyCollection",
2718
+ "collection": "analyticsproperties",
2719
+ "tableName": "analytics_property_collections",
2720
+ "packageName": "@happyvertical/smrt-analytics",
2721
+ "extends": "SmrtCollection",
2722
+ "fields": [],
2723
+ "relationships": [],
2724
+ "methods": [
2725
+ "findActive",
2726
+ "findByExternalId",
2727
+ "findByMeasurementId",
2728
+ "findByProvider",
2729
+ "findBySiteDomain",
2730
+ "findByStatus",
2731
+ "findGA4Properties",
2732
+ "findMatomoSites",
2733
+ "findNeedingSync",
2734
+ "findPlausibleSites"
2735
+ ],
2736
+ "methodSignatures": [
2670
2737
  {
2671
- "name": "loadRelatedMany",
2738
+ "name": "findActive",
2672
2739
  "async": true,
2673
- "params": [
2674
- "fieldName: string",
2675
- "opts?: LoadRelatedOptions"
2676
- ],
2677
- "returns": "Promise<any[]>"
2678
- },
2679
- {
2680
- "name": "markAsPersisted",
2681
- "returns": "void"
2740
+ "returns": "Promise<AnalyticsProperty[]>"
2682
2741
  },
2683
2742
  {
2684
- "name": "markCompleted",
2743
+ "name": "findByExternalId",
2744
+ "async": true,
2685
2745
  "params": [
2686
- "rowCount: number"
2746
+ "externalId: string"
2687
2747
  ],
2688
- "returns": "void"
2748
+ "returns": "Promise<AnalyticsProperty | null>"
2689
2749
  },
2690
2750
  {
2691
- "name": "markFailed",
2751
+ "name": "findByMeasurementId",
2752
+ "async": true,
2692
2753
  "params": [
2693
- "error: string"
2754
+ "measurementId: string"
2694
2755
  ],
2695
- "returns": "void"
2696
- },
2697
- {
2698
- "name": "markRunning",
2699
- "returns": "void"
2756
+ "returns": "Promise<AnalyticsProperty | null>"
2700
2757
  },
2701
2758
  {
2702
- "name": "recall",
2759
+ "name": "findByProvider",
2703
2760
  "async": true,
2704
2761
  "params": [
2705
- "options: object"
2762
+ "provider: AnalyticsProvider"
2706
2763
  ],
2707
- "returns": "Promise"
2764
+ "returns": "Promise<AnalyticsProperty[]>"
2708
2765
  },
2709
2766
  {
2710
- "name": "recallAll",
2767
+ "name": "findBySiteDomain",
2711
2768
  "async": true,
2712
2769
  "params": [
2713
- "options?: object"
2770
+ "siteDomain: string",
2771
+ "provider?: AnalyticsProvider"
2714
2772
  ],
2715
- "returns": "Promise<Map<string>>"
2773
+ "returns": "Promise<AnalyticsProperty | null>"
2716
2774
  },
2717
2775
  {
2718
- "name": "remember",
2776
+ "name": "findByStatus",
2719
2777
  "async": true,
2720
2778
  "params": [
2721
- "options: object"
2779
+ "status: AnalyticsPropertyStatus"
2722
2780
  ],
2723
- "returns": "Promise<void>"
2724
- },
2725
- {
2726
- "name": "requireInsertOnSave",
2727
- "returns": "void"
2781
+ "returns": "Promise<AnalyticsProperty[]>"
2728
2782
  },
2729
2783
  {
2730
- "name": "resetAiUsage",
2731
- "returns": "void"
2784
+ "name": "findGA4Properties",
2785
+ "async": true,
2786
+ "returns": "Promise<AnalyticsProperty[]>"
2732
2787
  },
2733
2788
  {
2734
- "name": "save",
2789
+ "name": "findMatomoSites",
2735
2790
  "async": true,
2736
- "returns": "any"
2791
+ "returns": "Promise<AnalyticsProperty[]>"
2737
2792
  },
2738
2793
  {
2739
- "name": "setDimensions",
2794
+ "name": "findNeedingSync",
2795
+ "async": true,
2740
2796
  "params": [
2741
- "dimensions: Array<object>"
2797
+ "hoursAgo?: number"
2742
2798
  ],
2743
- "returns": "void"
2799
+ "returns": "Promise<AnalyticsProperty[]>"
2744
2800
  },
2745
2801
  {
2746
- "name": "setMetrics",
2802
+ "name": "findPlausibleSites",
2803
+ "async": true,
2804
+ "returns": "Promise<AnalyticsProperty[]>"
2805
+ }
2806
+ ],
2807
+ "surfaces": [],
2808
+ "relationshipFeatures": [
2809
+ "uuidColumns"
2810
+ ],
2811
+ "tags": [],
2812
+ "risks": []
2813
+ },
2814
+ {
2815
+ "name": "AnalyticsReportCollection",
2816
+ "qualifiedName": "@happyvertical/smrt-analytics:AnalyticsReportCollection",
2817
+ "collection": "analyticsreports",
2818
+ "tableName": "analytics_report_collections",
2819
+ "packageName": "@happyvertical/smrt-analytics",
2820
+ "extends": "SmrtCollection",
2821
+ "fields": [],
2822
+ "relationships": [],
2823
+ "methods": [
2824
+ "findByFrequency",
2825
+ "findByProperty",
2826
+ "findByPropertyAndStatus",
2827
+ "findByStatus",
2828
+ "findCompleted",
2829
+ "findDrafts",
2830
+ "findDue",
2831
+ "findFailed",
2832
+ "findRecentlyRun",
2833
+ "findRecurring",
2834
+ "findScheduled"
2835
+ ],
2836
+ "methodSignatures": [
2837
+ {
2838
+ "name": "findByFrequency",
2839
+ "async": true,
2747
2840
  "params": [
2748
- "metrics: Array<object>"
2841
+ "frequency: ReportFrequency"
2749
2842
  ],
2750
- "returns": "void"
2843
+ "returns": "Promise<AnalyticsReport[]>"
2751
2844
  },
2752
2845
  {
2753
- "name": "setResultData",
2846
+ "name": "findByProperty",
2847
+ "async": true,
2754
2848
  "params": [
2755
- "data: Record<string>"
2849
+ "propertyId: string"
2756
2850
  ],
2757
- "returns": "void"
2851
+ "returns": "Promise<AnalyticsReport[]>"
2758
2852
  },
2759
2853
  {
2760
- "name": "summarizeAiUsage",
2854
+ "name": "findByPropertyAndStatus",
2761
2855
  "async": true,
2762
2856
  "params": [
2763
- "options?: AiUsageSummaryOptions"
2857
+ "propertyId: string",
2858
+ "status: ReportStatus"
2764
2859
  ],
2765
- "returns": "Promise<Record<string, AiUsageStats>>"
2766
- },
2767
- {
2768
- "name": "toJSON",
2769
- "returns": "any"
2770
- },
2771
- {
2772
- "name": "toPlainObject",
2773
- "returns": "Record<string>"
2860
+ "returns": "Promise<AnalyticsReport[]>"
2774
2861
  },
2775
2862
  {
2776
- "name": "toPublicJSON",
2863
+ "name": "findByStatus",
2864
+ "async": true,
2777
2865
  "params": [
2778
- "options?: PublicJsonOptions"
2866
+ "status: ReportStatus"
2779
2867
  ],
2780
- "returns": "Record<string>"
2781
- }
2782
- ],
2783
- "tenant": {
2784
- "scoped": true,
2785
- "mode": "optional",
2786
- "field": "tenantId"
2787
- },
2788
- "tableStrategy": "sti",
2789
- "surfaces": [
2790
- {
2791
- "kind": "api",
2792
- "name": "analyticsreports.list",
2793
- "operation": "list",
2794
- "objectName": "@happyvertical/smrt-analytics:AnalyticsReport",
2795
- "path": "/analyticsreports",
2796
- "method": "GET"
2797
- },
2798
- {
2799
- "kind": "api",
2800
- "name": "analyticsreports.get",
2801
- "operation": "get",
2802
- "objectName": "@happyvertical/smrt-analytics:AnalyticsReport",
2803
- "path": "/analyticsreports/[id]",
2804
- "method": "GET"
2805
- },
2806
- {
2807
- "kind": "api",
2808
- "name": "analyticsreports.create",
2809
- "operation": "create",
2810
- "objectName": "@happyvertical/smrt-analytics:AnalyticsReport",
2811
- "path": "/analyticsreports",
2812
- "method": "POST"
2813
- },
2814
- {
2815
- "kind": "api",
2816
- "name": "analyticsreports.update",
2817
- "operation": "update",
2818
- "objectName": "@happyvertical/smrt-analytics:AnalyticsReport",
2819
- "path": "/analyticsreports/[id]",
2820
- "method": "PATCH"
2821
- },
2822
- {
2823
- "kind": "api",
2824
- "name": "analyticsreports.run",
2825
- "operation": "run",
2826
- "objectName": "@happyvertical/smrt-analytics:AnalyticsReport",
2827
- "path": "/analyticsreports/run",
2828
- "method": "POST"
2829
- },
2830
- {
2831
- "kind": "cli",
2832
- "name": "analyticsreport_list",
2833
- "operation": "list",
2834
- "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
2835
- },
2836
- {
2837
- "kind": "cli",
2838
- "name": "analyticsreport_get",
2839
- "operation": "get",
2840
- "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
2868
+ "returns": "Promise<AnalyticsReport[]>"
2841
2869
  },
2842
2870
  {
2843
- "kind": "cli",
2844
- "name": "analyticsreport_create",
2845
- "operation": "create",
2846
- "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
2871
+ "name": "findCompleted",
2872
+ "async": true,
2873
+ "returns": "Promise<AnalyticsReport[]>"
2847
2874
  },
2848
2875
  {
2849
- "kind": "cli",
2850
- "name": "analyticsreport_update",
2851
- "operation": "update",
2852
- "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
2876
+ "name": "findDrafts",
2877
+ "async": true,
2878
+ "returns": "Promise<AnalyticsReport[]>"
2853
2879
  },
2854
2880
  {
2855
- "kind": "cli",
2856
- "name": "analyticsreport_delete",
2857
- "operation": "delete",
2858
- "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
2881
+ "name": "findDue",
2882
+ "async": true,
2883
+ "returns": "Promise<AnalyticsReport[]>"
2859
2884
  },
2860
2885
  {
2861
- "kind": "mcp",
2862
- "name": "analyticsreport_list",
2863
- "operation": "list",
2864
- "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
2886
+ "name": "findFailed",
2887
+ "async": true,
2888
+ "returns": "Promise<AnalyticsReport[]>"
2865
2889
  },
2866
2890
  {
2867
- "kind": "mcp",
2868
- "name": "analyticsreport_get",
2869
- "operation": "get",
2870
- "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
2891
+ "name": "findRecentlyRun",
2892
+ "async": true,
2893
+ "params": [
2894
+ "hoursAgo?: number"
2895
+ ],
2896
+ "returns": "Promise<AnalyticsReport[]>"
2871
2897
  },
2872
2898
  {
2873
- "kind": "mcp",
2874
- "name": "analyticsreport_run",
2875
- "operation": "run",
2876
- "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
2899
+ "name": "findRecurring",
2900
+ "async": true,
2901
+ "returns": "Promise<AnalyticsReport[]>"
2877
2902
  },
2878
2903
  {
2879
- "kind": "mcp",
2880
- "name": "analyticsreport_analyze",
2881
- "operation": "analyze",
2882
- "objectName": "@happyvertical/smrt-analytics:AnalyticsReport"
2904
+ "name": "findScheduled",
2905
+ "async": true,
2906
+ "returns": "Promise<AnalyticsReport[]>"
2883
2907
  }
2884
2908
  ],
2909
+ "surfaces": [],
2885
2910
  "relationshipFeatures": [
2886
- "foreignKey",
2887
2911
  "uuidColumns"
2888
2912
  ],
2889
2913
  "tags": [],