@happyvertical/smrt-messages 0.37.11 → 0.38.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.
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "generatedAt": "2026-07-03T18:34:07.566Z",
3
+ "generatedAt": "2026-07-03T20:40:37.340Z",
4
4
  "packageName": "@happyvertical/smrt-messages",
5
- "packageVersion": "0.37.11",
5
+ "packageVersion": "0.38.0",
6
6
  "sourceManifestPath": "dist/manifest.json",
7
7
  "agentDocPath": "AGENTS.md",
8
8
  "sourceHashes": {
9
- "manifest": "7753baaf760592a277cd718f034bbfaf7d5b20f71018c8c00463a54c3dbcc3ed",
10
- "packageJson": "f1975fbb0622746a95594cd7a9954bd1a2a39293ac2d3a797db871ff019c7396",
9
+ "manifest": "c315e60a87d5f0b8098f8b789fe30a1371d99af9f26d81e6d4aa6243b4dc7ed5",
10
+ "packageJson": "4429b23eb72162fd672bd0b522c1209c38ec47871b502ab1e0a4c28bf8c84da2",
11
11
  "agents": "32563a30ceeb21bd8732042f894e2a148fd83727caffc1eec7c97540005c6fdc"
12
12
  },
13
13
  "exports": [
@@ -63,6 +63,276 @@
63
63
  "tags": [],
64
64
  "risks": [],
65
65
  "objects": [
66
+ {
67
+ "name": "AccountCollection",
68
+ "qualifiedName": "@happyvertical/smrt-messages:AccountCollection",
69
+ "collection": "accounts",
70
+ "tableName": "account_collections",
71
+ "packageName": "@happyvertical/smrt-messages",
72
+ "extends": "SmrtCollection",
73
+ "fields": [],
74
+ "relationships": [],
75
+ "methods": [
76
+ "findByTenant",
77
+ "findGlobal",
78
+ "findWithGlobals",
79
+ "getActive",
80
+ "getByProviderType",
81
+ "getByType",
82
+ "getInactive",
83
+ "getStats",
84
+ "search"
85
+ ],
86
+ "surfaces": [],
87
+ "relationshipFeatures": [
88
+ "uuidColumns"
89
+ ],
90
+ "tags": [],
91
+ "risks": []
92
+ },
93
+ {
94
+ "name": "AttachmentCollection",
95
+ "qualifiedName": "@happyvertical/smrt-messages:AttachmentCollection",
96
+ "collection": "attachments",
97
+ "tableName": "attachment_collections",
98
+ "packageName": "@happyvertical/smrt-messages",
99
+ "extends": "SmrtCollection",
100
+ "fields": [],
101
+ "relationships": [],
102
+ "methods": [
103
+ "deleteByMessage",
104
+ "findByTenant",
105
+ "findGlobal",
106
+ "findWithGlobals",
107
+ "getByContentType",
108
+ "getByExtension",
109
+ "getByMessage",
110
+ "getImages",
111
+ "getInline",
112
+ "getLargest",
113
+ "getPdfs",
114
+ "getRegular",
115
+ "getStats",
116
+ "getTotalSize",
117
+ "getWithExternalFiles",
118
+ "searchByFilename"
119
+ ],
120
+ "surfaces": [],
121
+ "relationshipFeatures": [
122
+ "uuidColumns"
123
+ ],
124
+ "tags": [],
125
+ "risks": []
126
+ },
127
+ {
128
+ "name": "BlacklistCollection",
129
+ "qualifiedName": "@happyvertical/smrt-messages:BlacklistCollection",
130
+ "collection": "blacklists",
131
+ "tableName": "blacklist_collections",
132
+ "packageName": "@happyvertical/smrt-messages",
133
+ "extends": "SmrtCollection",
134
+ "fields": [],
135
+ "relationships": [],
136
+ "methods": [
137
+ "getMatchingEntry",
138
+ "isBlacklisted"
139
+ ],
140
+ "surfaces": [],
141
+ "relationshipFeatures": [
142
+ "uuidColumns"
143
+ ],
144
+ "tags": [],
145
+ "risks": []
146
+ },
147
+ {
148
+ "name": "EmailAccountCollection",
149
+ "qualifiedName": "@happyvertical/smrt-messages:EmailAccountCollection",
150
+ "collection": "accounts",
151
+ "tableName": "accounts",
152
+ "packageName": "@happyvertical/smrt-messages",
153
+ "extends": "AccountCollection",
154
+ "fields": [],
155
+ "relationships": [],
156
+ "methods": [
157
+ "findByTenant",
158
+ "findGlobal",
159
+ "findWithGlobals",
160
+ "getActive",
161
+ "getByEmail",
162
+ "getByEmailProviderType",
163
+ "getByProviderType",
164
+ "getEmailStats",
165
+ "getInactive",
166
+ "getNeedingSync",
167
+ "getStats",
168
+ "getTotalUnreadCount",
169
+ "search",
170
+ "searchEmailAccounts",
171
+ "syncAll"
172
+ ],
173
+ "surfaces": [],
174
+ "relationshipFeatures": [
175
+ "uuidColumns"
176
+ ],
177
+ "tags": [],
178
+ "risks": []
179
+ },
180
+ {
181
+ "name": "EmailAttachmentCollection",
182
+ "qualifiedName": "@happyvertical/smrt-messages:EmailAttachmentCollection",
183
+ "collection": "emailattachments",
184
+ "tableName": "email_attachment_collections",
185
+ "packageName": "@happyvertical/smrt-messages",
186
+ "extends": "AttachmentCollection",
187
+ "fields": [],
188
+ "relationships": [],
189
+ "methods": [
190
+ "deleteByEmail",
191
+ "findByTenant",
192
+ "findGlobal",
193
+ "findWithGlobals",
194
+ "getByEmail",
195
+ "getImages",
196
+ "getInline",
197
+ "getPdfs",
198
+ "getRegular"
199
+ ],
200
+ "surfaces": [],
201
+ "relationshipFeatures": [
202
+ "uuidColumns"
203
+ ],
204
+ "tags": [],
205
+ "risks": []
206
+ },
207
+ {
208
+ "name": "EmailCollection",
209
+ "qualifiedName": "@happyvertical/smrt-messages:EmailCollection",
210
+ "collection": "messages",
211
+ "tableName": "messages",
212
+ "packageName": "@happyvertical/smrt-messages",
213
+ "extends": "MessageCollection",
214
+ "fields": [],
215
+ "relationships": [],
216
+ "methods": [
217
+ "countByFolder",
218
+ "countUnreadByAccount",
219
+ "countUnreadByFolder",
220
+ "deleteByFolder",
221
+ "findByTenant",
222
+ "findGlobal",
223
+ "findWithGlobals",
224
+ "getAccountStats",
225
+ "getByAccount",
226
+ "getByFolder",
227
+ "getByMessageId",
228
+ "getByThread",
229
+ "getFlagged",
230
+ "getRecent",
231
+ "getUnread",
232
+ "getWithAttachments",
233
+ "markFolderRead",
234
+ "search",
235
+ "searchEmails"
236
+ ],
237
+ "surfaces": [],
238
+ "relationshipFeatures": [
239
+ "uuidColumns"
240
+ ],
241
+ "tags": [],
242
+ "risks": []
243
+ },
244
+ {
245
+ "name": "EmailFolderCollection",
246
+ "qualifiedName": "@happyvertical/smrt-messages:EmailFolderCollection",
247
+ "collection": "emailfolders",
248
+ "tableName": "email_folder_collections",
249
+ "packageName": "@happyvertical/smrt-messages",
250
+ "extends": "SmrtCollection",
251
+ "fields": [],
252
+ "relationships": [],
253
+ "methods": [
254
+ "createSystemFolders",
255
+ "findByTenant",
256
+ "findGlobal",
257
+ "findWithGlobals",
258
+ "getAccountStats",
259
+ "getByAccount",
260
+ "getByPath",
261
+ "getDrafts",
262
+ "getInbox",
263
+ "getSent",
264
+ "getSpam",
265
+ "getSubscribed",
266
+ "getSystemFolders",
267
+ "getTrash",
268
+ "getUserFolders",
269
+ "getWithUnread",
270
+ "refreshAllCounts",
271
+ "search"
272
+ ],
273
+ "surfaces": [],
274
+ "relationshipFeatures": [
275
+ "uuidColumns"
276
+ ],
277
+ "tags": [],
278
+ "risks": []
279
+ },
280
+ {
281
+ "name": "MessageCollection",
282
+ "qualifiedName": "@happyvertical/smrt-messages:MessageCollection",
283
+ "collection": "messages",
284
+ "tableName": "message_collections",
285
+ "packageName": "@happyvertical/smrt-messages",
286
+ "extends": "SmrtCollection",
287
+ "fields": [],
288
+ "relationships": [],
289
+ "methods": [
290
+ "findByTenant",
291
+ "findGlobal",
292
+ "findWithGlobals",
293
+ "getAccountStats",
294
+ "getByAccounts",
295
+ "getByThread",
296
+ "getByType",
297
+ "getDrafts",
298
+ "getFailedSends",
299
+ "getFlagged",
300
+ "getOutbox",
301
+ "getRecent",
302
+ "getScheduled",
303
+ "getSent",
304
+ "getUnread",
305
+ "markAllRead",
306
+ "search"
307
+ ],
308
+ "surfaces": [],
309
+ "relationshipFeatures": [
310
+ "uuidColumns"
311
+ ],
312
+ "tags": [],
313
+ "risks": []
314
+ },
315
+ {
316
+ "name": "WhitelistCollection",
317
+ "qualifiedName": "@happyvertical/smrt-messages:WhitelistCollection",
318
+ "collection": "whitelists",
319
+ "tableName": "whitelist_collections",
320
+ "packageName": "@happyvertical/smrt-messages",
321
+ "extends": "SmrtCollection",
322
+ "fields": [],
323
+ "relationships": [],
324
+ "methods": [
325
+ "getByCategory",
326
+ "getMatchingEntry",
327
+ "isWhitelisted"
328
+ ],
329
+ "surfaces": [],
330
+ "relationshipFeatures": [
331
+ "uuidColumns"
332
+ ],
333
+ "tags": [],
334
+ "risks": []
335
+ },
66
336
  {
67
337
  "name": "Account",
68
338
  "qualifiedName": "@happyvertical/smrt-messages:Account",
@@ -1538,282 +1808,65 @@
1538
1808
  "columnType": "BOOLEAN"
1539
1809
  },
1540
1810
  {
1541
- "name": "hasAttachments",
1542
- "type": "boolean",
1543
- "required": true,
1544
- "columnType": "BOOLEAN"
1545
- },
1546
- {
1547
- "name": "size",
1548
- "type": "integer",
1549
- "required": true,
1550
- "columnType": "INTEGER"
1551
- },
1552
- {
1553
- "name": "metadata",
1554
- "type": "text",
1555
- "required": false,
1556
- "columnType": "TEXT"
1557
- },
1558
- {
1559
- "name": "sendStatus",
1560
- "type": "text",
1561
- "required": false,
1562
- "columnType": "TEXT"
1563
- },
1564
- {
1565
- "name": "sentAt",
1566
- "type": "datetime",
1567
- "required": false,
1568
- "columnType": "TIMESTAMP"
1569
- },
1570
- {
1571
- "name": "sendError",
1572
- "type": "text",
1573
- "required": false,
1574
- "columnType": "TEXT"
1575
- },
1576
- {
1577
- "name": "retryCount",
1578
- "type": "integer",
1579
- "required": true,
1580
- "columnType": "INTEGER"
1581
- },
1582
- {
1583
- "name": "maxRetries",
1584
- "type": "integer",
1585
- "required": true,
1586
- "columnType": "INTEGER"
1587
- },
1588
- {
1589
- "name": "scheduledSendAt",
1590
- "type": "datetime",
1591
- "required": false,
1592
- "columnType": "TIMESTAMP"
1593
- },
1594
- {
1595
- "name": "inReplyToMessageId",
1596
- "type": "foreignKey",
1597
- "required": false,
1598
- "related": "Message",
1599
- "columnType": "UUID"
1600
- },
1601
- {
1602
- "name": "createdAt",
1603
- "type": "text",
1604
- "required": false,
1605
- "columnType": "TIMESTAMP"
1606
- },
1607
- {
1608
- "name": "updatedAt",
1609
- "type": "text",
1610
- "required": false,
1611
- "columnType": "TIMESTAMP"
1612
- }
1613
- ],
1614
- "relationships": [
1615
- {
1616
- "name": "accountId",
1617
- "type": "foreignKey",
1618
- "required": false,
1619
- "related": "Account",
1620
- "columnType": "UUID"
1621
- },
1622
- {
1623
- "name": "inReplyToMessageId",
1624
- "type": "foreignKey",
1625
- "required": false,
1626
- "related": "Message",
1627
- "columnType": "UUID"
1628
- }
1629
- ],
1630
- "methods": [
1631
- "_setLoadedRelationship",
1632
- "classifyConstraintError",
1633
- "clearEmbeddings",
1634
- "createForward",
1635
- "createReply",
1636
- "delete",
1637
- "describe",
1638
- "destroy",
1639
- "do",
1640
- "executeToolCall",
1641
- "forget",
1642
- "forgetScope",
1643
- "generateEmbeddings",
1644
- "getAccount",
1645
- "getAiUsageSnapshot",
1646
- "getAttachments",
1647
- "getAvailableTools",
1648
- "getEmbedding",
1649
- "getFields",
1650
- "getId",
1651
- "getMetadata",
1652
- "getPreview",
1653
- "getRelated",
1654
- "getSavedId",
1655
- "getSlug",
1656
- "getThreadMessages",
1657
- "getToAddresses",
1658
- "hasStaleEmbeddings",
1659
- "initialize",
1660
- "is",
1661
- "isRelatedLoaded",
1662
- "isSaved",
1663
- "isUnread",
1664
- "listAiUsage",
1665
- "loadDataFromDb",
1666
- "loadFromId",
1667
- "loadFromSlug",
1668
- "loadRelated",
1669
- "loadRelatedMany",
1670
- "markAsPersisted",
1671
- "markRead",
1672
- "markUnread",
1673
- "recall",
1674
- "recallAll",
1675
- "remember",
1676
- "requireInsertOnSave",
1677
- "resetAiUsage",
1678
- "retrySend",
1679
- "save",
1680
- "send",
1681
- "setMetadata",
1682
- "setToAddresses",
1683
- "summarizeAiUsage",
1684
- "toJSON",
1685
- "toPlainObject",
1686
- "toPublicJSON",
1687
- "toggleFlagged"
1688
- ],
1689
- "surfaces": [
1690
- {
1691
- "kind": "api",
1692
- "name": "messages.list",
1693
- "operation": "list",
1694
- "objectName": "@happyvertical/smrt-messages:Message",
1695
- "path": "/messages",
1696
- "method": "GET"
1697
- },
1698
- {
1699
- "kind": "api",
1700
- "name": "messages.get",
1701
- "operation": "get",
1702
- "objectName": "@happyvertical/smrt-messages:Message",
1703
- "path": "/messages/[id]",
1704
- "method": "GET"
1705
- },
1706
- {
1707
- "kind": "cli",
1708
- "name": "message_list",
1709
- "operation": "list",
1710
- "objectName": "@happyvertical/smrt-messages:Message"
1711
- },
1712
- {
1713
- "kind": "cli",
1714
- "name": "message_get",
1715
- "operation": "get",
1716
- "objectName": "@happyvertical/smrt-messages:Message"
1717
- },
1718
- {
1719
- "kind": "cli",
1720
- "name": "message_create",
1721
- "operation": "create",
1722
- "objectName": "@happyvertical/smrt-messages:Message"
1723
- },
1724
- {
1725
- "kind": "cli",
1726
- "name": "message_update",
1727
- "operation": "update",
1728
- "objectName": "@happyvertical/smrt-messages:Message"
1729
- },
1730
- {
1731
- "kind": "cli",
1732
- "name": "message_delete",
1733
- "operation": "delete",
1734
- "objectName": "@happyvertical/smrt-messages:Message"
1735
- },
1736
- {
1737
- "kind": "mcp",
1738
- "name": "message_list",
1739
- "operation": "list",
1740
- "objectName": "@happyvertical/smrt-messages:Message"
1741
- },
1742
- {
1743
- "kind": "mcp",
1744
- "name": "message_get",
1745
- "operation": "get",
1746
- "objectName": "@happyvertical/smrt-messages:Message"
1747
- }
1748
- ],
1749
- "relationshipFeatures": [
1750
- "foreignKey",
1751
- "uuidColumns"
1752
- ],
1753
- "tags": [],
1754
- "risks": []
1755
- },
1756
- {
1757
- "name": "SlackAccount",
1758
- "qualifiedName": "@happyvertical/smrt-messages:SlackAccount",
1759
- "collection": "accounts",
1760
- "tableName": "accounts",
1761
- "packageName": "@happyvertical/smrt-messages",
1762
- "extends": "Account",
1763
- "fields": [
1764
- {
1765
- "name": "created_at",
1766
- "type": "datetime",
1767
- "required": false,
1768
- "columnType": "TIMESTAMP"
1811
+ "name": "hasAttachments",
1812
+ "type": "boolean",
1813
+ "required": true,
1814
+ "columnType": "BOOLEAN"
1769
1815
  },
1770
1816
  {
1771
- "name": "updated_at",
1772
- "type": "datetime",
1773
- "required": false,
1774
- "columnType": "TIMESTAMP"
1817
+ "name": "size",
1818
+ "type": "integer",
1819
+ "required": true,
1820
+ "columnType": "INTEGER"
1775
1821
  },
1776
1822
  {
1777
- "name": "tenantId",
1823
+ "name": "metadata",
1778
1824
  "type": "text",
1779
1825
  "required": false,
1780
- "columnType": "UUID"
1826
+ "columnType": "TEXT"
1781
1827
  },
1782
1828
  {
1783
- "name": "name",
1829
+ "name": "sendStatus",
1784
1830
  "type": "text",
1785
1831
  "required": false,
1786
1832
  "columnType": "TEXT"
1787
1833
  },
1788
1834
  {
1789
- "name": "providerType",
1790
- "type": "text",
1835
+ "name": "sentAt",
1836
+ "type": "datetime",
1791
1837
  "required": false,
1792
- "columnType": "TEXT"
1838
+ "columnType": "TIMESTAMP"
1793
1839
  },
1794
1840
  {
1795
- "name": "credentialSecretId",
1841
+ "name": "sendError",
1796
1842
  "type": "text",
1797
1843
  "required": false,
1798
1844
  "columnType": "TEXT"
1799
1845
  },
1800
1846
  {
1801
- "name": "isActive",
1802
- "type": "boolean",
1847
+ "name": "retryCount",
1848
+ "type": "integer",
1803
1849
  "required": true,
1804
- "columnType": "BOOLEAN"
1850
+ "columnType": "INTEGER"
1805
1851
  },
1806
1852
  {
1807
- "name": "lastSyncAt",
1853
+ "name": "maxRetries",
1854
+ "type": "integer",
1855
+ "required": true,
1856
+ "columnType": "INTEGER"
1857
+ },
1858
+ {
1859
+ "name": "scheduledSendAt",
1808
1860
  "type": "datetime",
1809
1861
  "required": false,
1810
1862
  "columnType": "TIMESTAMP"
1811
1863
  },
1812
1864
  {
1813
- "name": "settings",
1814
- "type": "text",
1865
+ "name": "inReplyToMessageId",
1866
+ "type": "foreignKey",
1815
1867
  "required": false,
1816
- "columnType": "TEXT"
1868
+ "related": "Message",
1869
+ "columnType": "UUID"
1817
1870
  },
1818
1871
  {
1819
1872
  "name": "createdAt",
@@ -1826,34 +1879,30 @@
1826
1879
  "type": "text",
1827
1880
  "required": false,
1828
1881
  "columnType": "TIMESTAMP"
1829
- },
1830
- {
1831
- "name": "workspaceId",
1832
- "type": "text",
1833
- "required": false,
1834
- "columnType": "TEXT"
1835
- },
1882
+ }
1883
+ ],
1884
+ "relationships": [
1836
1885
  {
1837
- "name": "workspaceName",
1838
- "type": "text",
1886
+ "name": "accountId",
1887
+ "type": "foreignKey",
1839
1888
  "required": false,
1840
- "columnType": "TEXT"
1889
+ "related": "Account",
1890
+ "columnType": "UUID"
1841
1891
  },
1842
1892
  {
1843
- "name": "botUserId",
1844
- "type": "text",
1893
+ "name": "inReplyToMessageId",
1894
+ "type": "foreignKey",
1845
1895
  "required": false,
1846
- "columnType": "TEXT"
1896
+ "related": "Message",
1897
+ "columnType": "UUID"
1847
1898
  }
1848
1899
  ],
1849
- "relationships": [],
1850
1900
  "methods": [
1851
1901
  "_setLoadedRelationship",
1852
- "activate",
1853
1902
  "classifyConstraintError",
1854
1903
  "clearEmbeddings",
1855
- "createSender",
1856
- "deactivate",
1904
+ "createForward",
1905
+ "createReply",
1857
1906
  "delete",
1858
1907
  "describe",
1859
1908
  "destroy",
@@ -1862,21 +1911,26 @@
1862
1911
  "forget",
1863
1912
  "forgetScope",
1864
1913
  "generateEmbeddings",
1914
+ "getAccount",
1865
1915
  "getAiUsageSnapshot",
1916
+ "getAttachments",
1866
1917
  "getAvailableTools",
1867
- "getCredentials",
1868
1918
  "getEmbedding",
1869
1919
  "getFields",
1870
1920
  "getId",
1921
+ "getMetadata",
1922
+ "getPreview",
1871
1923
  "getRelated",
1872
1924
  "getSavedId",
1873
- "getSettings",
1874
1925
  "getSlug",
1926
+ "getThreadMessages",
1927
+ "getToAddresses",
1875
1928
  "hasStaleEmbeddings",
1876
1929
  "initialize",
1877
1930
  "is",
1878
1931
  "isRelatedLoaded",
1879
1932
  "isSaved",
1933
+ "isUnread",
1880
1934
  "listAiUsage",
1881
1935
  "loadDataFromDb",
1882
1936
  "loadFromId",
@@ -1884,256 +1938,152 @@
1884
1938
  "loadRelated",
1885
1939
  "loadRelatedMany",
1886
1940
  "markAsPersisted",
1941
+ "markRead",
1942
+ "markUnread",
1887
1943
  "recall",
1888
1944
  "recallAll",
1889
1945
  "remember",
1890
1946
  "requireInsertOnSave",
1891
1947
  "resetAiUsage",
1948
+ "retrySend",
1892
1949
  "save",
1893
- "setCredentials",
1894
- "setSettings",
1950
+ "send",
1951
+ "setMetadata",
1952
+ "setToAddresses",
1895
1953
  "summarizeAiUsage",
1896
1954
  "toJSON",
1897
1955
  "toPlainObject",
1898
- "toPublicJSON"
1956
+ "toPublicJSON",
1957
+ "toggleFlagged"
1899
1958
  ],
1900
1959
  "surfaces": [
1901
1960
  {
1902
1961
  "kind": "api",
1903
- "name": "accounts.list",
1962
+ "name": "messages.list",
1904
1963
  "operation": "list",
1905
- "objectName": "@happyvertical/smrt-messages:SlackAccount",
1906
- "path": "/accounts",
1964
+ "objectName": "@happyvertical/smrt-messages:Message",
1965
+ "path": "/messages",
1907
1966
  "method": "GET"
1908
1967
  },
1909
1968
  {
1910
1969
  "kind": "api",
1911
- "name": "accounts.get",
1970
+ "name": "messages.get",
1912
1971
  "operation": "get",
1913
- "objectName": "@happyvertical/smrt-messages:SlackAccount",
1914
- "path": "/accounts/[id]",
1972
+ "objectName": "@happyvertical/smrt-messages:Message",
1973
+ "path": "/messages/[id]",
1915
1974
  "method": "GET"
1916
1975
  },
1917
- {
1918
- "kind": "api",
1919
- "name": "accounts.create",
1920
- "operation": "create",
1921
- "objectName": "@happyvertical/smrt-messages:SlackAccount",
1922
- "path": "/accounts",
1923
- "method": "POST"
1924
- },
1925
- {
1926
- "kind": "api",
1927
- "name": "accounts.update",
1928
- "operation": "update",
1929
- "objectName": "@happyvertical/smrt-messages:SlackAccount",
1930
- "path": "/accounts/[id]",
1931
- "method": "PATCH"
1932
- },
1933
- {
1934
- "kind": "api",
1935
- "name": "accounts.delete",
1936
- "operation": "delete",
1937
- "objectName": "@happyvertical/smrt-messages:SlackAccount",
1938
- "path": "/accounts/[id]",
1939
- "method": "DELETE"
1940
- },
1941
1976
  {
1942
1977
  "kind": "cli",
1943
- "name": "slackaccount_list",
1978
+ "name": "message_list",
1944
1979
  "operation": "list",
1945
- "objectName": "@happyvertical/smrt-messages:SlackAccount"
1980
+ "objectName": "@happyvertical/smrt-messages:Message"
1946
1981
  },
1947
1982
  {
1948
1983
  "kind": "cli",
1949
- "name": "slackaccount_get",
1984
+ "name": "message_get",
1950
1985
  "operation": "get",
1951
- "objectName": "@happyvertical/smrt-messages:SlackAccount"
1986
+ "objectName": "@happyvertical/smrt-messages:Message"
1952
1987
  },
1953
1988
  {
1954
1989
  "kind": "cli",
1955
- "name": "slackaccount_create",
1990
+ "name": "message_create",
1956
1991
  "operation": "create",
1957
- "objectName": "@happyvertical/smrt-messages:SlackAccount"
1992
+ "objectName": "@happyvertical/smrt-messages:Message"
1958
1993
  },
1959
1994
  {
1960
1995
  "kind": "cli",
1961
- "name": "slackaccount_update",
1996
+ "name": "message_update",
1962
1997
  "operation": "update",
1963
- "objectName": "@happyvertical/smrt-messages:SlackAccount"
1998
+ "objectName": "@happyvertical/smrt-messages:Message"
1964
1999
  },
1965
2000
  {
1966
2001
  "kind": "cli",
1967
- "name": "slackaccount_delete",
2002
+ "name": "message_delete",
1968
2003
  "operation": "delete",
1969
- "objectName": "@happyvertical/smrt-messages:SlackAccount"
2004
+ "objectName": "@happyvertical/smrt-messages:Message"
1970
2005
  },
1971
2006
  {
1972
2007
  "kind": "mcp",
1973
- "name": "slackaccount_list",
2008
+ "name": "message_list",
1974
2009
  "operation": "list",
1975
- "objectName": "@happyvertical/smrt-messages:SlackAccount"
2010
+ "objectName": "@happyvertical/smrt-messages:Message"
1976
2011
  },
1977
2012
  {
1978
2013
  "kind": "mcp",
1979
- "name": "slackaccount_get",
2014
+ "name": "message_get",
1980
2015
  "operation": "get",
1981
- "objectName": "@happyvertical/smrt-messages:SlackAccount"
2016
+ "objectName": "@happyvertical/smrt-messages:Message"
1982
2017
  }
1983
2018
  ],
1984
2019
  "relationshipFeatures": [
2020
+ "foreignKey",
1985
2021
  "uuidColumns"
1986
2022
  ],
1987
2023
  "tags": [],
1988
2024
  "risks": []
1989
2025
  },
1990
2026
  {
1991
- "name": "SlackMessage",
1992
- "qualifiedName": "@happyvertical/smrt-messages:SlackMessage",
1993
- "collection": "messages",
1994
- "tableName": "messages",
2027
+ "name": "SlackAccount",
2028
+ "qualifiedName": "@happyvertical/smrt-messages:SlackAccount",
2029
+ "collection": "accounts",
2030
+ "tableName": "accounts",
1995
2031
  "packageName": "@happyvertical/smrt-messages",
1996
- "extends": "Message",
2032
+ "extends": "Account",
1997
2033
  "fields": [
1998
- {
1999
- "name": "created_at",
2000
- "type": "datetime",
2001
- "required": false,
2002
- "columnType": "TIMESTAMP"
2003
- },
2004
- {
2005
- "name": "updated_at",
2006
- "type": "datetime",
2007
- "required": false,
2008
- "columnType": "TIMESTAMP"
2009
- },
2010
- {
2011
- "name": "tenantId",
2012
- "type": "text",
2013
- "required": false,
2014
- "columnType": "UUID"
2015
- },
2016
- {
2017
- "name": "accountId",
2018
- "type": "foreignKey",
2019
- "required": false,
2020
- "related": "Account",
2021
- "columnType": "UUID"
2022
- },
2023
- {
2024
- "name": "threadId",
2025
- "type": "text",
2026
- "required": false,
2027
- "columnType": "TEXT"
2028
- },
2029
- {
2030
- "name": "subject",
2031
- "type": "text",
2032
- "required": false,
2033
- "columnType": "TEXT"
2034
- },
2035
- {
2036
- "name": "body",
2037
- "type": "text",
2038
- "required": false,
2039
- "columnType": "TEXT"
2040
- },
2041
- {
2042
- "name": "fromAddress",
2043
- "type": "text",
2044
- "required": false,
2045
- "columnType": "TEXT"
2046
- },
2047
- {
2048
- "name": "fromName",
2049
- "type": "text",
2050
- "required": false,
2051
- "columnType": "TEXT"
2052
- },
2053
- {
2054
- "name": "toAddresses",
2055
- "type": "text",
2056
- "required": false,
2057
- "columnType": "TEXT"
2058
- },
2059
- {
2060
- "name": "date",
2061
- "type": "datetime",
2062
- "required": false,
2063
- "columnType": "TIMESTAMP"
2064
- },
2065
- {
2066
- "name": "isRead",
2067
- "type": "boolean",
2068
- "required": true,
2069
- "columnType": "BOOLEAN"
2070
- },
2071
- {
2072
- "name": "isFlagged",
2073
- "type": "boolean",
2074
- "required": true,
2075
- "columnType": "BOOLEAN"
2076
- },
2077
- {
2078
- "name": "hasAttachments",
2079
- "type": "boolean",
2080
- "required": true,
2081
- "columnType": "BOOLEAN"
2034
+ {
2035
+ "name": "created_at",
2036
+ "type": "datetime",
2037
+ "required": false,
2038
+ "columnType": "TIMESTAMP"
2082
2039
  },
2083
2040
  {
2084
- "name": "size",
2085
- "type": "integer",
2086
- "required": true,
2087
- "columnType": "INTEGER"
2041
+ "name": "updated_at",
2042
+ "type": "datetime",
2043
+ "required": false,
2044
+ "columnType": "TIMESTAMP"
2088
2045
  },
2089
2046
  {
2090
- "name": "metadata",
2047
+ "name": "tenantId",
2091
2048
  "type": "text",
2092
2049
  "required": false,
2093
- "columnType": "TEXT"
2050
+ "columnType": "UUID"
2094
2051
  },
2095
2052
  {
2096
- "name": "sendStatus",
2053
+ "name": "name",
2097
2054
  "type": "text",
2098
2055
  "required": false,
2099
2056
  "columnType": "TEXT"
2100
2057
  },
2101
2058
  {
2102
- "name": "sentAt",
2103
- "type": "datetime",
2059
+ "name": "providerType",
2060
+ "type": "text",
2104
2061
  "required": false,
2105
- "columnType": "TIMESTAMP"
2062
+ "columnType": "TEXT"
2106
2063
  },
2107
2064
  {
2108
- "name": "sendError",
2065
+ "name": "credentialSecretId",
2109
2066
  "type": "text",
2110
2067
  "required": false,
2111
2068
  "columnType": "TEXT"
2112
2069
  },
2113
2070
  {
2114
- "name": "retryCount",
2115
- "type": "integer",
2116
- "required": true,
2117
- "columnType": "INTEGER"
2118
- },
2119
- {
2120
- "name": "maxRetries",
2121
- "type": "integer",
2071
+ "name": "isActive",
2072
+ "type": "boolean",
2122
2073
  "required": true,
2123
- "columnType": "INTEGER"
2074
+ "columnType": "BOOLEAN"
2124
2075
  },
2125
2076
  {
2126
- "name": "scheduledSendAt",
2077
+ "name": "lastSyncAt",
2127
2078
  "type": "datetime",
2128
2079
  "required": false,
2129
2080
  "columnType": "TIMESTAMP"
2130
2081
  },
2131
2082
  {
2132
- "name": "inReplyToMessageId",
2133
- "type": "foreignKey",
2083
+ "name": "settings",
2084
+ "type": "text",
2134
2085
  "required": false,
2135
- "related": "Message",
2136
- "columnType": "UUID"
2086
+ "columnType": "TEXT"
2137
2087
  },
2138
2088
  {
2139
2089
  "name": "createdAt",
@@ -2148,76 +2098,32 @@
2148
2098
  "columnType": "TIMESTAMP"
2149
2099
  },
2150
2100
  {
2151
- "name": "channelId",
2152
- "type": "text",
2153
- "required": false,
2154
- "columnType": "TEXT"
2155
- },
2156
- {
2157
- "name": "channelName",
2158
- "type": "text",
2159
- "required": false,
2160
- "columnType": "TEXT"
2161
- },
2162
- {
2163
- "name": "slackTs",
2164
- "type": "text",
2165
- "required": false,
2166
- "columnType": "TEXT"
2167
- },
2168
- {
2169
- "name": "slackThreadTs",
2170
- "type": "text",
2171
- "required": false,
2172
- "columnType": "TEXT"
2173
- },
2174
- {
2175
- "name": "reactions",
2101
+ "name": "workspaceId",
2176
2102
  "type": "text",
2177
2103
  "required": false,
2178
2104
  "columnType": "TEXT"
2179
2105
  },
2180
2106
  {
2181
- "name": "isEdited",
2182
- "type": "boolean",
2183
- "required": true,
2184
- "columnType": "BOOLEAN"
2185
- },
2186
- {
2187
- "name": "messageType",
2107
+ "name": "workspaceName",
2188
2108
  "type": "text",
2189
2109
  "required": false,
2190
2110
  "columnType": "TEXT"
2191
2111
  },
2192
2112
  {
2193
- "name": "blocks",
2113
+ "name": "botUserId",
2194
2114
  "type": "text",
2195
2115
  "required": false,
2196
2116
  "columnType": "TEXT"
2197
2117
  }
2198
2118
  ],
2199
- "relationships": [
2200
- {
2201
- "name": "accountId",
2202
- "type": "foreignKey",
2203
- "required": false,
2204
- "related": "Account",
2205
- "columnType": "UUID"
2206
- },
2207
- {
2208
- "name": "inReplyToMessageId",
2209
- "type": "foreignKey",
2210
- "required": false,
2211
- "related": "Message",
2212
- "columnType": "UUID"
2213
- }
2214
- ],
2119
+ "relationships": [],
2215
2120
  "methods": [
2216
2121
  "_setLoadedRelationship",
2122
+ "activate",
2217
2123
  "classifyConstraintError",
2218
2124
  "clearEmbeddings",
2219
- "createForward",
2220
- "createReply",
2125
+ "createSender",
2126
+ "deactivate",
2221
2127
  "delete",
2222
2128
  "describe",
2223
2129
  "destroy",
@@ -2226,30 +2132,21 @@
2226
2132
  "forget",
2227
2133
  "forgetScope",
2228
2134
  "generateEmbeddings",
2229
- "getAccount",
2230
2135
  "getAiUsageSnapshot",
2231
- "getAttachments",
2232
2136
  "getAvailableTools",
2233
- "getBlocks",
2137
+ "getCredentials",
2234
2138
  "getEmbedding",
2235
2139
  "getFields",
2236
2140
  "getId",
2237
- "getMetadata",
2238
- "getPreview",
2239
- "getReactions",
2240
2141
  "getRelated",
2241
2142
  "getSavedId",
2143
+ "getSettings",
2242
2144
  "getSlug",
2243
- "getThreadMessages",
2244
- "getToAddresses",
2245
- "getTotalReactions",
2246
2145
  "hasStaleEmbeddings",
2247
2146
  "initialize",
2248
2147
  "is",
2249
- "isInThread",
2250
2148
  "isRelatedLoaded",
2251
2149
  "isSaved",
2252
- "isUnread",
2253
2150
  "listAiUsage",
2254
2151
  "loadDataFromDb",
2255
2152
  "loadFromId",
@@ -2257,102 +2154,112 @@
2257
2154
  "loadRelated",
2258
2155
  "loadRelatedMany",
2259
2156
  "markAsPersisted",
2260
- "markRead",
2261
- "markUnread",
2262
2157
  "recall",
2263
2158
  "recallAll",
2264
2159
  "remember",
2265
2160
  "requireInsertOnSave",
2266
2161
  "resetAiUsage",
2267
- "retrySend",
2268
2162
  "save",
2269
- "send",
2270
- "setMetadata",
2271
- "setToAddresses",
2163
+ "setCredentials",
2164
+ "setSettings",
2272
2165
  "summarizeAiUsage",
2273
2166
  "toJSON",
2274
2167
  "toPlainObject",
2275
- "toPublicJSON",
2276
- "toggleFlagged"
2168
+ "toPublicJSON"
2277
2169
  ],
2278
2170
  "surfaces": [
2279
2171
  {
2280
2172
  "kind": "api",
2281
- "name": "messages.list",
2173
+ "name": "accounts.list",
2282
2174
  "operation": "list",
2283
- "objectName": "@happyvertical/smrt-messages:SlackMessage",
2284
- "path": "/messages",
2175
+ "objectName": "@happyvertical/smrt-messages:SlackAccount",
2176
+ "path": "/accounts",
2285
2177
  "method": "GET"
2286
2178
  },
2287
2179
  {
2288
2180
  "kind": "api",
2289
- "name": "messages.get",
2181
+ "name": "accounts.get",
2290
2182
  "operation": "get",
2291
- "objectName": "@happyvertical/smrt-messages:SlackMessage",
2292
- "path": "/messages/[id]",
2183
+ "objectName": "@happyvertical/smrt-messages:SlackAccount",
2184
+ "path": "/accounts/[id]",
2293
2185
  "method": "GET"
2294
2186
  },
2295
2187
  {
2296
2188
  "kind": "api",
2297
- "name": "messages.create",
2189
+ "name": "accounts.create",
2298
2190
  "operation": "create",
2299
- "objectName": "@happyvertical/smrt-messages:SlackMessage",
2300
- "path": "/messages",
2191
+ "objectName": "@happyvertical/smrt-messages:SlackAccount",
2192
+ "path": "/accounts",
2301
2193
  "method": "POST"
2302
2194
  },
2195
+ {
2196
+ "kind": "api",
2197
+ "name": "accounts.update",
2198
+ "operation": "update",
2199
+ "objectName": "@happyvertical/smrt-messages:SlackAccount",
2200
+ "path": "/accounts/[id]",
2201
+ "method": "PATCH"
2202
+ },
2203
+ {
2204
+ "kind": "api",
2205
+ "name": "accounts.delete",
2206
+ "operation": "delete",
2207
+ "objectName": "@happyvertical/smrt-messages:SlackAccount",
2208
+ "path": "/accounts/[id]",
2209
+ "method": "DELETE"
2210
+ },
2303
2211
  {
2304
2212
  "kind": "cli",
2305
- "name": "slackmessage_list",
2213
+ "name": "slackaccount_list",
2306
2214
  "operation": "list",
2307
- "objectName": "@happyvertical/smrt-messages:SlackMessage"
2215
+ "objectName": "@happyvertical/smrt-messages:SlackAccount"
2308
2216
  },
2309
2217
  {
2310
2218
  "kind": "cli",
2311
- "name": "slackmessage_get",
2219
+ "name": "slackaccount_get",
2312
2220
  "operation": "get",
2313
- "objectName": "@happyvertical/smrt-messages:SlackMessage"
2221
+ "objectName": "@happyvertical/smrt-messages:SlackAccount"
2314
2222
  },
2315
2223
  {
2316
2224
  "kind": "cli",
2317
- "name": "slackmessage_create",
2225
+ "name": "slackaccount_create",
2318
2226
  "operation": "create",
2319
- "objectName": "@happyvertical/smrt-messages:SlackMessage"
2227
+ "objectName": "@happyvertical/smrt-messages:SlackAccount"
2320
2228
  },
2321
2229
  {
2322
2230
  "kind": "cli",
2323
- "name": "slackmessage_update",
2231
+ "name": "slackaccount_update",
2324
2232
  "operation": "update",
2325
- "objectName": "@happyvertical/smrt-messages:SlackMessage"
2233
+ "objectName": "@happyvertical/smrt-messages:SlackAccount"
2326
2234
  },
2327
2235
  {
2328
2236
  "kind": "cli",
2329
- "name": "slackmessage_delete",
2237
+ "name": "slackaccount_delete",
2330
2238
  "operation": "delete",
2331
- "objectName": "@happyvertical/smrt-messages:SlackMessage"
2239
+ "objectName": "@happyvertical/smrt-messages:SlackAccount"
2332
2240
  },
2333
2241
  {
2334
2242
  "kind": "mcp",
2335
- "name": "slackmessage_list",
2243
+ "name": "slackaccount_list",
2336
2244
  "operation": "list",
2337
- "objectName": "@happyvertical/smrt-messages:SlackMessage"
2245
+ "objectName": "@happyvertical/smrt-messages:SlackAccount"
2338
2246
  },
2339
2247
  {
2340
2248
  "kind": "mcp",
2341
- "name": "slackmessage_get",
2249
+ "name": "slackaccount_get",
2342
2250
  "operation": "get",
2343
- "objectName": "@happyvertical/smrt-messages:SlackMessage"
2251
+ "objectName": "@happyvertical/smrt-messages:SlackAccount"
2344
2252
  }
2345
2253
  ],
2346
2254
  "relationshipFeatures": [
2347
- "foreignKey",
2348
2255
  "uuidColumns"
2349
2256
  ],
2350
2257
  "tags": [],
2351
2258
  "risks": []
2352
2259
  },
2353
2260
  {
2354
- "name": "Tweet",
2355
- "qualifiedName": "@happyvertical/smrt-messages:Tweet",
2261
+ "name": "SlackMessage",
2262
+ "qualifiedName": "@happyvertical/smrt-messages:SlackMessage",
2356
2263
  "collection": "messages",
2357
2264
  "tableName": "messages",
2358
2265
  "packageName": "@happyvertical/smrt-messages",
@@ -2511,55 +2418,49 @@
2511
2418
  "columnType": "TIMESTAMP"
2512
2419
  },
2513
2420
  {
2514
- "name": "tweetId",
2421
+ "name": "channelId",
2515
2422
  "type": "text",
2516
2423
  "required": false,
2517
2424
  "columnType": "TEXT"
2518
2425
  },
2519
2426
  {
2520
- "name": "retweetCount",
2521
- "type": "integer",
2522
- "required": true,
2523
- "columnType": "INTEGER"
2427
+ "name": "channelName",
2428
+ "type": "text",
2429
+ "required": false,
2430
+ "columnType": "TEXT"
2524
2431
  },
2525
2432
  {
2526
- "name": "likeCount",
2527
- "type": "integer",
2528
- "required": true,
2529
- "columnType": "INTEGER"
2433
+ "name": "slackTs",
2434
+ "type": "text",
2435
+ "required": false,
2436
+ "columnType": "TEXT"
2530
2437
  },
2531
2438
  {
2532
- "name": "replyCount",
2533
- "type": "integer",
2534
- "required": true,
2535
- "columnType": "INTEGER"
2439
+ "name": "slackThreadTs",
2440
+ "type": "text",
2441
+ "required": false,
2442
+ "columnType": "TEXT"
2536
2443
  },
2537
2444
  {
2538
- "name": "isRetweet",
2539
- "type": "boolean",
2540
- "required": true,
2541
- "columnType": "BOOLEAN"
2445
+ "name": "reactions",
2446
+ "type": "text",
2447
+ "required": false,
2448
+ "columnType": "TEXT"
2542
2449
  },
2543
2450
  {
2544
- "name": "isReply",
2451
+ "name": "isEdited",
2545
2452
  "type": "boolean",
2546
2453
  "required": true,
2547
2454
  "columnType": "BOOLEAN"
2548
2455
  },
2549
2456
  {
2550
- "name": "mediaUrls",
2551
- "type": "text",
2552
- "required": false,
2553
- "columnType": "TEXT"
2554
- },
2555
- {
2556
- "name": "hashtags",
2457
+ "name": "messageType",
2557
2458
  "type": "text",
2558
2459
  "required": false,
2559
2460
  "columnType": "TEXT"
2560
2461
  },
2561
2462
  {
2562
- "name": "mentions",
2463
+ "name": "blocks",
2563
2464
  "type": "text",
2564
2465
  "required": false,
2565
2466
  "columnType": "TEXT"
@@ -2599,23 +2500,23 @@
2599
2500
  "getAiUsageSnapshot",
2600
2501
  "getAttachments",
2601
2502
  "getAvailableTools",
2503
+ "getBlocks",
2602
2504
  "getEmbedding",
2603
- "getEngagement",
2604
2505
  "getFields",
2605
- "getHashtags",
2606
2506
  "getId",
2607
- "getMediaUrls",
2608
- "getMentions",
2609
2507
  "getMetadata",
2610
2508
  "getPreview",
2509
+ "getReactions",
2611
2510
  "getRelated",
2612
2511
  "getSavedId",
2613
2512
  "getSlug",
2614
2513
  "getThreadMessages",
2615
2514
  "getToAddresses",
2515
+ "getTotalReactions",
2616
2516
  "hasStaleEmbeddings",
2617
2517
  "initialize",
2618
2518
  "is",
2519
+ "isInThread",
2619
2520
  "isRelatedLoaded",
2620
2521
  "isSaved",
2621
2522
  "isUnread",
@@ -2649,7 +2550,7 @@
2649
2550
  "kind": "api",
2650
2551
  "name": "messages.list",
2651
2552
  "operation": "list",
2652
- "objectName": "@happyvertical/smrt-messages:Tweet",
2553
+ "objectName": "@happyvertical/smrt-messages:SlackMessage",
2653
2554
  "path": "/messages",
2654
2555
  "method": "GET"
2655
2556
  },
@@ -2657,7 +2558,7 @@
2657
2558
  "kind": "api",
2658
2559
  "name": "messages.get",
2659
2560
  "operation": "get",
2660
- "objectName": "@happyvertical/smrt-messages:Tweet",
2561
+ "objectName": "@happyvertical/smrt-messages:SlackMessage",
2661
2562
  "path": "/messages/[id]",
2662
2563
  "method": "GET"
2663
2564
  },
@@ -2665,51 +2566,51 @@
2665
2566
  "kind": "api",
2666
2567
  "name": "messages.create",
2667
2568
  "operation": "create",
2668
- "objectName": "@happyvertical/smrt-messages:Tweet",
2569
+ "objectName": "@happyvertical/smrt-messages:SlackMessage",
2669
2570
  "path": "/messages",
2670
2571
  "method": "POST"
2671
2572
  },
2672
2573
  {
2673
2574
  "kind": "cli",
2674
- "name": "tweet_list",
2575
+ "name": "slackmessage_list",
2675
2576
  "operation": "list",
2676
- "objectName": "@happyvertical/smrt-messages:Tweet"
2577
+ "objectName": "@happyvertical/smrt-messages:SlackMessage"
2677
2578
  },
2678
2579
  {
2679
2580
  "kind": "cli",
2680
- "name": "tweet_get",
2581
+ "name": "slackmessage_get",
2681
2582
  "operation": "get",
2682
- "objectName": "@happyvertical/smrt-messages:Tweet"
2583
+ "objectName": "@happyvertical/smrt-messages:SlackMessage"
2683
2584
  },
2684
2585
  {
2685
2586
  "kind": "cli",
2686
- "name": "tweet_create",
2587
+ "name": "slackmessage_create",
2687
2588
  "operation": "create",
2688
- "objectName": "@happyvertical/smrt-messages:Tweet"
2589
+ "objectName": "@happyvertical/smrt-messages:SlackMessage"
2689
2590
  },
2690
2591
  {
2691
2592
  "kind": "cli",
2692
- "name": "tweet_update",
2593
+ "name": "slackmessage_update",
2693
2594
  "operation": "update",
2694
- "objectName": "@happyvertical/smrt-messages:Tweet"
2595
+ "objectName": "@happyvertical/smrt-messages:SlackMessage"
2695
2596
  },
2696
2597
  {
2697
2598
  "kind": "cli",
2698
- "name": "tweet_delete",
2599
+ "name": "slackmessage_delete",
2699
2600
  "operation": "delete",
2700
- "objectName": "@happyvertical/smrt-messages:Tweet"
2601
+ "objectName": "@happyvertical/smrt-messages:SlackMessage"
2701
2602
  },
2702
2603
  {
2703
2604
  "kind": "mcp",
2704
- "name": "tweet_list",
2605
+ "name": "slackmessage_list",
2705
2606
  "operation": "list",
2706
- "objectName": "@happyvertical/smrt-messages:Tweet"
2607
+ "objectName": "@happyvertical/smrt-messages:SlackMessage"
2707
2608
  },
2708
2609
  {
2709
2610
  "kind": "mcp",
2710
- "name": "tweet_get",
2611
+ "name": "slackmessage_get",
2711
2612
  "operation": "get",
2712
- "objectName": "@happyvertical/smrt-messages:Tweet"
2613
+ "objectName": "@happyvertical/smrt-messages:SlackMessage"
2713
2614
  }
2714
2615
  ],
2715
2616
  "relationshipFeatures": [
@@ -2720,12 +2621,12 @@
2720
2621
  "risks": []
2721
2622
  },
2722
2623
  {
2723
- "name": "TwitterAccount",
2724
- "qualifiedName": "@happyvertical/smrt-messages:TwitterAccount",
2725
- "collection": "accounts",
2726
- "tableName": "accounts",
2624
+ "name": "Tweet",
2625
+ "qualifiedName": "@happyvertical/smrt-messages:Tweet",
2626
+ "collection": "messages",
2627
+ "tableName": "messages",
2727
2628
  "packageName": "@happyvertical/smrt-messages",
2728
- "extends": "Account",
2629
+ "extends": "Message",
2729
2630
  "fields": [
2730
2631
  {
2731
2632
  "name": "created_at",
@@ -2746,571 +2647,570 @@
2746
2647
  "columnType": "UUID"
2747
2648
  },
2748
2649
  {
2749
- "name": "name",
2650
+ "name": "accountId",
2651
+ "type": "foreignKey",
2652
+ "required": false,
2653
+ "related": "Account",
2654
+ "columnType": "UUID"
2655
+ },
2656
+ {
2657
+ "name": "threadId",
2750
2658
  "type": "text",
2751
2659
  "required": false,
2752
2660
  "columnType": "TEXT"
2753
2661
  },
2754
2662
  {
2755
- "name": "providerType",
2663
+ "name": "subject",
2756
2664
  "type": "text",
2757
2665
  "required": false,
2758
2666
  "columnType": "TEXT"
2759
2667
  },
2760
2668
  {
2761
- "name": "credentialSecretId",
2669
+ "name": "body",
2762
2670
  "type": "text",
2763
2671
  "required": false,
2764
2672
  "columnType": "TEXT"
2765
2673
  },
2766
2674
  {
2767
- "name": "isActive",
2768
- "type": "boolean",
2769
- "required": true,
2770
- "columnType": "BOOLEAN"
2675
+ "name": "fromAddress",
2676
+ "type": "text",
2677
+ "required": false,
2678
+ "columnType": "TEXT"
2771
2679
  },
2772
2680
  {
2773
- "name": "lastSyncAt",
2774
- "type": "datetime",
2681
+ "name": "fromName",
2682
+ "type": "text",
2775
2683
  "required": false,
2776
- "columnType": "TIMESTAMP"
2684
+ "columnType": "TEXT"
2777
2685
  },
2778
2686
  {
2779
- "name": "settings",
2687
+ "name": "toAddresses",
2780
2688
  "type": "text",
2781
2689
  "required": false,
2782
2690
  "columnType": "TEXT"
2783
2691
  },
2784
2692
  {
2785
- "name": "createdAt",
2786
- "type": "text",
2693
+ "name": "date",
2694
+ "type": "datetime",
2787
2695
  "required": false,
2788
2696
  "columnType": "TIMESTAMP"
2789
2697
  },
2790
2698
  {
2791
- "name": "updatedAt",
2699
+ "name": "isRead",
2700
+ "type": "boolean",
2701
+ "required": true,
2702
+ "columnType": "BOOLEAN"
2703
+ },
2704
+ {
2705
+ "name": "isFlagged",
2706
+ "type": "boolean",
2707
+ "required": true,
2708
+ "columnType": "BOOLEAN"
2709
+ },
2710
+ {
2711
+ "name": "hasAttachments",
2712
+ "type": "boolean",
2713
+ "required": true,
2714
+ "columnType": "BOOLEAN"
2715
+ },
2716
+ {
2717
+ "name": "size",
2718
+ "type": "integer",
2719
+ "required": true,
2720
+ "columnType": "INTEGER"
2721
+ },
2722
+ {
2723
+ "name": "metadata",
2792
2724
  "type": "text",
2793
2725
  "required": false,
2794
- "columnType": "TIMESTAMP"
2726
+ "columnType": "TEXT"
2795
2727
  },
2796
2728
  {
2797
- "name": "handle",
2729
+ "name": "sendStatus",
2798
2730
  "type": "text",
2799
2731
  "required": false,
2800
2732
  "columnType": "TEXT"
2801
2733
  },
2802
2734
  {
2803
- "name": "twitterUserId",
2735
+ "name": "sentAt",
2736
+ "type": "datetime",
2737
+ "required": false,
2738
+ "columnType": "TIMESTAMP"
2739
+ },
2740
+ {
2741
+ "name": "sendError",
2804
2742
  "type": "text",
2805
2743
  "required": false,
2806
2744
  "columnType": "TEXT"
2807
- }
2808
- ],
2809
- "relationships": [],
2810
- "methods": [
2811
- "_setLoadedRelationship",
2812
- "activate",
2813
- "classifyConstraintError",
2814
- "clearEmbeddings",
2815
- "createSender",
2816
- "deactivate",
2817
- "delete",
2818
- "describe",
2819
- "destroy",
2820
- "do",
2821
- "executeToolCall",
2822
- "forget",
2823
- "forgetScope",
2824
- "generateEmbeddings",
2825
- "getAiUsageSnapshot",
2826
- "getAvailableTools",
2827
- "getCredentials",
2828
- "getEmbedding",
2829
- "getFields",
2830
- "getId",
2831
- "getRelated",
2832
- "getSavedId",
2833
- "getSettings",
2834
- "getSlug",
2835
- "hasStaleEmbeddings",
2836
- "initialize",
2837
- "is",
2838
- "isRelatedLoaded",
2839
- "isSaved",
2840
- "listAiUsage",
2841
- "loadDataFromDb",
2842
- "loadFromId",
2843
- "loadFromSlug",
2844
- "loadRelated",
2845
- "loadRelatedMany",
2846
- "markAsPersisted",
2847
- "recall",
2848
- "recallAll",
2849
- "remember",
2850
- "requireInsertOnSave",
2851
- "resetAiUsage",
2852
- "save",
2853
- "setCredentials",
2854
- "setSettings",
2855
- "summarizeAiUsage",
2856
- "toJSON",
2857
- "toPlainObject",
2858
- "toPublicJSON"
2859
- ],
2860
- "surfaces": [
2745
+ },
2861
2746
  {
2862
- "kind": "api",
2863
- "name": "accounts.list",
2864
- "operation": "list",
2865
- "objectName": "@happyvertical/smrt-messages:TwitterAccount",
2866
- "path": "/accounts",
2867
- "method": "GET"
2747
+ "name": "retryCount",
2748
+ "type": "integer",
2749
+ "required": true,
2750
+ "columnType": "INTEGER"
2868
2751
  },
2869
2752
  {
2870
- "kind": "api",
2871
- "name": "accounts.get",
2872
- "operation": "get",
2873
- "objectName": "@happyvertical/smrt-messages:TwitterAccount",
2874
- "path": "/accounts/[id]",
2875
- "method": "GET"
2753
+ "name": "maxRetries",
2754
+ "type": "integer",
2755
+ "required": true,
2756
+ "columnType": "INTEGER"
2876
2757
  },
2877
2758
  {
2878
- "kind": "api",
2879
- "name": "accounts.create",
2880
- "operation": "create",
2881
- "objectName": "@happyvertical/smrt-messages:TwitterAccount",
2882
- "path": "/accounts",
2883
- "method": "POST"
2759
+ "name": "scheduledSendAt",
2760
+ "type": "datetime",
2761
+ "required": false,
2762
+ "columnType": "TIMESTAMP"
2884
2763
  },
2885
2764
  {
2886
- "kind": "api",
2887
- "name": "accounts.update",
2888
- "operation": "update",
2889
- "objectName": "@happyvertical/smrt-messages:TwitterAccount",
2890
- "path": "/accounts/[id]",
2891
- "method": "PATCH"
2765
+ "name": "inReplyToMessageId",
2766
+ "type": "foreignKey",
2767
+ "required": false,
2768
+ "related": "Message",
2769
+ "columnType": "UUID"
2892
2770
  },
2893
2771
  {
2894
- "kind": "api",
2895
- "name": "accounts.delete",
2896
- "operation": "delete",
2897
- "objectName": "@happyvertical/smrt-messages:TwitterAccount",
2898
- "path": "/accounts/[id]",
2899
- "method": "DELETE"
2772
+ "name": "createdAt",
2773
+ "type": "text",
2774
+ "required": false,
2775
+ "columnType": "TIMESTAMP"
2900
2776
  },
2901
2777
  {
2902
- "kind": "cli",
2903
- "name": "twitteraccount_list",
2904
- "operation": "list",
2905
- "objectName": "@happyvertical/smrt-messages:TwitterAccount"
2778
+ "name": "updatedAt",
2779
+ "type": "text",
2780
+ "required": false,
2781
+ "columnType": "TIMESTAMP"
2906
2782
  },
2907
2783
  {
2908
- "kind": "cli",
2909
- "name": "twitteraccount_get",
2910
- "operation": "get",
2911
- "objectName": "@happyvertical/smrt-messages:TwitterAccount"
2784
+ "name": "tweetId",
2785
+ "type": "text",
2786
+ "required": false,
2787
+ "columnType": "TEXT"
2912
2788
  },
2913
2789
  {
2914
- "kind": "cli",
2915
- "name": "twitteraccount_create",
2916
- "operation": "create",
2917
- "objectName": "@happyvertical/smrt-messages:TwitterAccount"
2790
+ "name": "retweetCount",
2791
+ "type": "integer",
2792
+ "required": true,
2793
+ "columnType": "INTEGER"
2918
2794
  },
2919
2795
  {
2920
- "kind": "cli",
2921
- "name": "twitteraccount_update",
2922
- "operation": "update",
2923
- "objectName": "@happyvertical/smrt-messages:TwitterAccount"
2796
+ "name": "likeCount",
2797
+ "type": "integer",
2798
+ "required": true,
2799
+ "columnType": "INTEGER"
2924
2800
  },
2925
2801
  {
2926
- "kind": "cli",
2927
- "name": "twitteraccount_delete",
2928
- "operation": "delete",
2929
- "objectName": "@happyvertical/smrt-messages:TwitterAccount"
2802
+ "name": "replyCount",
2803
+ "type": "integer",
2804
+ "required": true,
2805
+ "columnType": "INTEGER"
2930
2806
  },
2931
2807
  {
2932
- "kind": "mcp",
2933
- "name": "twitteraccount_list",
2934
- "operation": "list",
2935
- "objectName": "@happyvertical/smrt-messages:TwitterAccount"
2808
+ "name": "isRetweet",
2809
+ "type": "boolean",
2810
+ "required": true,
2811
+ "columnType": "BOOLEAN"
2936
2812
  },
2937
2813
  {
2938
- "kind": "mcp",
2939
- "name": "twitteraccount_get",
2940
- "operation": "get",
2941
- "objectName": "@happyvertical/smrt-messages:TwitterAccount"
2942
- }
2943
- ],
2944
- "relationshipFeatures": [
2945
- "uuidColumns"
2946
- ],
2947
- "tags": [],
2948
- "risks": []
2949
- },
2950
- {
2951
- "name": "Whitelist",
2952
- "qualifiedName": "@happyvertical/smrt-messages:Whitelist",
2953
- "collection": "whitelists",
2954
- "tableName": "whitelists",
2955
- "packageName": "@happyvertical/smrt-messages",
2956
- "extends": "SmrtObject",
2957
- "fields": [
2814
+ "name": "isReply",
2815
+ "type": "boolean",
2816
+ "required": true,
2817
+ "columnType": "BOOLEAN"
2818
+ },
2958
2819
  {
2959
- "name": "pattern",
2820
+ "name": "mediaUrls",
2960
2821
  "type": "text",
2961
2822
  "required": false,
2962
2823
  "columnType": "TEXT"
2963
2824
  },
2964
2825
  {
2965
- "name": "type",
2826
+ "name": "hashtags",
2966
2827
  "type": "text",
2967
2828
  "required": false,
2968
2829
  "columnType": "TEXT"
2969
2830
  },
2970
2831
  {
2971
- "name": "category",
2832
+ "name": "mentions",
2972
2833
  "type": "text",
2973
2834
  "required": false,
2974
2835
  "columnType": "TEXT"
2975
- },
2836
+ }
2837
+ ],
2838
+ "relationships": [
2976
2839
  {
2977
- "name": "description",
2978
- "type": "text",
2840
+ "name": "accountId",
2841
+ "type": "foreignKey",
2979
2842
  "required": false,
2980
- "columnType": "TEXT"
2843
+ "related": "Account",
2844
+ "columnType": "UUID"
2981
2845
  },
2982
2846
  {
2983
- "name": "tenantId",
2984
- "type": "text",
2847
+ "name": "inReplyToMessageId",
2848
+ "type": "foreignKey",
2985
2849
  "required": false,
2850
+ "related": "Message",
2986
2851
  "columnType": "UUID"
2987
2852
  }
2988
2853
  ],
2989
- "relationships": [],
2990
2854
  "methods": [
2991
- "matches"
2855
+ "_setLoadedRelationship",
2856
+ "classifyConstraintError",
2857
+ "clearEmbeddings",
2858
+ "createForward",
2859
+ "createReply",
2860
+ "delete",
2861
+ "describe",
2862
+ "destroy",
2863
+ "do",
2864
+ "executeToolCall",
2865
+ "forget",
2866
+ "forgetScope",
2867
+ "generateEmbeddings",
2868
+ "getAccount",
2869
+ "getAiUsageSnapshot",
2870
+ "getAttachments",
2871
+ "getAvailableTools",
2872
+ "getEmbedding",
2873
+ "getEngagement",
2874
+ "getFields",
2875
+ "getHashtags",
2876
+ "getId",
2877
+ "getMediaUrls",
2878
+ "getMentions",
2879
+ "getMetadata",
2880
+ "getPreview",
2881
+ "getRelated",
2882
+ "getSavedId",
2883
+ "getSlug",
2884
+ "getThreadMessages",
2885
+ "getToAddresses",
2886
+ "hasStaleEmbeddings",
2887
+ "initialize",
2888
+ "is",
2889
+ "isRelatedLoaded",
2890
+ "isSaved",
2891
+ "isUnread",
2892
+ "listAiUsage",
2893
+ "loadDataFromDb",
2894
+ "loadFromId",
2895
+ "loadFromSlug",
2896
+ "loadRelated",
2897
+ "loadRelatedMany",
2898
+ "markAsPersisted",
2899
+ "markRead",
2900
+ "markUnread",
2901
+ "recall",
2902
+ "recallAll",
2903
+ "remember",
2904
+ "requireInsertOnSave",
2905
+ "resetAiUsage",
2906
+ "retrySend",
2907
+ "save",
2908
+ "send",
2909
+ "setMetadata",
2910
+ "setToAddresses",
2911
+ "summarizeAiUsage",
2912
+ "toJSON",
2913
+ "toPlainObject",
2914
+ "toPublicJSON",
2915
+ "toggleFlagged"
2992
2916
  ],
2993
2917
  "surfaces": [
2994
2918
  {
2995
2919
  "kind": "api",
2996
- "name": "whitelists.list",
2920
+ "name": "messages.list",
2997
2921
  "operation": "list",
2998
- "objectName": "@happyvertical/smrt-messages:Whitelist",
2999
- "path": "/whitelists",
2922
+ "objectName": "@happyvertical/smrt-messages:Tweet",
2923
+ "path": "/messages",
3000
2924
  "method": "GET"
3001
2925
  },
3002
2926
  {
3003
2927
  "kind": "api",
3004
- "name": "whitelists.get",
2928
+ "name": "messages.get",
3005
2929
  "operation": "get",
3006
- "objectName": "@happyvertical/smrt-messages:Whitelist",
3007
- "path": "/whitelists/[id]",
2930
+ "objectName": "@happyvertical/smrt-messages:Tweet",
2931
+ "path": "/messages/[id]",
3008
2932
  "method": "GET"
3009
2933
  },
3010
2934
  {
3011
2935
  "kind": "api",
3012
- "name": "whitelists.create",
2936
+ "name": "messages.create",
3013
2937
  "operation": "create",
3014
- "objectName": "@happyvertical/smrt-messages:Whitelist",
3015
- "path": "/whitelists",
2938
+ "objectName": "@happyvertical/smrt-messages:Tweet",
2939
+ "path": "/messages",
3016
2940
  "method": "POST"
3017
2941
  },
3018
- {
3019
- "kind": "api",
3020
- "name": "whitelists.update",
3021
- "operation": "update",
3022
- "objectName": "@happyvertical/smrt-messages:Whitelist",
3023
- "path": "/whitelists/[id]",
3024
- "method": "PATCH"
3025
- },
3026
- {
3027
- "kind": "api",
3028
- "name": "whitelists.delete",
3029
- "operation": "delete",
3030
- "objectName": "@happyvertical/smrt-messages:Whitelist",
3031
- "path": "/whitelists/[id]",
3032
- "method": "DELETE"
3033
- },
3034
2942
  {
3035
2943
  "kind": "cli",
3036
- "name": "whitelist_list",
2944
+ "name": "tweet_list",
3037
2945
  "operation": "list",
3038
- "objectName": "@happyvertical/smrt-messages:Whitelist"
2946
+ "objectName": "@happyvertical/smrt-messages:Tweet"
3039
2947
  },
3040
2948
  {
3041
2949
  "kind": "cli",
3042
- "name": "whitelist_get",
2950
+ "name": "tweet_get",
3043
2951
  "operation": "get",
3044
- "objectName": "@happyvertical/smrt-messages:Whitelist"
2952
+ "objectName": "@happyvertical/smrt-messages:Tweet"
3045
2953
  },
3046
2954
  {
3047
2955
  "kind": "cli",
3048
- "name": "whitelist_create",
2956
+ "name": "tweet_create",
3049
2957
  "operation": "create",
3050
- "objectName": "@happyvertical/smrt-messages:Whitelist"
3051
- },
3052
- {
3053
- "kind": "cli",
3054
- "name": "whitelist_update",
3055
- "operation": "update",
3056
- "objectName": "@happyvertical/smrt-messages:Whitelist"
3057
- },
3058
- {
3059
- "kind": "cli",
3060
- "name": "whitelist_delete",
3061
- "operation": "delete",
3062
- "objectName": "@happyvertical/smrt-messages:Whitelist"
3063
- }
3064
- ],
3065
- "relationshipFeatures": [
3066
- "uuidColumns"
3067
- ],
3068
- "tags": [],
3069
- "risks": []
3070
- },
3071
- {
3072
- "name": "AccountCollection",
3073
- "qualifiedName": "@happyvertical/smrt-messages:AccountCollection",
3074
- "collection": "accounts",
3075
- "tableName": "account_collections",
3076
- "packageName": "@happyvertical/smrt-messages",
3077
- "extends": "SmrtCollection",
3078
- "fields": [],
3079
- "relationships": [],
3080
- "methods": [
3081
- "findByTenant",
3082
- "findGlobal",
3083
- "findWithGlobals",
3084
- "getActive",
3085
- "getByProviderType",
3086
- "getByType",
3087
- "getInactive",
3088
- "getStats",
3089
- "search"
3090
- ],
3091
- "surfaces": [],
3092
- "relationshipFeatures": [
3093
- "uuidColumns"
3094
- ],
3095
- "tags": [],
3096
- "risks": []
3097
- },
3098
- {
3099
- "name": "AttachmentCollection",
3100
- "qualifiedName": "@happyvertical/smrt-messages:AttachmentCollection",
3101
- "collection": "attachments",
3102
- "tableName": "attachment_collections",
3103
- "packageName": "@happyvertical/smrt-messages",
3104
- "extends": "SmrtCollection",
3105
- "fields": [],
3106
- "relationships": [],
3107
- "methods": [
3108
- "deleteByMessage",
3109
- "findByTenant",
3110
- "findGlobal",
3111
- "findWithGlobals",
3112
- "getByContentType",
3113
- "getByExtension",
3114
- "getByMessage",
3115
- "getImages",
3116
- "getInline",
3117
- "getLargest",
3118
- "getPdfs",
3119
- "getRegular",
3120
- "getStats",
3121
- "getTotalSize",
3122
- "getWithExternalFiles",
3123
- "searchByFilename"
3124
- ],
3125
- "surfaces": [],
3126
- "relationshipFeatures": [
3127
- "uuidColumns"
3128
- ],
3129
- "tags": [],
3130
- "risks": []
3131
- },
3132
- {
3133
- "name": "BlacklistCollection",
3134
- "qualifiedName": "@happyvertical/smrt-messages:BlacklistCollection",
3135
- "collection": "blacklists",
3136
- "tableName": "blacklist_collections",
3137
- "packageName": "@happyvertical/smrt-messages",
3138
- "extends": "SmrtCollection",
3139
- "fields": [],
3140
- "relationships": [],
3141
- "methods": [
3142
- "getMatchingEntry",
3143
- "isBlacklisted"
2958
+ "objectName": "@happyvertical/smrt-messages:Tweet"
2959
+ },
2960
+ {
2961
+ "kind": "cli",
2962
+ "name": "tweet_update",
2963
+ "operation": "update",
2964
+ "objectName": "@happyvertical/smrt-messages:Tweet"
2965
+ },
2966
+ {
2967
+ "kind": "cli",
2968
+ "name": "tweet_delete",
2969
+ "operation": "delete",
2970
+ "objectName": "@happyvertical/smrt-messages:Tweet"
2971
+ },
2972
+ {
2973
+ "kind": "mcp",
2974
+ "name": "tweet_list",
2975
+ "operation": "list",
2976
+ "objectName": "@happyvertical/smrt-messages:Tweet"
2977
+ },
2978
+ {
2979
+ "kind": "mcp",
2980
+ "name": "tweet_get",
2981
+ "operation": "get",
2982
+ "objectName": "@happyvertical/smrt-messages:Tweet"
2983
+ }
3144
2984
  ],
3145
- "surfaces": [],
3146
2985
  "relationshipFeatures": [
2986
+ "foreignKey",
3147
2987
  "uuidColumns"
3148
2988
  ],
3149
2989
  "tags": [],
3150
2990
  "risks": []
3151
2991
  },
3152
2992
  {
3153
- "name": "EmailAccountCollection",
3154
- "qualifiedName": "@happyvertical/smrt-messages:EmailAccountCollection",
2993
+ "name": "TwitterAccount",
2994
+ "qualifiedName": "@happyvertical/smrt-messages:TwitterAccount",
3155
2995
  "collection": "accounts",
3156
2996
  "tableName": "accounts",
3157
2997
  "packageName": "@happyvertical/smrt-messages",
3158
- "extends": "AccountCollection",
3159
- "fields": [],
3160
- "relationships": [],
3161
- "methods": [
3162
- "findByTenant",
3163
- "findGlobal",
3164
- "findWithGlobals",
3165
- "getActive",
3166
- "getByEmail",
3167
- "getByEmailProviderType",
3168
- "getByProviderType",
3169
- "getEmailStats",
3170
- "getInactive",
3171
- "getNeedingSync",
3172
- "getStats",
3173
- "getTotalUnreadCount",
3174
- "search",
3175
- "searchEmailAccounts",
3176
- "syncAll"
3177
- ],
3178
- "surfaces": [],
3179
- "relationshipFeatures": [
3180
- "uuidColumns"
3181
- ],
3182
- "tags": [],
3183
- "risks": []
3184
- },
3185
- {
3186
- "name": "EmailAttachmentCollection",
3187
- "qualifiedName": "@happyvertical/smrt-messages:EmailAttachmentCollection",
3188
- "collection": "emailattachments",
3189
- "tableName": "email_attachment_collections",
3190
- "packageName": "@happyvertical/smrt-messages",
3191
- "extends": "AttachmentCollection",
3192
- "fields": [],
3193
- "relationships": [],
3194
- "methods": [
3195
- "deleteByEmail",
3196
- "findByTenant",
3197
- "findGlobal",
3198
- "findWithGlobals",
3199
- "getByEmail",
3200
- "getImages",
3201
- "getInline",
3202
- "getPdfs",
3203
- "getRegular"
3204
- ],
3205
- "surfaces": [],
3206
- "relationshipFeatures": [
3207
- "uuidColumns"
3208
- ],
3209
- "tags": [],
3210
- "risks": []
3211
- },
3212
- {
3213
- "name": "EmailCollection",
3214
- "qualifiedName": "@happyvertical/smrt-messages:EmailCollection",
3215
- "collection": "messages",
3216
- "tableName": "messages",
3217
- "packageName": "@happyvertical/smrt-messages",
3218
- "extends": "MessageCollection",
3219
- "fields": [],
3220
- "relationships": [],
3221
- "methods": [
3222
- "countByFolder",
3223
- "countUnreadByAccount",
3224
- "countUnreadByFolder",
3225
- "deleteByFolder",
3226
- "findByTenant",
3227
- "findGlobal",
3228
- "findWithGlobals",
3229
- "getAccountStats",
3230
- "getByAccount",
3231
- "getByFolder",
3232
- "getByMessageId",
3233
- "getByThread",
3234
- "getFlagged",
3235
- "getRecent",
3236
- "getUnread",
3237
- "getWithAttachments",
3238
- "markFolderRead",
3239
- "search",
3240
- "searchEmails"
3241
- ],
3242
- "surfaces": [],
3243
- "relationshipFeatures": [
3244
- "uuidColumns"
2998
+ "extends": "Account",
2999
+ "fields": [
3000
+ {
3001
+ "name": "created_at",
3002
+ "type": "datetime",
3003
+ "required": false,
3004
+ "columnType": "TIMESTAMP"
3005
+ },
3006
+ {
3007
+ "name": "updated_at",
3008
+ "type": "datetime",
3009
+ "required": false,
3010
+ "columnType": "TIMESTAMP"
3011
+ },
3012
+ {
3013
+ "name": "tenantId",
3014
+ "type": "text",
3015
+ "required": false,
3016
+ "columnType": "UUID"
3017
+ },
3018
+ {
3019
+ "name": "name",
3020
+ "type": "text",
3021
+ "required": false,
3022
+ "columnType": "TEXT"
3023
+ },
3024
+ {
3025
+ "name": "providerType",
3026
+ "type": "text",
3027
+ "required": false,
3028
+ "columnType": "TEXT"
3029
+ },
3030
+ {
3031
+ "name": "credentialSecretId",
3032
+ "type": "text",
3033
+ "required": false,
3034
+ "columnType": "TEXT"
3035
+ },
3036
+ {
3037
+ "name": "isActive",
3038
+ "type": "boolean",
3039
+ "required": true,
3040
+ "columnType": "BOOLEAN"
3041
+ },
3042
+ {
3043
+ "name": "lastSyncAt",
3044
+ "type": "datetime",
3045
+ "required": false,
3046
+ "columnType": "TIMESTAMP"
3047
+ },
3048
+ {
3049
+ "name": "settings",
3050
+ "type": "text",
3051
+ "required": false,
3052
+ "columnType": "TEXT"
3053
+ },
3054
+ {
3055
+ "name": "createdAt",
3056
+ "type": "text",
3057
+ "required": false,
3058
+ "columnType": "TIMESTAMP"
3059
+ },
3060
+ {
3061
+ "name": "updatedAt",
3062
+ "type": "text",
3063
+ "required": false,
3064
+ "columnType": "TIMESTAMP"
3065
+ },
3066
+ {
3067
+ "name": "handle",
3068
+ "type": "text",
3069
+ "required": false,
3070
+ "columnType": "TEXT"
3071
+ },
3072
+ {
3073
+ "name": "twitterUserId",
3074
+ "type": "text",
3075
+ "required": false,
3076
+ "columnType": "TEXT"
3077
+ }
3245
3078
  ],
3246
- "tags": [],
3247
- "risks": []
3248
- },
3249
- {
3250
- "name": "EmailFolderCollection",
3251
- "qualifiedName": "@happyvertical/smrt-messages:EmailFolderCollection",
3252
- "collection": "emailfolders",
3253
- "tableName": "email_folder_collections",
3254
- "packageName": "@happyvertical/smrt-messages",
3255
- "extends": "SmrtCollection",
3256
- "fields": [],
3257
3079
  "relationships": [],
3258
3080
  "methods": [
3259
- "createSystemFolders",
3260
- "findByTenant",
3261
- "findGlobal",
3262
- "findWithGlobals",
3263
- "getAccountStats",
3264
- "getByAccount",
3265
- "getByPath",
3266
- "getDrafts",
3267
- "getInbox",
3268
- "getSent",
3269
- "getSpam",
3270
- "getSubscribed",
3271
- "getSystemFolders",
3272
- "getTrash",
3273
- "getUserFolders",
3274
- "getWithUnread",
3275
- "refreshAllCounts",
3276
- "search"
3277
- ],
3278
- "surfaces": [],
3279
- "relationshipFeatures": [
3280
- "uuidColumns"
3081
+ "_setLoadedRelationship",
3082
+ "activate",
3083
+ "classifyConstraintError",
3084
+ "clearEmbeddings",
3085
+ "createSender",
3086
+ "deactivate",
3087
+ "delete",
3088
+ "describe",
3089
+ "destroy",
3090
+ "do",
3091
+ "executeToolCall",
3092
+ "forget",
3093
+ "forgetScope",
3094
+ "generateEmbeddings",
3095
+ "getAiUsageSnapshot",
3096
+ "getAvailableTools",
3097
+ "getCredentials",
3098
+ "getEmbedding",
3099
+ "getFields",
3100
+ "getId",
3101
+ "getRelated",
3102
+ "getSavedId",
3103
+ "getSettings",
3104
+ "getSlug",
3105
+ "hasStaleEmbeddings",
3106
+ "initialize",
3107
+ "is",
3108
+ "isRelatedLoaded",
3109
+ "isSaved",
3110
+ "listAiUsage",
3111
+ "loadDataFromDb",
3112
+ "loadFromId",
3113
+ "loadFromSlug",
3114
+ "loadRelated",
3115
+ "loadRelatedMany",
3116
+ "markAsPersisted",
3117
+ "recall",
3118
+ "recallAll",
3119
+ "remember",
3120
+ "requireInsertOnSave",
3121
+ "resetAiUsage",
3122
+ "save",
3123
+ "setCredentials",
3124
+ "setSettings",
3125
+ "summarizeAiUsage",
3126
+ "toJSON",
3127
+ "toPlainObject",
3128
+ "toPublicJSON"
3281
3129
  ],
3282
- "tags": [],
3283
- "risks": []
3284
- },
3285
- {
3286
- "name": "MessageCollection",
3287
- "qualifiedName": "@happyvertical/smrt-messages:MessageCollection",
3288
- "collection": "messages",
3289
- "tableName": "message_collections",
3290
- "packageName": "@happyvertical/smrt-messages",
3291
- "extends": "SmrtCollection",
3292
- "fields": [],
3293
- "relationships": [],
3294
- "methods": [
3295
- "findByTenant",
3296
- "findGlobal",
3297
- "findWithGlobals",
3298
- "getAccountStats",
3299
- "getByAccounts",
3300
- "getByThread",
3301
- "getByType",
3302
- "getDrafts",
3303
- "getFailedSends",
3304
- "getFlagged",
3305
- "getOutbox",
3306
- "getRecent",
3307
- "getScheduled",
3308
- "getSent",
3309
- "getUnread",
3310
- "markAllRead",
3311
- "search"
3130
+ "surfaces": [
3131
+ {
3132
+ "kind": "api",
3133
+ "name": "accounts.list",
3134
+ "operation": "list",
3135
+ "objectName": "@happyvertical/smrt-messages:TwitterAccount",
3136
+ "path": "/accounts",
3137
+ "method": "GET"
3138
+ },
3139
+ {
3140
+ "kind": "api",
3141
+ "name": "accounts.get",
3142
+ "operation": "get",
3143
+ "objectName": "@happyvertical/smrt-messages:TwitterAccount",
3144
+ "path": "/accounts/[id]",
3145
+ "method": "GET"
3146
+ },
3147
+ {
3148
+ "kind": "api",
3149
+ "name": "accounts.create",
3150
+ "operation": "create",
3151
+ "objectName": "@happyvertical/smrt-messages:TwitterAccount",
3152
+ "path": "/accounts",
3153
+ "method": "POST"
3154
+ },
3155
+ {
3156
+ "kind": "api",
3157
+ "name": "accounts.update",
3158
+ "operation": "update",
3159
+ "objectName": "@happyvertical/smrt-messages:TwitterAccount",
3160
+ "path": "/accounts/[id]",
3161
+ "method": "PATCH"
3162
+ },
3163
+ {
3164
+ "kind": "api",
3165
+ "name": "accounts.delete",
3166
+ "operation": "delete",
3167
+ "objectName": "@happyvertical/smrt-messages:TwitterAccount",
3168
+ "path": "/accounts/[id]",
3169
+ "method": "DELETE"
3170
+ },
3171
+ {
3172
+ "kind": "cli",
3173
+ "name": "twitteraccount_list",
3174
+ "operation": "list",
3175
+ "objectName": "@happyvertical/smrt-messages:TwitterAccount"
3176
+ },
3177
+ {
3178
+ "kind": "cli",
3179
+ "name": "twitteraccount_get",
3180
+ "operation": "get",
3181
+ "objectName": "@happyvertical/smrt-messages:TwitterAccount"
3182
+ },
3183
+ {
3184
+ "kind": "cli",
3185
+ "name": "twitteraccount_create",
3186
+ "operation": "create",
3187
+ "objectName": "@happyvertical/smrt-messages:TwitterAccount"
3188
+ },
3189
+ {
3190
+ "kind": "cli",
3191
+ "name": "twitteraccount_update",
3192
+ "operation": "update",
3193
+ "objectName": "@happyvertical/smrt-messages:TwitterAccount"
3194
+ },
3195
+ {
3196
+ "kind": "cli",
3197
+ "name": "twitteraccount_delete",
3198
+ "operation": "delete",
3199
+ "objectName": "@happyvertical/smrt-messages:TwitterAccount"
3200
+ },
3201
+ {
3202
+ "kind": "mcp",
3203
+ "name": "twitteraccount_list",
3204
+ "operation": "list",
3205
+ "objectName": "@happyvertical/smrt-messages:TwitterAccount"
3206
+ },
3207
+ {
3208
+ "kind": "mcp",
3209
+ "name": "twitteraccount_get",
3210
+ "operation": "get",
3211
+ "objectName": "@happyvertical/smrt-messages:TwitterAccount"
3212
+ }
3312
3213
  ],
3313
- "surfaces": [],
3314
3214
  "relationshipFeatures": [
3315
3215
  "uuidColumns"
3316
3216
  ],
@@ -3318,20 +3218,120 @@
3318
3218
  "risks": []
3319
3219
  },
3320
3220
  {
3321
- "name": "WhitelistCollection",
3322
- "qualifiedName": "@happyvertical/smrt-messages:WhitelistCollection",
3221
+ "name": "Whitelist",
3222
+ "qualifiedName": "@happyvertical/smrt-messages:Whitelist",
3323
3223
  "collection": "whitelists",
3324
- "tableName": "whitelist_collections",
3224
+ "tableName": "whitelists",
3325
3225
  "packageName": "@happyvertical/smrt-messages",
3326
- "extends": "SmrtCollection",
3327
- "fields": [],
3226
+ "extends": "SmrtObject",
3227
+ "fields": [
3228
+ {
3229
+ "name": "pattern",
3230
+ "type": "text",
3231
+ "required": false,
3232
+ "columnType": "TEXT"
3233
+ },
3234
+ {
3235
+ "name": "type",
3236
+ "type": "text",
3237
+ "required": false,
3238
+ "columnType": "TEXT"
3239
+ },
3240
+ {
3241
+ "name": "category",
3242
+ "type": "text",
3243
+ "required": false,
3244
+ "columnType": "TEXT"
3245
+ },
3246
+ {
3247
+ "name": "description",
3248
+ "type": "text",
3249
+ "required": false,
3250
+ "columnType": "TEXT"
3251
+ },
3252
+ {
3253
+ "name": "tenantId",
3254
+ "type": "text",
3255
+ "required": false,
3256
+ "columnType": "UUID"
3257
+ }
3258
+ ],
3328
3259
  "relationships": [],
3329
3260
  "methods": [
3330
- "getByCategory",
3331
- "getMatchingEntry",
3332
- "isWhitelisted"
3261
+ "matches"
3262
+ ],
3263
+ "surfaces": [
3264
+ {
3265
+ "kind": "api",
3266
+ "name": "whitelists.list",
3267
+ "operation": "list",
3268
+ "objectName": "@happyvertical/smrt-messages:Whitelist",
3269
+ "path": "/whitelists",
3270
+ "method": "GET"
3271
+ },
3272
+ {
3273
+ "kind": "api",
3274
+ "name": "whitelists.get",
3275
+ "operation": "get",
3276
+ "objectName": "@happyvertical/smrt-messages:Whitelist",
3277
+ "path": "/whitelists/[id]",
3278
+ "method": "GET"
3279
+ },
3280
+ {
3281
+ "kind": "api",
3282
+ "name": "whitelists.create",
3283
+ "operation": "create",
3284
+ "objectName": "@happyvertical/smrt-messages:Whitelist",
3285
+ "path": "/whitelists",
3286
+ "method": "POST"
3287
+ },
3288
+ {
3289
+ "kind": "api",
3290
+ "name": "whitelists.update",
3291
+ "operation": "update",
3292
+ "objectName": "@happyvertical/smrt-messages:Whitelist",
3293
+ "path": "/whitelists/[id]",
3294
+ "method": "PATCH"
3295
+ },
3296
+ {
3297
+ "kind": "api",
3298
+ "name": "whitelists.delete",
3299
+ "operation": "delete",
3300
+ "objectName": "@happyvertical/smrt-messages:Whitelist",
3301
+ "path": "/whitelists/[id]",
3302
+ "method": "DELETE"
3303
+ },
3304
+ {
3305
+ "kind": "cli",
3306
+ "name": "whitelist_list",
3307
+ "operation": "list",
3308
+ "objectName": "@happyvertical/smrt-messages:Whitelist"
3309
+ },
3310
+ {
3311
+ "kind": "cli",
3312
+ "name": "whitelist_get",
3313
+ "operation": "get",
3314
+ "objectName": "@happyvertical/smrt-messages:Whitelist"
3315
+ },
3316
+ {
3317
+ "kind": "cli",
3318
+ "name": "whitelist_create",
3319
+ "operation": "create",
3320
+ "objectName": "@happyvertical/smrt-messages:Whitelist"
3321
+ },
3322
+ {
3323
+ "kind": "cli",
3324
+ "name": "whitelist_update",
3325
+ "operation": "update",
3326
+ "objectName": "@happyvertical/smrt-messages:Whitelist"
3327
+ },
3328
+ {
3329
+ "kind": "cli",
3330
+ "name": "whitelist_delete",
3331
+ "operation": "delete",
3332
+ "objectName": "@happyvertical/smrt-messages:Whitelist"
3333
+ }
3333
3334
  ],
3334
- "surfaces": [],
3335
3335
  "relationshipFeatures": [
3336
3336
  "uuidColumns"
3337
3337
  ],