@happyvertical/smrt-analytics 0.41.0 → 0.42.1

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