@happyvertical/smrt-messages 0.55.9 → 0.55.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +37 -0
  2. package/dist/chunks/{AccountCollection-DhANBhva.js → AccountCollection-BI-osnRy.js} +2 -2
  3. package/dist/chunks/{AccountCollection-DhANBhva.js.map → AccountCollection-BI-osnRy.js.map} +1 -1
  4. package/dist/chunks/{Email-C4cUUFNI.js → Email-BWTPou1O.js} +3 -3
  5. package/dist/chunks/{Email-C4cUUFNI.js.map → Email-BWTPou1O.js.map} +1 -1
  6. package/dist/chunks/{EmailFolder-qoUUSqKI.js → EmailFolder-acO0l4c0.js} +2 -2
  7. package/dist/chunks/{EmailFolder-qoUUSqKI.js.map → EmailFolder-acO0l4c0.js.map} +1 -1
  8. package/dist/chunks/{Message-Bd_2XiIC.js → Message-CX5L_ANS.js} +4 -4
  9. package/dist/chunks/{Message-Bd_2XiIC.js.map → Message-CX5L_ANS.js.map} +1 -1
  10. package/dist/chunks/{MessageCollection-B9MqCWdi.js → MessageCollection-CmKXEeiT.js} +2 -2
  11. package/dist/chunks/{MessageCollection-B9MqCWdi.js.map → MessageCollection-CmKXEeiT.js.map} +1 -1
  12. package/dist/chunks/__smrt-register__-BwaxW-WF.js +6 -0
  13. package/dist/chunks/__smrt-register__-BwaxW-WF.js.map +1 -0
  14. package/dist/index.d.ts +1 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +145 -11
  17. package/dist/index.js.map +1 -1
  18. package/dist/manifest.json +199 -1
  19. package/dist/playground.js +9 -0
  20. package/dist/playground.js.map +1 -1
  21. package/dist/recipes.d.ts +135 -0
  22. package/dist/recipes.d.ts.map +1 -0
  23. package/dist/smrt-knowledge.json +201 -3
  24. package/dist/svelte/components/MailboxDemo.svelte +65 -0
  25. package/dist/svelte/components/MailboxDemo.svelte.d.ts +4 -0
  26. package/dist/svelte/components/MailboxDemo.svelte.d.ts.map +1 -0
  27. package/dist/svelte/i18n.messages.d.ts +8 -0
  28. package/dist/svelte/i18n.messages.d.ts.map +1 -1
  29. package/dist/svelte/i18n.messages.js +8 -0
  30. package/dist/svelte/index.d.ts +3 -0
  31. package/dist/svelte/index.d.ts.map +1 -1
  32. package/dist/svelte/index.js +2 -0
  33. package/dist/svelte/notifications.d.ts +35 -0
  34. package/dist/svelte/notifications.d.ts.map +1 -0
  35. package/dist/svelte/notifications.js +62 -0
  36. package/dist/svelte/playground.d.ts +34 -0
  37. package/dist/svelte/playground.d.ts.map +1 -1
  38. package/dist/svelte/playground.js +9 -0
  39. package/package.json +9 -9
  40. package/dist/chunks/__smrt-register__-DUoO196-.js +0 -6
  41. package/dist/chunks/__smrt-register__-DUoO196-.js.map +0 -1
@@ -0,0 +1,6 @@
1
+ import { ObjectRegistry } from "@happyvertical/smrt-core";
2
+ //#region src/__smrt-register__.ts
3
+ ObjectRegistry.registerPackageManifest(JSON.parse(`{"version":"1.0.0","timestamp":0,"packageName":"@happyvertical/smrt-messages","packageVersion":"0.55.11","objects":{"@happyvertical/smrt-messages:AccountCollection":{"name":"accountcollection","className":"AccountCollection","qualifiedName":"@happyvertical/smrt-messages:AccountCollection","collection":"accounts","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/collections/AccountCollection.ts","packageName":"@happyvertical/smrt-messages","fields":{},"methods":{"getActive":{"name":"getActive","async":true,"parameters":[],"returnType":"Promise<Account[]>","isStatic":false,"isPublic":true},"getInactive":{"name":"getInactive","async":true,"parameters":[],"returnType":"Promise<Account[]>","isStatic":false,"isPublic":true},"getByProviderType":{"name":"getByProviderType","async":true,"parameters":[{"name":"providerType","type":"string","optional":false}],"returnType":"Promise<Account[]>","isStatic":false,"isPublic":true},"getByType":{"name":"getByType","async":true,"parameters":[{"name":"accountType","type":"string","optional":false}],"returnType":"Promise<Account[]>","isStatic":false,"isPublic":true},"search":{"name":"search","async":true,"parameters":[{"name":"query","type":"string","optional":false},{"name":"filters","type":"AccountSearchFilters","optional":true}],"returnType":"Promise<Account[]>","isStatic":false,"isPublic":true},"getStats":{"name":"getStats","async":true,"parameters":[],"returnType":"Promise<object>","isStatic":false,"isPublic":true},"findByTenant":{"name":"findByTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<Account[]>","isStatic":false,"isPublic":true},"findGlobal":{"name":"findGlobal","async":true,"parameters":[],"returnType":"Promise<Account[]>","isStatic":false,"isPublic":true},"findWithGlobals":{"name":"findWithGlobals","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<Account[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{},"extends":"SmrtCollection","extendsTypeArg":"Account","exportName":"AccountCollection","collectionExportName":"AccountCollectionCollection","schema":{"tableName":"accounts","ddl":"CREATE TABLE IF NOT EXISTS \\"accounts\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"name\\" TEXT,\\n \\"provider_type\\" TEXT,\\n \\"channel_type\\" TEXT,\\n \\"credential_secret_id\\" TEXT,\\n \\"is_active\\" BOOLEAN DEFAULT TRUE,\\n \\"last_sync_at\\" TIMESTAMP,\\n \\"settings\\" TEXT,\\n \\"configuration\\" TEXT,\\n \\"email\\" TEXT,\\n \\"sync_interval_minutes\\" INTEGER DEFAULT 60,\\n \\"workspace_id\\" TEXT,\\n \\"workspace_name\\" TEXT,\\n \\"bot_user_id\\" TEXT,\\n \\"handle\\" TEXT,\\n \\"twitter_user_id\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"name":{"type":"TEXT","notNull":false},"provider_type":{"type":"TEXT","notNull":false},"channel_type":{"type":"TEXT","notNull":false},"credential_secret_id":{"type":"TEXT","notNull":false},"is_active":{"type":"BOOLEAN","notNull":false,"default":true},"last_sync_at":{"type":"TIMESTAMP","notNull":false},"settings":{"type":"TEXT","notNull":false},"configuration":{"type":"TEXT","notNull":false},"email":{"type":"TEXT","notNull":false},"sync_interval_minutes":{"type":"INTEGER","notNull":false,"default":60},"workspace_id":{"type":"TEXT","notNull":false},"workspace_name":{"type":"TEXT","notNull":false},"bot_user_id":{"type":"TEXT","notNull":false},"handle":{"type":"TEXT","notNull":false},"twitter_user_id":{"type":"TEXT","notNull":false}},"indexes":[{"name":"accounts_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"accounts_meta_type_idx","columns":["_meta_type"]},{"name":"accounts_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"3854ea98"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:AttachmentCollection":{"name":"attachmentcollection","className":"AttachmentCollection","qualifiedName":"@happyvertical/smrt-messages:AttachmentCollection","collection":"attachments","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/collections/AttachmentCollection.ts","packageName":"@happyvertical/smrt-messages","fields":{},"methods":{"getByMessage":{"name":"getByMessage","async":true,"parameters":[{"name":"messageId","type":"string","optional":false}],"returnType":"Promise<Attachment[]>","isStatic":false,"isPublic":true},"getByContentType":{"name":"getByContentType","async":true,"parameters":[{"name":"contentType","type":"string","optional":false}],"returnType":"Promise<Attachment[]>","isStatic":false,"isPublic":true},"getImages":{"name":"getImages","async":true,"parameters":[{"name":"messageId","type":"string","optional":true}],"returnType":"Promise<Attachment[]>","isStatic":false,"isPublic":true},"getPdfs":{"name":"getPdfs","async":true,"parameters":[{"name":"messageId","type":"string","optional":true}],"returnType":"Promise<Attachment[]>","isStatic":false,"isPublic":true},"getInline":{"name":"getInline","async":true,"parameters":[{"name":"messageId","type":"string","optional":false}],"returnType":"Promise<Attachment[]>","isStatic":false,"isPublic":true},"getRegular":{"name":"getRegular","async":true,"parameters":[{"name":"messageId","type":"string","optional":false}],"returnType":"Promise<Attachment[]>","isStatic":false,"isPublic":true},"getWithExternalFiles":{"name":"getWithExternalFiles","async":true,"parameters":[],"returnType":"Promise<Attachment[]>","isStatic":false,"isPublic":true},"getTotalSize":{"name":"getTotalSize","async":true,"parameters":[{"name":"messageId","type":"string","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"getLargest":{"name":"getLargest","async":true,"parameters":[{"name":"limit","type":"any","optional":true}],"returnType":"Promise<Attachment[]>","isStatic":false,"isPublic":true},"searchByFilename":{"name":"searchByFilename","async":true,"parameters":[{"name":"query","type":"string","optional":false}],"returnType":"Promise<Attachment[]>","isStatic":false,"isPublic":true},"getByExtension":{"name":"getByExtension","async":true,"parameters":[{"name":"extension","type":"string","optional":false}],"returnType":"Promise<Attachment[]>","isStatic":false,"isPublic":true},"getStats":{"name":"getStats","async":true,"parameters":[],"returnType":"Promise<object>","isStatic":false,"isPublic":true},"deleteByMessage":{"name":"deleteByMessage","async":true,"parameters":[{"name":"messageId","type":"string","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"findByTenant":{"name":"findByTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<Attachment[]>","isStatic":false,"isPublic":true},"findGlobal":{"name":"findGlobal","async":true,"parameters":[],"returnType":"Promise<Attachment[]>","isStatic":false,"isPublic":true},"findWithGlobals":{"name":"findWithGlobals","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<Attachment[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{},"extends":"SmrtCollection","extendsTypeArg":"Attachment","exportName":"AttachmentCollection","collectionExportName":"AttachmentCollectionCollection","schema":{"tableName":"attachments","ddl":"CREATE TABLE IF NOT EXISTS \\"attachments\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"message_id\\" UUID,\\n \\"filename\\" TEXT,\\n \\"content_type\\" TEXT,\\n \\"size\\" INTEGER NOT NULL DEFAULT 0,\\n \\"content_id\\" TEXT,\\n \\"content_disposition\\" TEXT DEFAULT 'attachment',\\n \\"file_path\\" TEXT,\\n \\"source_url\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"message_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"messages","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"filename":{"type":"TEXT","notNull":false,"unique":false},"content_type":{"type":"TEXT","notNull":false,"unique":false},"size":{"type":"INTEGER","notNull":true,"unique":false,"default":0},"content_id":{"type":"TEXT","notNull":false,"unique":false},"content_disposition":{"type":"TEXT","notNull":false,"unique":false,"default":"attachment"},"file_path":{"type":"TEXT","notNull":false,"unique":false},"source_url":{"type":"TEXT","notNull":false,"unique":false}},"indexes":[{"name":"attachments_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true,"nullsNotDistinct":true},{"name":"attachments_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"attachments_message_id_idx","columns":["message_id"]}],"version":"ee5ae0dd"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:BlacklistCollection":{"name":"blacklistcollection","className":"BlacklistCollection","qualifiedName":"@happyvertical/smrt-messages:BlacklistCollection","collection":"blacklists","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/collections/BlacklistCollection.ts","packageName":"@happyvertical/smrt-messages","fields":{},"methods":{"isBlacklisted":{"name":"isBlacklisted","async":true,"parameters":[{"name":"email","type":"string","optional":false}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true},"getMatchingEntry":{"name":"getMatchingEntry","async":true,"parameters":[{"name":"email","type":"string","optional":false}],"returnType":"Promise<Blacklist | null>","isStatic":false,"isPublic":true}},"decoratorConfig":{},"extends":"SmrtCollection","extendsTypeArg":"Blacklist","exportName":"BlacklistCollection","collectionExportName":"BlacklistCollectionCollection","schema":{"tableName":"blacklists","ddl":"CREATE TABLE IF NOT EXISTS \\"blacklists\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"pattern\\" TEXT DEFAULT '',\\n \\"type\\" TEXT DEFAULT 'email',\\n \\"reason\\" TEXT DEFAULT '',\\n \\"auto_archive\\" BOOLEAN DEFAULT TRUE,\\n \\"tenant_id\\" UUID NOT NULL\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"pattern":{"type":"TEXT","notNull":false,"unique":false,"default":""},"type":{"type":"TEXT","notNull":false,"unique":false,"default":"email"},"reason":{"type":"TEXT","notNull":false,"unique":false,"default":""},"auto_archive":{"type":"BOOLEAN","notNull":false,"unique":false,"default":true},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false}},"indexes":[{"name":"blacklists_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true},{"name":"blacklists_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"04efaa8d"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:EmailAccountCollection":{"name":"emailaccountcollection","className":"EmailAccountCollection","qualifiedName":"@happyvertical/smrt-messages:EmailAccountCollection","collection":"accounts","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/collections/EmailAccountCollection.ts","packageName":"@happyvertical/smrt-messages","fields":{},"methods":{"getActive":{"name":"getActive","async":true,"parameters":[],"returnType":"Promise<EmailAccount[]>","isStatic":false,"isPublic":true},"getInactive":{"name":"getInactive","async":true,"parameters":[],"returnType":"Promise<EmailAccount[]>","isStatic":false,"isPublic":true},"getByProviderType":{"name":"getByProviderType","async":true,"parameters":[{"name":"providerType","type":"string","optional":false}],"returnType":"Promise<EmailAccount[]>","isStatic":false,"isPublic":true},"getByType":{"name":"getByType","async":true,"parameters":[{"name":"accountType","type":"string","optional":false}],"returnType":"Promise<Account[]>","isStatic":false,"isPublic":true},"search":{"name":"search","async":true,"parameters":[{"name":"query","type":"string","optional":false},{"name":"filters","type":"EmailAccountSearchFilters","optional":true}],"returnType":"Promise<EmailAccount[]>","isStatic":false,"isPublic":true},"getStats":{"name":"getStats","async":true,"parameters":[],"returnType":"Promise<object>","isStatic":false,"isPublic":true},"findByTenant":{"name":"findByTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<EmailAccount[]>","isStatic":false,"isPublic":true},"findGlobal":{"name":"findGlobal","async":true,"parameters":[],"returnType":"Promise<EmailAccount[]>","isStatic":false,"isPublic":true},"findWithGlobals":{"name":"findWithGlobals","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<EmailAccount[]>","isStatic":false,"isPublic":true},"getByEmail":{"name":"getByEmail","async":true,"parameters":[{"name":"email","type":"string","optional":false}],"returnType":"Promise<EmailAccount | null>","isStatic":false,"isPublic":true},"getByEmailProviderType":{"name":"getByEmailProviderType","async":true,"parameters":[{"name":"providerType","type":"ProviderType","optional":false}],"returnType":"Promise<EmailAccount[]>","isStatic":false,"isPublic":true},"getNeedingSync":{"name":"getNeedingSync","async":true,"parameters":[{"name":"maxAgeMinutes","type":"any","optional":true}],"returnType":"Promise<EmailAccount[]>","isStatic":false,"isPublic":true},"searchEmailAccounts":{"name":"searchEmailAccounts","async":true,"parameters":[{"name":"query","type":"string","optional":false},{"name":"filters","type":"EmailAccountSearchFilters","optional":true}],"returnType":"Promise<EmailAccount[]>","isStatic":false,"isPublic":true},"syncAll":{"name":"syncAll","async":true,"parameters":[{"name":"options","type":"SyncOptions","optional":true}],"returnType":"Promise<Map<string, object>>","isStatic":false,"isPublic":true},"getTotalUnreadCount":{"name":"getTotalUnreadCount","async":true,"parameters":[],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"getEmailStats":{"name":"getEmailStats","async":true,"parameters":[],"returnType":"Promise<object>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"accounts"},"extends":"AccountCollection","exportName":"EmailAccountCollection","collectionExportName":"EmailAccountCollectionCollection","schema":{"tableName":"accounts","ddl":"CREATE TABLE IF NOT EXISTS \\"accounts\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"name\\" TEXT,\\n \\"provider_type\\" TEXT,\\n \\"channel_type\\" TEXT,\\n \\"credential_secret_id\\" TEXT,\\n \\"is_active\\" BOOLEAN DEFAULT TRUE,\\n \\"last_sync_at\\" TIMESTAMP,\\n \\"settings\\" TEXT,\\n \\"configuration\\" TEXT,\\n \\"email\\" TEXT,\\n \\"sync_interval_minutes\\" INTEGER DEFAULT 60,\\n \\"workspace_id\\" TEXT,\\n \\"workspace_name\\" TEXT,\\n \\"bot_user_id\\" TEXT,\\n \\"handle\\" TEXT,\\n \\"twitter_user_id\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"name":{"type":"TEXT","notNull":false},"provider_type":{"type":"TEXT","notNull":false},"channel_type":{"type":"TEXT","notNull":false},"credential_secret_id":{"type":"TEXT","notNull":false},"is_active":{"type":"BOOLEAN","notNull":false,"default":true},"last_sync_at":{"type":"TIMESTAMP","notNull":false},"settings":{"type":"TEXT","notNull":false},"configuration":{"type":"TEXT","notNull":false},"email":{"type":"TEXT","notNull":false},"sync_interval_minutes":{"type":"INTEGER","notNull":false,"default":60},"workspace_id":{"type":"TEXT","notNull":false},"workspace_name":{"type":"TEXT","notNull":false},"bot_user_id":{"type":"TEXT","notNull":false},"handle":{"type":"TEXT","notNull":false},"twitter_user_id":{"type":"TEXT","notNull":false}},"indexes":[{"name":"accounts_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"accounts_meta_type_idx","columns":["_meta_type"]},{"name":"accounts_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"3854ea98"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:EmailAttachmentCollection":{"name":"emailattachmentcollection","className":"EmailAttachmentCollection","qualifiedName":"@happyvertical/smrt-messages:EmailAttachmentCollection","collection":"emailattachments","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/collections/EmailAttachmentCollection.ts","packageName":"@happyvertical/smrt-messages","fields":{},"methods":{"getByMessage":{"name":"getByMessage","async":true,"parameters":[{"name":"messageId","type":"string","optional":false}],"returnType":"Promise<Attachment[]>","isStatic":false,"isPublic":true},"getByContentType":{"name":"getByContentType","async":true,"parameters":[{"name":"contentType","type":"string","optional":false}],"returnType":"Promise<Attachment[]>","isStatic":false,"isPublic":true},"getImages":{"name":"getImages","async":true,"parameters":[{"name":"emailId","type":"string","optional":true}],"returnType":"Promise<EmailAttachment[]>","isStatic":false,"isPublic":true},"getPdfs":{"name":"getPdfs","async":true,"parameters":[{"name":"emailId","type":"string","optional":true}],"returnType":"Promise<EmailAttachment[]>","isStatic":false,"isPublic":true},"getInline":{"name":"getInline","async":true,"parameters":[{"name":"emailId","type":"string","optional":false}],"returnType":"Promise<EmailAttachment[]>","isStatic":false,"isPublic":true},"getRegular":{"name":"getRegular","async":true,"parameters":[{"name":"emailId","type":"string","optional":false}],"returnType":"Promise<EmailAttachment[]>","isStatic":false,"isPublic":true},"getWithExternalFiles":{"name":"getWithExternalFiles","async":true,"parameters":[],"returnType":"Promise<Attachment[]>","isStatic":false,"isPublic":true},"getTotalSize":{"name":"getTotalSize","async":true,"parameters":[{"name":"messageId","type":"string","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"getLargest":{"name":"getLargest","async":true,"parameters":[{"name":"limit","type":"any","optional":true}],"returnType":"Promise<Attachment[]>","isStatic":false,"isPublic":true},"searchByFilename":{"name":"searchByFilename","async":true,"parameters":[{"name":"query","type":"string","optional":false}],"returnType":"Promise<Attachment[]>","isStatic":false,"isPublic":true},"getByExtension":{"name":"getByExtension","async":true,"parameters":[{"name":"extension","type":"string","optional":false}],"returnType":"Promise<Attachment[]>","isStatic":false,"isPublic":true},"getStats":{"name":"getStats","async":true,"parameters":[],"returnType":"Promise<object>","isStatic":false,"isPublic":true},"deleteByMessage":{"name":"deleteByMessage","async":true,"parameters":[{"name":"messageId","type":"string","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"findByTenant":{"name":"findByTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<EmailAttachment[]>","isStatic":false,"isPublic":true},"findGlobal":{"name":"findGlobal","async":true,"parameters":[],"returnType":"Promise<EmailAttachment[]>","isStatic":false,"isPublic":true},"findWithGlobals":{"name":"findWithGlobals","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<EmailAttachment[]>","isStatic":false,"isPublic":true},"getByEmail":{"name":"getByEmail","async":true,"parameters":[{"name":"emailId","type":"string","optional":false}],"returnType":"Promise<EmailAttachment[]>","isStatic":false,"isPublic":true},"deleteByEmail":{"name":"deleteByEmail","async":true,"parameters":[{"name":"emailId","type":"string","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true}},"decoratorConfig":{},"extends":"AttachmentCollection","exportName":"EmailAttachmentCollection","collectionExportName":"EmailAttachmentCollectionCollection","schema":{"tableName":"email_attachments","ddl":"CREATE TABLE IF NOT EXISTS \\"email_attachments\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"}},"indexes":[{"name":"email_attachments_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"email_attachments_created_at_idx","columns":["created_at"]}],"version":"70291c59"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:EmailCollection":{"name":"emailcollection","className":"EmailCollection","qualifiedName":"@happyvertical/smrt-messages:EmailCollection","collection":"messages","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/collections/EmailCollection.ts","packageName":"@happyvertical/smrt-messages","fields":{},"methods":{"search":{"name":"search","async":true,"parameters":[{"name":"query","type":"string","optional":false},{"name":"filters","type":"EmailSearchFilters","optional":true}],"returnType":"Promise<Email[]>","isStatic":false,"isPublic":true},"getByAccounts":{"name":"getByAccounts","async":true,"parameters":[{"name":"accountIds","type":"string[]","optional":false}],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"getByType":{"name":"getByType","async":true,"parameters":[{"name":"messageType","type":"string","optional":false}],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"getUnread":{"name":"getUnread","async":true,"parameters":[{"name":"accountId","type":"string","optional":true}],"returnType":"Promise<Email[]>","isStatic":false,"isPublic":true},"getFlagged":{"name":"getFlagged","async":true,"parameters":[{"name":"accountId","type":"string","optional":true}],"returnType":"Promise<Email[]>","isStatic":false,"isPublic":true},"getRecent":{"name":"getRecent","async":true,"parameters":[{"name":"limit","type":"any","optional":true},{"name":"accountId","type":"string","optional":true}],"returnType":"Promise<Email[]>","isStatic":false,"isPublic":true},"getByThread":{"name":"getByThread","async":true,"parameters":[{"name":"threadId","type":"string","optional":false}],"returnType":"Promise<Email[]>","isStatic":false,"isPublic":true},"markAllRead":{"name":"markAllRead","async":true,"parameters":[{"name":"messageIds","type":"string[]","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getAccountStats":{"name":"getAccountStats","async":true,"parameters":[{"name":"accountId","type":"string","optional":false}],"returnType":"Promise<object>","isStatic":false,"isPublic":true},"getDrafts":{"name":"getDrafts","async":true,"parameters":[{"name":"accountId","type":"string","optional":true}],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"getSent":{"name":"getSent","async":true,"parameters":[{"name":"accountId","type":"string","optional":true}],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"getScheduled":{"name":"getScheduled","async":true,"parameters":[{"name":"accountId","type":"string","optional":true}],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"getFailedSends":{"name":"getFailedSends","async":true,"parameters":[{"name":"accountId","type":"string","optional":true}],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"getOutbox":{"name":"getOutbox","async":true,"parameters":[{"name":"accountId","type":"string","optional":true}],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"findByTenant":{"name":"findByTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<Email[]>","isStatic":false,"isPublic":true},"findGlobal":{"name":"findGlobal","async":true,"parameters":[],"returnType":"Promise<Email[]>","isStatic":false,"isPublic":true},"findWithGlobals":{"name":"findWithGlobals","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<Email[]>","isStatic":false,"isPublic":true},"getByMessageId":{"name":"getByMessageId","async":true,"parameters":[{"name":"accountId","type":"string","optional":false},{"name":"messageId","type":"string","optional":false}],"returnType":"Promise<Email | null>","isStatic":false,"isPublic":true},"getByAccount":{"name":"getByAccount","async":true,"parameters":[{"name":"accountId","type":"string","optional":false}],"returnType":"Promise<Email[]>","isStatic":false,"isPublic":true},"getByFolder":{"name":"getByFolder","async":true,"parameters":[{"name":"folderId","type":"string","optional":false}],"returnType":"Promise<Email[]>","isStatic":false,"isPublic":true},"getWithAttachments":{"name":"getWithAttachments","async":true,"parameters":[{"name":"accountId","type":"string","optional":true}],"returnType":"Promise<Email[]>","isStatic":false,"isPublic":true},"countByFolder":{"name":"countByFolder","async":true,"parameters":[{"name":"folderId","type":"string","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"countUnreadByFolder":{"name":"countUnreadByFolder","async":true,"parameters":[{"name":"folderId","type":"string","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"countUnreadByAccount":{"name":"countUnreadByAccount","async":true,"parameters":[{"name":"accountId","type":"string","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"searchEmails":{"name":"searchEmails","async":true,"parameters":[{"name":"query","type":"string","optional":false},{"name":"filters","type":"EmailSearchFilters","optional":true}],"returnType":"Promise<Email[]>","isStatic":false,"isPublic":true},"markFolderRead":{"name":"markFolderRead","async":true,"parameters":[{"name":"folderId","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"deleteByFolder":{"name":"deleteByFolder","async":true,"parameters":[{"name":"folderId","type":"string","optional":false}],"returnType":"Promise<number>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"messages"},"extends":"MessageCollection","exportName":"EmailCollection","collectionExportName":"EmailCollectionCollection","schema":{"tableName":"messages","ddl":"CREATE TABLE IF NOT EXISTS \\"messages\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"account_id\\" UUID,\\n \\"persona_id\\" UUID,\\n \\"endpoint_id\\" UUID,\\n \\"correlation_id\\" TEXT,\\n \\"thread_id\\" TEXT,\\n \\"subject\\" TEXT,\\n \\"body\\" TEXT,\\n \\"from_address\\" TEXT,\\n \\"from_name\\" TEXT,\\n \\"to_addresses\\" TEXT,\\n \\"date\\" TIMESTAMP,\\n \\"is_read\\" BOOLEAN DEFAULT FALSE,\\n \\"is_flagged\\" BOOLEAN DEFAULT FALSE,\\n \\"has_attachments\\" BOOLEAN DEFAULT FALSE,\\n \\"size\\" INTEGER DEFAULT 0,\\n \\"metadata\\" TEXT,\\n \\"send_status\\" TEXT DEFAULT 'draft',\\n \\"sent_at\\" TIMESTAMP,\\n \\"send_error\\" TEXT,\\n \\"retry_count\\" INTEGER DEFAULT 0,\\n \\"max_retries\\" INTEGER DEFAULT 3,\\n \\"scheduled_send_at\\" TIMESTAMP,\\n \\"in_reply_to_message_id\\" UUID,\\n \\"message_id\\" TEXT,\\n \\"in_reply_to\\" TEXT,\\n \\"cc_addresses\\" TEXT,\\n \\"bcc_addresses\\" TEXT,\\n \\"reply_to_address\\" TEXT,\\n \\"reply_to_name\\" TEXT,\\n \\"text_body\\" TEXT,\\n \\"html_body\\" TEXT,\\n \\"folder_id\\" TEXT,\\n \\"folder_path\\" TEXT,\\n \\"labels\\" TEXT,\\n \\"flags\\" TEXT,\\n \\"is_answered\\" BOOLEAN DEFAULT FALSE,\\n \\"is_draft\\" BOOLEAN DEFAULT FALSE,\\n \\"raw_message\\" TEXT,\\n \\"headers\\" TEXT,\\n \\"channel_id\\" TEXT,\\n \\"channel_name\\" TEXT,\\n \\"slack_ts\\" TEXT,\\n \\"slack_thread_ts\\" TEXT,\\n \\"reactions\\" TEXT,\\n \\"is_edited\\" BOOLEAN DEFAULT FALSE,\\n \\"message_type\\" TEXT,\\n \\"blocks\\" TEXT,\\n \\"tweet_id\\" TEXT,\\n \\"retweet_count\\" INTEGER DEFAULT 0,\\n \\"like_count\\" INTEGER DEFAULT 0,\\n \\"reply_count\\" INTEGER DEFAULT 0,\\n \\"is_retweet\\" BOOLEAN DEFAULT FALSE,\\n \\"is_reply\\" BOOLEAN DEFAULT FALSE,\\n \\"media_urls\\" TEXT,\\n \\"hashtags\\" TEXT,\\n \\"mentions\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"account_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"accounts","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"persona_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false},"endpoint_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"messaging_endpoints","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"correlation_id":{"type":"TEXT","notNull":false},"thread_id":{"type":"TEXT","notNull":false},"subject":{"type":"TEXT","notNull":false},"body":{"type":"TEXT","notNull":false},"from_address":{"type":"TEXT","notNull":false},"from_name":{"type":"TEXT","notNull":false},"to_addresses":{"type":"TEXT","notNull":false},"date":{"type":"TIMESTAMP","notNull":false},"is_read":{"type":"BOOLEAN","notNull":false,"default":false},"is_flagged":{"type":"BOOLEAN","notNull":false,"default":false},"has_attachments":{"type":"BOOLEAN","notNull":false,"default":false},"size":{"type":"INTEGER","notNull":false,"default":0},"metadata":{"type":"TEXT","notNull":false},"send_status":{"type":"TEXT","notNull":false,"default":"draft"},"sent_at":{"type":"TIMESTAMP","notNull":false},"send_error":{"type":"TEXT","notNull":false},"retry_count":{"type":"INTEGER","notNull":false,"default":0},"max_retries":{"type":"INTEGER","notNull":false,"default":3},"scheduled_send_at":{"type":"TIMESTAMP","notNull":false},"in_reply_to_message_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"messages","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"message_id":{"type":"TEXT","notNull":false},"in_reply_to":{"type":"TEXT","notNull":false},"cc_addresses":{"type":"TEXT","notNull":false},"bcc_addresses":{"type":"TEXT","notNull":false},"reply_to_address":{"type":"TEXT","notNull":false},"reply_to_name":{"type":"TEXT","notNull":false},"text_body":{"type":"TEXT","notNull":false},"html_body":{"type":"TEXT","notNull":false},"folder_id":{"type":"TEXT","notNull":false},"folder_path":{"type":"TEXT","notNull":false},"labels":{"type":"TEXT","notNull":false},"flags":{"type":"TEXT","notNull":false},"is_answered":{"type":"BOOLEAN","notNull":false,"default":false},"is_draft":{"type":"BOOLEAN","notNull":false,"default":false},"raw_message":{"type":"TEXT","notNull":false},"headers":{"type":"TEXT","notNull":false},"channel_id":{"type":"TEXT","notNull":false},"channel_name":{"type":"TEXT","notNull":false},"slack_ts":{"type":"TEXT","notNull":false},"slack_thread_ts":{"type":"TEXT","notNull":false},"reactions":{"type":"TEXT","notNull":false},"is_edited":{"type":"BOOLEAN","notNull":false,"default":false},"message_type":{"type":"TEXT","notNull":false},"blocks":{"type":"TEXT","notNull":false},"tweet_id":{"type":"TEXT","notNull":false},"retweet_count":{"type":"INTEGER","notNull":false,"default":0},"like_count":{"type":"INTEGER","notNull":false,"default":0},"reply_count":{"type":"INTEGER","notNull":false,"default":0},"is_retweet":{"type":"BOOLEAN","notNull":false,"default":false},"is_reply":{"type":"BOOLEAN","notNull":false,"default":false},"media_urls":{"type":"TEXT","notNull":false},"hashtags":{"type":"TEXT","notNull":false},"mentions":{"type":"TEXT","notNull":false}},"indexes":[{"name":"messages_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"messages_meta_type_idx","columns":["_meta_type"]},{"name":"messages_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"messages_account_id_idx","columns":["account_id"]},{"name":"messages_persona_id_idx","columns":["persona_id"]},{"name":"messages_endpoint_id_idx","columns":["endpoint_id"]},{"name":"messages_in_reply_to_message_id_idx","columns":["in_reply_to_message_id"]}],"version":"6ff29dd9"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:EmailFolderCollection":{"name":"emailfoldercollection","className":"EmailFolderCollection","qualifiedName":"@happyvertical/smrt-messages:EmailFolderCollection","collection":"emailfolders","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/collections/EmailFolderCollection.ts","packageName":"@happyvertical/smrt-messages","fields":{},"methods":{"getByPath":{"name":"getByPath","async":true,"parameters":[{"name":"accountId","type":"string","optional":false},{"name":"path","type":"string","optional":false}],"returnType":"Promise<EmailFolder | null>","isStatic":false,"isPublic":true},"getByAccount":{"name":"getByAccount","async":true,"parameters":[{"name":"accountId","type":"string","optional":false}],"returnType":"Promise<EmailFolder[]>","isStatic":false,"isPublic":true},"getInbox":{"name":"getInbox","async":true,"parameters":[{"name":"accountId","type":"string","optional":false}],"returnType":"Promise<EmailFolder | null>","isStatic":false,"isPublic":true},"getSent":{"name":"getSent","async":true,"parameters":[{"name":"accountId","type":"string","optional":false}],"returnType":"Promise<EmailFolder | null>","isStatic":false,"isPublic":true},"getDrafts":{"name":"getDrafts","async":true,"parameters":[{"name":"accountId","type":"string","optional":false}],"returnType":"Promise<EmailFolder | null>","isStatic":false,"isPublic":true},"getTrash":{"name":"getTrash","async":true,"parameters":[{"name":"accountId","type":"string","optional":false}],"returnType":"Promise<EmailFolder | null>","isStatic":false,"isPublic":true},"getSpam":{"name":"getSpam","async":true,"parameters":[{"name":"accountId","type":"string","optional":false}],"returnType":"Promise<EmailFolder | null>","isStatic":false,"isPublic":true},"getSystemFolders":{"name":"getSystemFolders","async":true,"parameters":[{"name":"accountId","type":"string","optional":false}],"returnType":"Promise<EmailFolder[]>","isStatic":false,"isPublic":true},"getUserFolders":{"name":"getUserFolders","async":true,"parameters":[{"name":"accountId","type":"string","optional":false}],"returnType":"Promise<EmailFolder[]>","isStatic":false,"isPublic":true},"getSubscribed":{"name":"getSubscribed","async":true,"parameters":[{"name":"accountId","type":"string","optional":true}],"returnType":"Promise<EmailFolder[]>","isStatic":false,"isPublic":true},"getWithUnread":{"name":"getWithUnread","async":true,"parameters":[{"name":"accountId","type":"string","optional":true}],"returnType":"Promise<EmailFolder[]>","isStatic":false,"isPublic":true},"search":{"name":"search","async":true,"parameters":[{"name":"query","type":"string","optional":false},{"name":"filters","type":"EmailFolderSearchFilters","optional":true}],"returnType":"Promise<EmailFolder[]>","isStatic":false,"isPublic":true},"refreshAllCounts":{"name":"refreshAllCounts","async":true,"parameters":[{"name":"accountId","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getAccountStats":{"name":"getAccountStats","async":true,"parameters":[{"name":"accountId","type":"string","optional":false}],"returnType":"Promise<object>","isStatic":false,"isPublic":true},"createSystemFolders":{"name":"createSystemFolders","async":true,"parameters":[{"name":"accountId","type":"string","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"findByTenant":{"name":"findByTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<EmailFolder[]>","isStatic":false,"isPublic":true},"findGlobal":{"name":"findGlobal","async":true,"parameters":[],"returnType":"Promise<EmailFolder[]>","isStatic":false,"isPublic":true},"findWithGlobals":{"name":"findWithGlobals","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<EmailFolder[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{},"extends":"SmrtCollection","extendsTypeArg":"EmailFolder","exportName":"EmailFolderCollection","collectionExportName":"EmailFolderCollectionCollection","schema":{"tableName":"email_folders","ddl":"CREATE TABLE IF NOT EXISTS \\"email_folders\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"account_id\\" UUID,\\n \\"name\\" TEXT,\\n \\"path\\" TEXT,\\n \\"delimiter\\" TEXT,\\n \\"special_use\\" TEXT,\\n \\"message_count\\" INTEGER NOT NULL DEFAULT 0,\\n \\"unread_count\\" INTEGER NOT NULL DEFAULT 0,\\n \\"subscribed\\" BOOLEAN NOT NULL DEFAULT TRUE\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"account_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"accounts","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"name":{"type":"TEXT","notNull":false,"unique":false},"path":{"type":"TEXT","notNull":false,"unique":false},"delimiter":{"type":"TEXT","notNull":false,"unique":false},"special_use":{"type":"TEXT","notNull":false,"unique":false},"message_count":{"type":"INTEGER","notNull":true,"unique":false,"default":0},"unread_count":{"type":"INTEGER","notNull":true,"unique":false,"default":0},"subscribed":{"type":"BOOLEAN","notNull":true,"unique":false,"default":true}},"indexes":[{"name":"email_folders_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true,"nullsNotDistinct":true},{"name":"email_folders_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"email_folders_account_id_idx","columns":["account_id"]}],"version":"e895818f"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:MessageCollection":{"name":"messagecollection","className":"MessageCollection","qualifiedName":"@happyvertical/smrt-messages:MessageCollection","collection":"messages","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/collections/MessageCollection.ts","packageName":"@happyvertical/smrt-messages","fields":{},"methods":{"search":{"name":"search","async":true,"parameters":[{"name":"query","type":"string","optional":false},{"name":"filters","type":"MessageSearchFilters","optional":true}],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"getByAccounts":{"name":"getByAccounts","async":true,"parameters":[{"name":"accountIds","type":"string[]","optional":false}],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"getByType":{"name":"getByType","async":true,"parameters":[{"name":"messageType","type":"string","optional":false}],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"getUnread":{"name":"getUnread","async":true,"parameters":[{"name":"accountId","type":"string","optional":true}],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"getFlagged":{"name":"getFlagged","async":true,"parameters":[{"name":"accountId","type":"string","optional":true}],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"getRecent":{"name":"getRecent","async":true,"parameters":[{"name":"limit","type":"any","optional":true},{"name":"accountId","type":"string","optional":true}],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"getByThread":{"name":"getByThread","async":true,"parameters":[{"name":"threadId","type":"string","optional":false}],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"markAllRead":{"name":"markAllRead","async":true,"parameters":[{"name":"messageIds","type":"string[]","optional":false}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"getAccountStats":{"name":"getAccountStats","async":true,"parameters":[{"name":"accountId","type":"string","optional":false}],"returnType":"Promise<object>","isStatic":false,"isPublic":true},"getDrafts":{"name":"getDrafts","async":true,"parameters":[{"name":"accountId","type":"string","optional":true}],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"getSent":{"name":"getSent","async":true,"parameters":[{"name":"accountId","type":"string","optional":true}],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"getScheduled":{"name":"getScheduled","async":true,"parameters":[{"name":"accountId","type":"string","optional":true}],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"getFailedSends":{"name":"getFailedSends","async":true,"parameters":[{"name":"accountId","type":"string","optional":true}],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"getOutbox":{"name":"getOutbox","async":true,"parameters":[{"name":"accountId","type":"string","optional":true}],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"findByTenant":{"name":"findByTenant","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"findGlobal":{"name":"findGlobal","async":true,"parameters":[],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"findWithGlobals":{"name":"findWithGlobals","async":true,"parameters":[{"name":"tenantId","type":"string","optional":false}],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{},"extends":"SmrtCollection","extendsTypeArg":"Message","exportName":"MessageCollection","collectionExportName":"MessageCollectionCollection","schema":{"tableName":"messages","ddl":"CREATE TABLE IF NOT EXISTS \\"messages\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"account_id\\" UUID,\\n \\"persona_id\\" UUID,\\n \\"endpoint_id\\" UUID,\\n \\"correlation_id\\" TEXT,\\n \\"thread_id\\" TEXT,\\n \\"subject\\" TEXT,\\n \\"body\\" TEXT,\\n \\"from_address\\" TEXT,\\n \\"from_name\\" TEXT,\\n \\"to_addresses\\" TEXT,\\n \\"date\\" TIMESTAMP,\\n \\"is_read\\" BOOLEAN DEFAULT FALSE,\\n \\"is_flagged\\" BOOLEAN DEFAULT FALSE,\\n \\"has_attachments\\" BOOLEAN DEFAULT FALSE,\\n \\"size\\" INTEGER DEFAULT 0,\\n \\"metadata\\" TEXT,\\n \\"send_status\\" TEXT DEFAULT 'draft',\\n \\"sent_at\\" TIMESTAMP,\\n \\"send_error\\" TEXT,\\n \\"retry_count\\" INTEGER DEFAULT 0,\\n \\"max_retries\\" INTEGER DEFAULT 3,\\n \\"scheduled_send_at\\" TIMESTAMP,\\n \\"in_reply_to_message_id\\" UUID,\\n \\"message_id\\" TEXT,\\n \\"in_reply_to\\" TEXT,\\n \\"cc_addresses\\" TEXT,\\n \\"bcc_addresses\\" TEXT,\\n \\"reply_to_address\\" TEXT,\\n \\"reply_to_name\\" TEXT,\\n \\"text_body\\" TEXT,\\n \\"html_body\\" TEXT,\\n \\"folder_id\\" TEXT,\\n \\"folder_path\\" TEXT,\\n \\"labels\\" TEXT,\\n \\"flags\\" TEXT,\\n \\"is_answered\\" BOOLEAN DEFAULT FALSE,\\n \\"is_draft\\" BOOLEAN DEFAULT FALSE,\\n \\"raw_message\\" TEXT,\\n \\"headers\\" TEXT,\\n \\"channel_id\\" TEXT,\\n \\"channel_name\\" TEXT,\\n \\"slack_ts\\" TEXT,\\n \\"slack_thread_ts\\" TEXT,\\n \\"reactions\\" TEXT,\\n \\"is_edited\\" BOOLEAN DEFAULT FALSE,\\n \\"message_type\\" TEXT,\\n \\"blocks\\" TEXT,\\n \\"tweet_id\\" TEXT,\\n \\"retweet_count\\" INTEGER DEFAULT 0,\\n \\"like_count\\" INTEGER DEFAULT 0,\\n \\"reply_count\\" INTEGER DEFAULT 0,\\n \\"is_retweet\\" BOOLEAN DEFAULT FALSE,\\n \\"is_reply\\" BOOLEAN DEFAULT FALSE,\\n \\"media_urls\\" TEXT,\\n \\"hashtags\\" TEXT,\\n \\"mentions\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"account_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"accounts","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"persona_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false},"endpoint_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"messaging_endpoints","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"correlation_id":{"type":"TEXT","notNull":false},"thread_id":{"type":"TEXT","notNull":false},"subject":{"type":"TEXT","notNull":false},"body":{"type":"TEXT","notNull":false},"from_address":{"type":"TEXT","notNull":false},"from_name":{"type":"TEXT","notNull":false},"to_addresses":{"type":"TEXT","notNull":false},"date":{"type":"TIMESTAMP","notNull":false},"is_read":{"type":"BOOLEAN","notNull":false,"default":false},"is_flagged":{"type":"BOOLEAN","notNull":false,"default":false},"has_attachments":{"type":"BOOLEAN","notNull":false,"default":false},"size":{"type":"INTEGER","notNull":false,"default":0},"metadata":{"type":"TEXT","notNull":false},"send_status":{"type":"TEXT","notNull":false,"default":"draft"},"sent_at":{"type":"TIMESTAMP","notNull":false},"send_error":{"type":"TEXT","notNull":false},"retry_count":{"type":"INTEGER","notNull":false,"default":0},"max_retries":{"type":"INTEGER","notNull":false,"default":3},"scheduled_send_at":{"type":"TIMESTAMP","notNull":false},"in_reply_to_message_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"messages","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"message_id":{"type":"TEXT","notNull":false},"in_reply_to":{"type":"TEXT","notNull":false},"cc_addresses":{"type":"TEXT","notNull":false},"bcc_addresses":{"type":"TEXT","notNull":false},"reply_to_address":{"type":"TEXT","notNull":false},"reply_to_name":{"type":"TEXT","notNull":false},"text_body":{"type":"TEXT","notNull":false},"html_body":{"type":"TEXT","notNull":false},"folder_id":{"type":"TEXT","notNull":false},"folder_path":{"type":"TEXT","notNull":false},"labels":{"type":"TEXT","notNull":false},"flags":{"type":"TEXT","notNull":false},"is_answered":{"type":"BOOLEAN","notNull":false,"default":false},"is_draft":{"type":"BOOLEAN","notNull":false,"default":false},"raw_message":{"type":"TEXT","notNull":false},"headers":{"type":"TEXT","notNull":false},"channel_id":{"type":"TEXT","notNull":false},"channel_name":{"type":"TEXT","notNull":false},"slack_ts":{"type":"TEXT","notNull":false},"slack_thread_ts":{"type":"TEXT","notNull":false},"reactions":{"type":"TEXT","notNull":false},"is_edited":{"type":"BOOLEAN","notNull":false,"default":false},"message_type":{"type":"TEXT","notNull":false},"blocks":{"type":"TEXT","notNull":false},"tweet_id":{"type":"TEXT","notNull":false},"retweet_count":{"type":"INTEGER","notNull":false,"default":0},"like_count":{"type":"INTEGER","notNull":false,"default":0},"reply_count":{"type":"INTEGER","notNull":false,"default":0},"is_retweet":{"type":"BOOLEAN","notNull":false,"default":false},"is_reply":{"type":"BOOLEAN","notNull":false,"default":false},"media_urls":{"type":"TEXT","notNull":false},"hashtags":{"type":"TEXT","notNull":false},"mentions":{"type":"TEXT","notNull":false}},"indexes":[{"name":"messages_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"messages_meta_type_idx","columns":["_meta_type"]},{"name":"messages_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"messages_account_id_idx","columns":["account_id"]},{"name":"messages_persona_id_idx","columns":["persona_id"]},{"name":"messages_endpoint_id_idx","columns":["endpoint_id"]},{"name":"messages_in_reply_to_message_id_idx","columns":["in_reply_to_message_id"]}],"version":"c03791c7"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:MessagingEndpointCollection":{"name":"messagingendpointcollection","className":"MessagingEndpointCollection","qualifiedName":"@happyvertical/smrt-messages:MessagingEndpointCollection","collection":"messagingendpoints","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/collections/MessagingEndpointCollection.ts","packageName":"@happyvertical/smrt-messages","fields":{},"methods":{},"decoratorConfig":{"tableName":"messaging_endpoints"},"extends":"SmrtCollection","extendsTypeArg":"MessagingEndpoint","exportName":"MessagingEndpointCollection","collectionExportName":"MessagingEndpointCollectionCollection","schema":{"tableName":"messaging_endpoints","ddl":"CREATE TABLE IF NOT EXISTS \\"messaging_endpoints\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"profile_id\\" UUID,\\n \\"label\\" TEXT NOT NULL,\\n \\"channel\\" TEXT NOT NULL DEFAULT 'email',\\n \\"address\\" TEXT NOT NULL,\\n \\"is_active\\" BOOLEAN NOT NULL DEFAULT TRUE,\\n \\"verified_at\\" TIMESTAMP\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"profile_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false,"unique":false},"label":{"type":"TEXT","notNull":true,"unique":false},"channel":{"type":"TEXT","notNull":true,"unique":false,"default":"email"},"address":{"type":"TEXT","notNull":true,"unique":false},"is_active":{"type":"BOOLEAN","notNull":true,"unique":false,"default":true},"verified_at":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"messaging_endpoints_tenant_id_channel_idx","columns":["tenant_id","channel","label"],"unique":true},{"name":"messaging_endpoints_slug_context_idx","columns":["slug","context"]},{"name":"messaging_endpoints_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"messaging_endpoints_profile_id_idx","columns":["profile_id"]}],"version":"fca5554d"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:PersonaMessageRouteCollection":{"name":"personamessageroutecollection","className":"PersonaMessageRouteCollection","qualifiedName":"@happyvertical/smrt-messages:PersonaMessageRouteCollection","collection":"personamessageroutes","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/collections/PersonaMessageRouteCollection.ts","packageName":"@happyvertical/smrt-messages","fields":{},"methods":{"forPersona":{"name":"forPersona","async":true,"parameters":[{"name":"personaId","type":"string","optional":false}],"returnType":"Promise<PersonaMessageRoute[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"persona_message_routes"},"extends":"SmrtCollection","extendsTypeArg":"PersonaMessageRoute","exportName":"PersonaMessageRouteCollection","collectionExportName":"PersonaMessageRouteCollectionCollection","schema":{"tableName":"persona_message_routes","ddl":"CREATE TABLE IF NOT EXISTS \\"persona_message_routes\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"persona_id\\" UUID NOT NULL,\\n \\"account_id\\" UUID NOT NULL,\\n \\"endpoint_id\\" UUID NOT NULL,\\n \\"purpose\\" TEXT NOT NULL,\\n \\"priority\\" INTEGER NOT NULL DEFAULT 0,\\n \\"enabled\\" BOOLEAN NOT NULL DEFAULT TRUE\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"persona_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":true,"unique":false},"account_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"accounts","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"endpoint_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"messaging_endpoints","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"purpose":{"type":"TEXT","notNull":true,"unique":false},"priority":{"type":"INTEGER","notNull":true,"unique":false,"default":0},"enabled":{"type":"BOOLEAN","notNull":true,"unique":false,"default":true}},"indexes":[{"name":"persona_message_routes_tenant_id_persona_id_idx","columns":["tenant_id","persona_id","account_id","endpoint_id","purpose"],"unique":true},{"name":"persona_message_routes_slug_context_idx","columns":["slug","context"]},{"name":"persona_message_routes_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"persona_message_routes_persona_id_idx","columns":["persona_id"]},{"name":"persona_message_routes_account_id_idx","columns":["account_id"]},{"name":"persona_message_routes_endpoint_id_idx","columns":["endpoint_id"]}],"version":"3dc1d5d0"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:UserNotificationCollection":{"name":"usernotificationcollection","className":"UserNotificationCollection","qualifiedName":"@happyvertical/smrt-messages:UserNotificationCollection","collection":"usernotifications","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/collections/UserNotificationCollection.ts","packageName":"@happyvertical/smrt-messages","fields":{},"methods":{},"decoratorConfig":{"tableName":"user_notifications","api":false,"mcp":false,"cli":false},"extends":"SmrtCollection","extendsTypeArg":"UserNotification","exportName":"UserNotificationCollection","collectionExportName":"UserNotificationCollectionCollection","schema":{"tableName":"user_notifications","ddl":"CREATE TABLE IF NOT EXISTS \\"user_notifications\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"recipient_user_id\\" UUID NOT NULL,\\n \\"kind\\" TEXT NOT NULL,\\n \\"title\\" TEXT NOT NULL,\\n \\"body\\" TEXT,\\n \\"href\\" TEXT,\\n \\"severity\\" TEXT DEFAULT 'info',\\n \\"source_ref\\" TEXT NOT NULL,\\n \\"occurred_at\\" TEXT,\\n \\"read_at\\" TIMESTAMP,\\n \\"dismissed_at\\" TIMESTAMP\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"recipient_user_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":true,"unique":false},"kind":{"type":"TEXT","notNull":true,"unique":false},"title":{"type":"TEXT","notNull":true,"unique":false},"body":{"type":"TEXT","notNull":false,"unique":false},"href":{"type":"TEXT","notNull":false,"unique":false},"severity":{"type":"TEXT","notNull":false,"unique":false,"default":"info"},"source_ref":{"type":"TEXT","notNull":true,"unique":false},"occurred_at":{"type":"TEXT","notNull":false,"unique":false},"read_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"dismissed_at":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"user_notifications_tenant_id_recipient_user_id_idx","columns":["tenant_id","recipient_user_id","source_ref"],"unique":true},{"name":"user_notifications_slug_context_idx","columns":["slug","context"]},{"name":"user_notifications_recipient_occurred_idx","columns":["tenant_id","recipient_user_id","occurred_at"]},{"name":"user_notifications_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"user_notifications_recipient_user_id_idx","columns":["recipient_user_id"]}],"version":"0e68a388"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:WhitelistCollection":{"name":"whitelistcollection","className":"WhitelistCollection","qualifiedName":"@happyvertical/smrt-messages:WhitelistCollection","collection":"whitelists","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/collections/WhitelistCollection.ts","packageName":"@happyvertical/smrt-messages","fields":{},"methods":{"isWhitelisted":{"name":"isWhitelisted","async":true,"parameters":[{"name":"email","type":"string","optional":false},{"name":"category","type":"string","optional":true}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true},"getMatchingEntry":{"name":"getMatchingEntry","async":true,"parameters":[{"name":"email","type":"string","optional":false}],"returnType":"Promise<Whitelist | null>","isStatic":false,"isPublic":true},"getByCategory":{"name":"getByCategory","async":true,"parameters":[{"name":"category","type":"string","optional":false}],"returnType":"Promise<Whitelist[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{},"extends":"SmrtCollection","extendsTypeArg":"Whitelist","exportName":"WhitelistCollection","collectionExportName":"WhitelistCollectionCollection","schema":{"tableName":"whitelists","ddl":"CREATE TABLE IF NOT EXISTS \\"whitelists\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"pattern\\" TEXT DEFAULT '',\\n \\"type\\" TEXT DEFAULT 'email',\\n \\"category\\" TEXT,\\n \\"description\\" TEXT DEFAULT '',\\n \\"tenant_id\\" UUID NOT NULL\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"pattern":{"type":"TEXT","notNull":false,"unique":false,"default":""},"type":{"type":"TEXT","notNull":false,"unique":false,"default":"email"},"category":{"type":"TEXT","notNull":false,"unique":false},"description":{"type":"TEXT","notNull":false,"unique":false,"default":""},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false}},"indexes":[{"name":"whitelists_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true},{"name":"whitelists_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"40a655a1"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:Account":{"name":"account","className":"Account","qualifiedName":"@happyvertical/smrt-messages:Account","collection":"accounts","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/models/Account.ts","packageName":"@happyvertical/smrt-messages","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"name":{"type":"text","required":false},"providerType":{"type":"text","required":false},"channelType":{"type":"text","required":false},"credentialSecretId":{"type":"text","required":false,"_meta":{"sensitive":true,"readonly":true},"sensitive":true,"readonly":true},"isActive":{"type":"boolean","required":true,"default":true},"lastSyncAt":{"type":"datetime","required":false},"settings":{"type":"text","required":false,"_meta":{"sensitive":true,"readonly":true},"sensitive":true,"readonly":true},"configuration":{"type":"text","required":false},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false}},"methods":{"getSettings":{"name":"getSettings","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setSettings":{"name":"setSettings","async":false,"parameters":[{"name":"settings","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"getConfiguration":{"name":"getConfiguration","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setConfiguration":{"name":"setConfiguration","async":false,"parameters":[{"name":"configuration","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"activate":{"name":"activate","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"deactivate":{"name":"deactivate","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"setCredentials":{"name":"setCredentials","async":true,"parameters":[{"name":"credentials","type":"Record<string, unknown>","optional":false},{"name":"options","type":"object","optional":true,"memberTypes":["string"]}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"createSender":{"name":"createSender","async":true,"parameters":[],"returnType":"Promise<MessageSenderInterface>","isStatic":false,"isPublic":true},"getCredentials":{"name":"getCredentials","async":true,"parameters":[],"returnType":"Promise<Record<string, unknown> | null>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get"]},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"Account","collectionExportName":"AccountCollection","displayLabelField":"name","validationRules":[{"field":"isActive","rule":"required","fieldType":"boolean"}],"schema":{"tableName":"accounts","ddl":"CREATE TABLE IF NOT EXISTS \\"accounts\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"name\\" TEXT,\\n \\"provider_type\\" TEXT,\\n \\"channel_type\\" TEXT,\\n \\"credential_secret_id\\" TEXT,\\n \\"is_active\\" BOOLEAN DEFAULT TRUE,\\n \\"last_sync_at\\" TIMESTAMP,\\n \\"settings\\" TEXT,\\n \\"configuration\\" TEXT,\\n \\"email\\" TEXT,\\n \\"sync_interval_minutes\\" INTEGER DEFAULT 60,\\n \\"workspace_id\\" TEXT,\\n \\"workspace_name\\" TEXT,\\n \\"bot_user_id\\" TEXT,\\n \\"handle\\" TEXT,\\n \\"twitter_user_id\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"name":{"type":"TEXT","notNull":false},"provider_type":{"type":"TEXT","notNull":false},"channel_type":{"type":"TEXT","notNull":false},"credential_secret_id":{"type":"TEXT","notNull":false},"is_active":{"type":"BOOLEAN","notNull":false,"default":true},"last_sync_at":{"type":"TIMESTAMP","notNull":false},"settings":{"type":"TEXT","notNull":false},"configuration":{"type":"TEXT","notNull":false},"email":{"type":"TEXT","notNull":false},"sync_interval_minutes":{"type":"INTEGER","notNull":false,"default":60},"workspace_id":{"type":"TEXT","notNull":false},"workspace_name":{"type":"TEXT","notNull":false},"bot_user_id":{"type":"TEXT","notNull":false},"handle":{"type":"TEXT","notNull":false},"twitter_user_id":{"type":"TEXT","notNull":false}},"indexes":[{"name":"accounts_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"accounts_meta_type_idx","columns":["_meta_type"]},{"name":"accounts_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"3854ea98"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:Attachment":{"name":"attachment","className":"Attachment","qualifiedName":"@happyvertical/smrt-messages:Attachment","collection":"attachments","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/models/Attachment.ts","packageName":"@happyvertical/smrt-messages","fields":{"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"messageId":{"type":"foreignKey","required":false,"related":"Message"},"filename":{"type":"text","required":false},"contentType":{"type":"text","required":false},"size":{"type":"integer","required":true,"default":0},"contentId":{"type":"text","required":false},"contentDisposition":{"type":"text","required":false,"default":"attachment","enum":["attachment","inline"]},"filePath":{"type":"text","required":false},"sourceUrl":{"type":"text","required":false},"createdAt":{"type":"text","required":false}},"methods":{"getMessage":{"name":"getMessage","async":true,"parameters":[],"returnType":"any","isStatic":false,"isPublic":true},"isImage":{"name":"isImage","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"isPdf":{"name":"isPdf","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"isInline":{"name":"isInline","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"getExtension":{"name":"getExtension","async":false,"parameters":[],"returnType":"string","isStatic":false,"isPublic":true},"getFormattedSize":{"name":"getFormattedSize","async":false,"parameters":[],"returnType":"string","isStatic":false,"isPublic":true},"hasExternalFile":{"name":"hasExternalFile","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"readContent":{"name":"readContent","async":true,"parameters":[],"returnType":"Promise<Buffer | null>","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":{"include":["list","get","create","delete"]},"mcp":{"include":["list","get"]},"cli":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context"]},"extends":"SmrtObject","exportName":"Attachment","collectionExportName":"AttachmentCollection","validationRules":[{"field":"size","rule":"required","fieldType":"integer"}],"schema":{"tableName":"attachments","ddl":"CREATE TABLE IF NOT EXISTS \\"attachments\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"message_id\\" UUID,\\n \\"filename\\" TEXT,\\n \\"content_type\\" TEXT,\\n \\"size\\" INTEGER NOT NULL DEFAULT 0,\\n \\"content_id\\" TEXT,\\n \\"content_disposition\\" TEXT DEFAULT 'attachment',\\n \\"file_path\\" TEXT,\\n \\"source_url\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"message_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"messages","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"filename":{"type":"TEXT","notNull":false,"unique":false},"content_type":{"type":"TEXT","notNull":false,"unique":false},"size":{"type":"INTEGER","notNull":true,"unique":false,"default":0},"content_id":{"type":"TEXT","notNull":false,"unique":false},"content_disposition":{"type":"TEXT","notNull":false,"unique":false,"default":"attachment"},"file_path":{"type":"TEXT","notNull":false,"unique":false},"source_url":{"type":"TEXT","notNull":false,"unique":false}},"indexes":[{"name":"attachments_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true,"nullsNotDistinct":true},{"name":"attachments_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"attachments_message_id_idx","columns":["message_id"]}],"version":"ee5ae0dd"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:Blacklist":{"name":"blacklist","className":"Blacklist","qualifiedName":"@happyvertical/smrt-messages:Blacklist","collection":"blacklists","description":"Block entries for email filtering","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/models/Blacklist.ts","packageName":"@happyvertical/smrt-messages","fields":{"pattern":{"type":"text","required":false,"default":""},"type":{"type":"text","required":false,"default":"email","enum":["email","domain","regex"]},"reason":{"type":"text","required":false,"default":""},"autoArchive":{"type":"boolean","required":false,"default":true},"tenantId":{"type":"text","required":true,"_meta":{"generated":true,"source":"tenantScoped_decorator","sqlType":"UUID","__tenancy":{"isTenantIdField":true,"mode":"required","field":"tenantId","autoFilter":true,"autoPopulate":true,"allowSuperAdminBypass":false}}}},"methods":{"matches":{"name":"matches","async":false,"parameters":[{"name":"email","type":"string","optional":false}],"returnType":"boolean","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":{"include":["list","get","create","update","delete"]},"cli":{"skipApiCheck":true},"tenantScoped":true,"conflictColumns":["tenant_id","slug","context"]},"extends":"SmrtObject","exportName":"Blacklist","collectionExportName":"BlacklistCollection","validationRules":[],"schema":{"tableName":"blacklists","ddl":"CREATE TABLE IF NOT EXISTS \\"blacklists\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"pattern\\" TEXT DEFAULT '',\\n \\"type\\" TEXT DEFAULT 'email',\\n \\"reason\\" TEXT DEFAULT '',\\n \\"auto_archive\\" BOOLEAN DEFAULT TRUE,\\n \\"tenant_id\\" UUID NOT NULL\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"pattern":{"type":"TEXT","notNull":false,"unique":false,"default":""},"type":{"type":"TEXT","notNull":false,"unique":false,"default":"email"},"reason":{"type":"TEXT","notNull":false,"unique":false,"default":""},"auto_archive":{"type":"BOOLEAN","notNull":false,"unique":false,"default":true},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false}},"indexes":[{"name":"blacklists_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true},{"name":"blacklists_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"04efaa8d"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:Email":{"name":"email","className":"Email","qualifiedName":"@happyvertical/smrt-messages:Email","collection":"messages","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/models/Email.ts","packageName":"@happyvertical/smrt-messages","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true}}},"accountId":{"type":"foreignKey","required":false,"related":"Account"},"personaId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-personas:AgentPersona","_meta":{"nullable":true}},"endpointId":{"type":"foreignKey","required":false,"related":"MessagingEndpoint"},"correlationId":{"type":"text","required":false},"threadId":{"type":"text","required":false},"subject":{"type":"text","required":false},"body":{"type":"text","required":false},"fromAddress":{"type":"text","required":false},"fromName":{"type":"text","required":false},"toAddresses":{"type":"text","required":false},"date":{"type":"datetime","required":false},"isRead":{"type":"boolean","required":true,"default":false},"isFlagged":{"type":"boolean","required":true,"default":false},"hasAttachments":{"type":"boolean","required":true,"default":false},"size":{"type":"integer","required":true,"default":0},"metadata":{"type":"text","required":false},"sendStatus":{"type":"text","required":false,"default":"draft","enum":["draft","pending","sending","sent","failed","scheduled"]},"sentAt":{"type":"datetime","required":false},"sendError":{"type":"text","required":false},"retryCount":{"type":"integer","required":true,"default":0},"maxRetries":{"type":"integer","required":true,"default":3},"scheduledSendAt":{"type":"datetime","required":false},"inReplyToMessageId":{"type":"foreignKey","required":false,"related":"Message"},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false},"messageId":{"type":"text","required":false},"inReplyTo":{"type":"text","required":false},"ccAddresses":{"type":"text","required":false},"bccAddresses":{"type":"text","required":false},"replyToAddress":{"type":"text","required":false},"replyToName":{"type":"text","required":false},"textBody":{"type":"text","required":false},"htmlBody":{"type":"text","required":false},"folderId":{"type":"text","required":false},"folderPath":{"type":"text","required":false},"labels":{"type":"text","required":false},"flags":{"type":"text","required":false},"isAnswered":{"type":"boolean","required":true,"default":false},"isDraft":{"type":"boolean","required":true,"default":false},"rawMessage":{"type":"text","required":false},"headers":{"type":"text","required":false}},"methods":{"getToAddresses":{"name":"getToAddresses","async":false,"parameters":[],"returnType":"Array<object>","isStatic":false,"isPublic":true},"setToAddresses":{"name":"setToAddresses","async":false,"parameters":[{"name":"addresses","type":"Array<object>","optional":false,"memberTypes":["string"]}],"returnType":"void","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"data","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"markRead":{"name":"markRead","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"markUnread":{"name":"markUnread","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"toggleFlagged":{"name":"toggleFlagged","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"isUnread":{"name":"isUnread","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"getPreview":{"name":"getPreview","async":false,"parameters":[{"name":"maxLength","type":"any","optional":true}],"returnType":"string","isStatic":false,"isPublic":true},"getAccount":{"name":"getAccount","async":true,"parameters":[],"returnType":"any","isStatic":false,"isPublic":true},"getEndpoint":{"name":"getEndpoint","async":true,"parameters":[],"returnType":"any","isStatic":false,"isPublic":true},"getThreadMessages":{"name":"getThreadMessages","async":true,"parameters":[],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"getAttachments":{"name":"getAttachments","async":true,"parameters":[],"returnType":"any","isStatic":false,"isPublic":true},"send":{"name":"send","async":true,"parameters":[{"name":"options","type":"SendMessageOptions","optional":true}],"returnType":"Promise<MessageSendResult>","isStatic":false,"isPublic":true},"retrySend":{"name":"retrySend","async":true,"parameters":[{"name":"options","type":"SendMessageOptions","optional":true}],"returnType":"Promise<MessageSendResult>","isStatic":false,"isPublic":true},"createReply":{"name":"createReply","async":false,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["boolean"]}],"returnType":"Email","isStatic":false,"isPublic":true},"createForward":{"name":"createForward","async":false,"parameters":[],"returnType":"Email","isStatic":false,"isPublic":true},"getCcAddresses":{"name":"getCcAddresses","async":false,"parameters":[],"returnType":"Array<object>","isStatic":false,"isPublic":true},"getBccAddresses":{"name":"getBccAddresses","async":false,"parameters":[],"returnType":"Array<object>","isStatic":false,"isPublic":true},"getLabels":{"name":"getLabels","async":false,"parameters":[],"returnType":"string[]","isStatic":false,"isPublic":true},"setLabels":{"name":"setLabels","async":false,"parameters":[{"name":"labels","type":"string[]","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"getFlags":{"name":"getFlags","async":false,"parameters":[],"returnType":"string[]","isStatic":false,"isPublic":true},"setFlags":{"name":"setFlags","async":false,"parameters":[{"name":"flags","type":"string[]","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"getHeaders":{"name":"getHeaders","async":false,"parameters":[],"returnType":"Record<string, string | string[]>","isStatic":false,"isPublic":true},"setHeaders":{"name":"setHeaders","async":false,"parameters":[{"name":"headers","type":"Record<string, string | string[]>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"getFolder":{"name":"getFolder","async":true,"parameters":[],"returnType":"any","isStatic":false,"isPublic":true},"getThreadEmails":{"name":"getThreadEmails","async":true,"parameters":[],"returnType":"Promise<Email[]>","isStatic":false,"isPublic":true},"getReferences":{"name":"getReferences","async":false,"parameters":[],"returnType":"string[]","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]},"cli":{"skipApiCheck":true},"tableName":"messages"},"extends":"Message","exportName":"Email","collectionExportName":"EmailCollection","validationRules":[{"field":"isRead","rule":"required","fieldType":"boolean"},{"field":"isFlagged","rule":"required","fieldType":"boolean"},{"field":"hasAttachments","rule":"required","fieldType":"boolean"},{"field":"size","rule":"required","fieldType":"integer"},{"field":"retryCount","rule":"required","fieldType":"integer"},{"field":"maxRetries","rule":"required","fieldType":"integer"},{"field":"isAnswered","rule":"required","fieldType":"boolean"},{"field":"isDraft","rule":"required","fieldType":"boolean"}],"schema":{"tableName":"messages","ddl":"CREATE TABLE IF NOT EXISTS \\"messages\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"account_id\\" UUID,\\n \\"persona_id\\" UUID,\\n \\"endpoint_id\\" UUID,\\n \\"correlation_id\\" TEXT,\\n \\"thread_id\\" TEXT,\\n \\"subject\\" TEXT,\\n \\"body\\" TEXT,\\n \\"from_address\\" TEXT,\\n \\"from_name\\" TEXT,\\n \\"to_addresses\\" TEXT,\\n \\"date\\" TIMESTAMP,\\n \\"is_read\\" BOOLEAN DEFAULT FALSE,\\n \\"is_flagged\\" BOOLEAN DEFAULT FALSE,\\n \\"has_attachments\\" BOOLEAN DEFAULT FALSE,\\n \\"size\\" INTEGER DEFAULT 0,\\n \\"metadata\\" TEXT,\\n \\"send_status\\" TEXT DEFAULT 'draft',\\n \\"sent_at\\" TIMESTAMP,\\n \\"send_error\\" TEXT,\\n \\"retry_count\\" INTEGER DEFAULT 0,\\n \\"max_retries\\" INTEGER DEFAULT 3,\\n \\"scheduled_send_at\\" TIMESTAMP,\\n \\"in_reply_to_message_id\\" UUID,\\n \\"message_id\\" TEXT,\\n \\"in_reply_to\\" TEXT,\\n \\"cc_addresses\\" TEXT,\\n \\"bcc_addresses\\" TEXT,\\n \\"reply_to_address\\" TEXT,\\n \\"reply_to_name\\" TEXT,\\n \\"text_body\\" TEXT,\\n \\"html_body\\" TEXT,\\n \\"folder_id\\" TEXT,\\n \\"folder_path\\" TEXT,\\n \\"labels\\" TEXT,\\n \\"flags\\" TEXT,\\n \\"is_answered\\" BOOLEAN DEFAULT FALSE,\\n \\"is_draft\\" BOOLEAN DEFAULT FALSE,\\n \\"raw_message\\" TEXT,\\n \\"headers\\" TEXT,\\n \\"channel_id\\" TEXT,\\n \\"channel_name\\" TEXT,\\n \\"slack_ts\\" TEXT,\\n \\"slack_thread_ts\\" TEXT,\\n \\"reactions\\" TEXT,\\n \\"is_edited\\" BOOLEAN DEFAULT FALSE,\\n \\"message_type\\" TEXT,\\n \\"blocks\\" TEXT,\\n \\"tweet_id\\" TEXT,\\n \\"retweet_count\\" INTEGER DEFAULT 0,\\n \\"like_count\\" INTEGER DEFAULT 0,\\n \\"reply_count\\" INTEGER DEFAULT 0,\\n \\"is_retweet\\" BOOLEAN DEFAULT FALSE,\\n \\"is_reply\\" BOOLEAN DEFAULT FALSE,\\n \\"media_urls\\" TEXT,\\n \\"hashtags\\" TEXT,\\n \\"mentions\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"account_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"accounts","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"persona_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false},"endpoint_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"messaging_endpoints","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"correlation_id":{"type":"TEXT","notNull":false},"thread_id":{"type":"TEXT","notNull":false},"subject":{"type":"TEXT","notNull":false},"body":{"type":"TEXT","notNull":false},"from_address":{"type":"TEXT","notNull":false},"from_name":{"type":"TEXT","notNull":false},"to_addresses":{"type":"TEXT","notNull":false},"date":{"type":"TIMESTAMP","notNull":false},"is_read":{"type":"BOOLEAN","notNull":false,"default":false},"is_flagged":{"type":"BOOLEAN","notNull":false,"default":false},"has_attachments":{"type":"BOOLEAN","notNull":false,"default":false},"size":{"type":"INTEGER","notNull":false,"default":0},"metadata":{"type":"TEXT","notNull":false},"send_status":{"type":"TEXT","notNull":false,"default":"draft"},"sent_at":{"type":"TIMESTAMP","notNull":false},"send_error":{"type":"TEXT","notNull":false},"retry_count":{"type":"INTEGER","notNull":false,"default":0},"max_retries":{"type":"INTEGER","notNull":false,"default":3},"scheduled_send_at":{"type":"TIMESTAMP","notNull":false},"in_reply_to_message_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"messages","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"message_id":{"type":"TEXT","notNull":false},"in_reply_to":{"type":"TEXT","notNull":false},"cc_addresses":{"type":"TEXT","notNull":false},"bcc_addresses":{"type":"TEXT","notNull":false},"reply_to_address":{"type":"TEXT","notNull":false},"reply_to_name":{"type":"TEXT","notNull":false},"text_body":{"type":"TEXT","notNull":false},"html_body":{"type":"TEXT","notNull":false},"folder_id":{"type":"TEXT","notNull":false},"folder_path":{"type":"TEXT","notNull":false},"labels":{"type":"TEXT","notNull":false},"flags":{"type":"TEXT","notNull":false},"is_answered":{"type":"BOOLEAN","notNull":false,"default":false},"is_draft":{"type":"BOOLEAN","notNull":false,"default":false},"raw_message":{"type":"TEXT","notNull":false},"headers":{"type":"TEXT","notNull":false},"channel_id":{"type":"TEXT","notNull":false},"channel_name":{"type":"TEXT","notNull":false},"slack_ts":{"type":"TEXT","notNull":false},"slack_thread_ts":{"type":"TEXT","notNull":false},"reactions":{"type":"TEXT","notNull":false},"is_edited":{"type":"BOOLEAN","notNull":false,"default":false},"message_type":{"type":"TEXT","notNull":false},"blocks":{"type":"TEXT","notNull":false},"tweet_id":{"type":"TEXT","notNull":false},"retweet_count":{"type":"INTEGER","notNull":false,"default":0},"like_count":{"type":"INTEGER","notNull":false,"default":0},"reply_count":{"type":"INTEGER","notNull":false,"default":0},"is_retweet":{"type":"BOOLEAN","notNull":false,"default":false},"is_reply":{"type":"BOOLEAN","notNull":false,"default":false},"media_urls":{"type":"TEXT","notNull":false},"hashtags":{"type":"TEXT","notNull":false},"mentions":{"type":"TEXT","notNull":false}},"indexes":[{"name":"messages_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"messages_meta_type_idx","columns":["_meta_type"]},{"name":"messages_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"messages_account_id_idx","columns":["account_id"]},{"name":"messages_persona_id_idx","columns":["persona_id"]},{"name":"messages_endpoint_id_idx","columns":["endpoint_id"]},{"name":"messages_in_reply_to_message_id_idx","columns":["in_reply_to_message_id"]}],"version":"6ff29dd9"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:EmailAccount":{"name":"emailaccount","className":"EmailAccount","qualifiedName":"@happyvertical/smrt-messages:EmailAccount","collection":"accounts","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/models/EmailAccount.ts","packageName":"@happyvertical/smrt-messages","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true}}},"name":{"type":"text","required":false},"providerType":{"type":"text","required":false},"channelType":{"type":"text","required":false},"credentialSecretId":{"type":"text","required":false,"_meta":{"sensitive":true,"readonly":true},"sensitive":true,"readonly":true},"isActive":{"type":"boolean","required":true,"default":true},"lastSyncAt":{"type":"datetime","required":false},"settings":{"type":"text","required":false,"_meta":{"sensitive":true,"readonly":true},"sensitive":true,"readonly":true},"configuration":{"type":"text","required":false},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false},"email":{"type":"text","required":false},"syncIntervalMinutes":{"type":"integer","required":true,"default":60}},"methods":{"getSettings":{"name":"getSettings","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setSettings":{"name":"setSettings","async":false,"parameters":[{"name":"settings","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"getConfiguration":{"name":"getConfiguration","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setConfiguration":{"name":"setConfiguration","async":false,"parameters":[{"name":"configuration","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"activate":{"name":"activate","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"deactivate":{"name":"deactivate","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"setCredentials":{"name":"setCredentials","async":true,"parameters":[{"name":"credentials","type":"Record<string, unknown>","optional":false},{"name":"options","type":"object","optional":true,"memberTypes":["string"]}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"createSender":{"name":"createSender","async":true,"parameters":[],"returnType":"Promise<MessageSenderInterface>","isStatic":false,"isPublic":true},"getCredentials":{"name":"getCredentials","async":true,"parameters":[],"returnType":"Promise<Record<string, unknown> | null>","isStatic":false,"isPublic":true},"createClient":{"name":"createClient","async":true,"parameters":[],"returnType":"any","isStatic":false,"isPublic":true},"readIntakeMessage":{"name":"readIntakeMessage","async":true,"parameters":[{"name":"locator","type":"string","optional":false},{"name":"maxBytes","type":"number","optional":false},{"name":"imapIdentity","type":"object","optional":true,"memberTypes":["string","number"]}],"returnType":"any","isStatic":false,"isPublic":true},"syncFrom":{"name":"syncFrom","async":true,"parameters":[{"name":"options","type":"SyncOptions","optional":true}],"returnType":"Promise<SyncResult>","isStatic":false,"isPublic":true},"getFolders":{"name":"getFolders","async":true,"parameters":[],"returnType":"any","isStatic":false,"isPublic":true},"getEmails":{"name":"getEmails","async":true,"parameters":[{"name":"limit","type":"number","optional":true}],"returnType":"any","isStatic":false,"isPublic":true},"getUnreadCount":{"name":"getUnreadCount","async":true,"parameters":[],"returnType":"Promise<number>","isStatic":false,"isPublic":true},"syncAll":{"name":"syncAll","async":true,"parameters":[{"name":"args","type":"Record<string, unknown>","optional":true}],"returnType":"Promise<Map<string, object>>","isStatic":false,"isPublic":true},"migrateToSecrets":{"name":"migrateToSecrets","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get"]},"tableName":"accounts"},"extends":"Account","exportName":"EmailAccount","collectionExportName":"EmailAccountCollection","displayLabelField":"name","validationRules":[{"field":"isActive","rule":"required","fieldType":"boolean"},{"field":"syncIntervalMinutes","rule":"required","fieldType":"integer"}],"schema":{"tableName":"accounts","ddl":"CREATE TABLE IF NOT EXISTS \\"accounts\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"name\\" TEXT,\\n \\"provider_type\\" TEXT,\\n \\"channel_type\\" TEXT,\\n \\"credential_secret_id\\" TEXT,\\n \\"is_active\\" BOOLEAN DEFAULT TRUE,\\n \\"last_sync_at\\" TIMESTAMP,\\n \\"settings\\" TEXT,\\n \\"configuration\\" TEXT,\\n \\"email\\" TEXT,\\n \\"sync_interval_minutes\\" INTEGER DEFAULT 60,\\n \\"workspace_id\\" TEXT,\\n \\"workspace_name\\" TEXT,\\n \\"bot_user_id\\" TEXT,\\n \\"handle\\" TEXT,\\n \\"twitter_user_id\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"name":{"type":"TEXT","notNull":false},"provider_type":{"type":"TEXT","notNull":false},"channel_type":{"type":"TEXT","notNull":false},"credential_secret_id":{"type":"TEXT","notNull":false},"is_active":{"type":"BOOLEAN","notNull":false,"default":true},"last_sync_at":{"type":"TIMESTAMP","notNull":false},"settings":{"type":"TEXT","notNull":false},"configuration":{"type":"TEXT","notNull":false},"email":{"type":"TEXT","notNull":false},"sync_interval_minutes":{"type":"INTEGER","notNull":false,"default":60},"workspace_id":{"type":"TEXT","notNull":false},"workspace_name":{"type":"TEXT","notNull":false},"bot_user_id":{"type":"TEXT","notNull":false},"handle":{"type":"TEXT","notNull":false},"twitter_user_id":{"type":"TEXT","notNull":false}},"indexes":[{"name":"accounts_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"accounts_meta_type_idx","columns":["_meta_type"]},{"name":"accounts_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"3854ea98"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:EmailAttachment":{"name":"emailattachment","className":"EmailAttachment","qualifiedName":"@happyvertical/smrt-messages:EmailAttachment","collection":"emailattachments","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/models/EmailAttachment.ts","packageName":"@happyvertical/smrt-messages","fields":{},"methods":{"getMessage":{"name":"getMessage","async":true,"parameters":[],"returnType":"any","isStatic":false,"isPublic":true},"isImage":{"name":"isImage","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"isPdf":{"name":"isPdf","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"isInline":{"name":"isInline","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"getExtension":{"name":"getExtension","async":false,"parameters":[],"returnType":"string","isStatic":false,"isPublic":true},"getFormattedSize":{"name":"getFormattedSize","async":false,"parameters":[],"returnType":"string","isStatic":false,"isPublic":true},"hasExternalFile":{"name":"hasExternalFile","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"readContent":{"name":"readContent","async":true,"parameters":[],"returnType":"Promise<Buffer | null>","isStatic":false,"isPublic":true},"getEmail":{"name":"getEmail","async":true,"parameters":[],"returnType":"any","isStatic":false,"isPublic":true}},"decoratorConfig":{},"extends":"Attachment","exportName":"EmailAttachment","collectionExportName":"EmailAttachmentCollection","schema":{"tableName":"email_attachments","ddl":"CREATE TABLE IF NOT EXISTS \\"email_attachments\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"}},"indexes":[{"name":"email_attachments_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"email_attachments_created_at_idx","columns":["created_at"]}],"version":"70291c59"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:EmailFolder":{"name":"emailfolder","className":"EmailFolder","qualifiedName":"@happyvertical/smrt-messages:EmailFolder","collection":"emailfolders","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/models/EmailFolder.ts","packageName":"@happyvertical/smrt-messages","fields":{"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"accountId":{"type":"foreignKey","required":false,"related":"Account"},"name":{"type":"text","required":false},"path":{"type":"text","required":false},"delimiter":{"type":"text","required":false},"specialUse":{"type":"text","required":false},"messageCount":{"type":"integer","required":true,"default":0},"unreadCount":{"type":"integer","required":true,"default":0},"subscribed":{"type":"boolean","required":true,"default":true},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false}},"methods":{"getAccount":{"name":"getAccount","async":true,"parameters":[],"returnType":"any","isStatic":false,"isPublic":true},"getEmails":{"name":"getEmails","async":true,"parameters":[{"name":"limit","type":"number","optional":true}],"returnType":"any","isStatic":false,"isPublic":true},"getUnreadEmails":{"name":"getUnreadEmails","async":true,"parameters":[{"name":"limit","type":"number","optional":true}],"returnType":"any","isStatic":false,"isPublic":true},"refreshCounts":{"name":"refreshCounts","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"isInbox":{"name":"isInbox","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"isSent":{"name":"isSent","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"isDrafts":{"name":"isDrafts","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"isTrash":{"name":"isTrash","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"isSpam":{"name":"isSpam","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"isSystemFolder":{"name":"isSystemFolder","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"subscribe":{"name":"subscribe","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"unsubscribe":{"name":"unsubscribe","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":{"include":["list","get","create","update","delete"]},"mcp":{"include":["list","get"]},"cli":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context"]},"extends":"SmrtObject","exportName":"EmailFolder","collectionExportName":"EmailFolderCollection","displayLabelField":"name","validationRules":[{"field":"messageCount","rule":"required","fieldType":"integer"},{"field":"unreadCount","rule":"required","fieldType":"integer"},{"field":"subscribed","rule":"required","fieldType":"boolean"}],"schema":{"tableName":"email_folders","ddl":"CREATE TABLE IF NOT EXISTS \\"email_folders\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"account_id\\" UUID,\\n \\"name\\" TEXT,\\n \\"path\\" TEXT,\\n \\"delimiter\\" TEXT,\\n \\"special_use\\" TEXT,\\n \\"message_count\\" INTEGER NOT NULL DEFAULT 0,\\n \\"unread_count\\" INTEGER NOT NULL DEFAULT 0,\\n \\"subscribed\\" BOOLEAN NOT NULL DEFAULT TRUE\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"account_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"unique":false,"foreignKey":{"table":"accounts","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"name":{"type":"TEXT","notNull":false,"unique":false},"path":{"type":"TEXT","notNull":false,"unique":false},"delimiter":{"type":"TEXT","notNull":false,"unique":false},"special_use":{"type":"TEXT","notNull":false,"unique":false},"message_count":{"type":"INTEGER","notNull":true,"unique":false,"default":0},"unread_count":{"type":"INTEGER","notNull":true,"unique":false,"default":0},"subscribed":{"type":"BOOLEAN","notNull":true,"unique":false,"default":true}},"indexes":[{"name":"email_folders_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true,"nullsNotDistinct":true},{"name":"email_folders_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"email_folders_account_id_idx","columns":["account_id"]}],"version":"e895818f"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:Message":{"name":"message","className":"Message","qualifiedName":"@happyvertical/smrt-messages:Message","collection":"messages","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/models/Message.ts","packageName":"@happyvertical/smrt-messages","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true,"mode":"optional","field":"tenantId","allowSuperAdminBypass":false}}},"accountId":{"type":"foreignKey","required":false,"related":"Account"},"personaId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-personas:AgentPersona","_meta":{"nullable":true}},"endpointId":{"type":"foreignKey","required":false,"related":"MessagingEndpoint"},"correlationId":{"type":"text","required":false},"threadId":{"type":"text","required":false},"subject":{"type":"text","required":false},"body":{"type":"text","required":false},"fromAddress":{"type":"text","required":false},"fromName":{"type":"text","required":false},"toAddresses":{"type":"text","required":false},"date":{"type":"datetime","required":false},"isRead":{"type":"boolean","required":true,"default":false},"isFlagged":{"type":"boolean","required":true,"default":false},"hasAttachments":{"type":"boolean","required":true,"default":false},"size":{"type":"integer","required":true,"default":0},"metadata":{"type":"text","required":false},"sendStatus":{"type":"text","required":false,"default":"draft","enum":["draft","pending","sending","sent","failed","scheduled"]},"sentAt":{"type":"datetime","required":false},"sendError":{"type":"text","required":false},"retryCount":{"type":"integer","required":true,"default":0},"maxRetries":{"type":"integer","required":true,"default":3},"scheduledSendAt":{"type":"datetime","required":false},"inReplyToMessageId":{"type":"foreignKey","required":false,"related":"Message"},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false}},"methods":{"getToAddresses":{"name":"getToAddresses","async":false,"parameters":[],"returnType":"Array<object>","isStatic":false,"isPublic":true},"setToAddresses":{"name":"setToAddresses","async":false,"parameters":[{"name":"addresses","type":"Array<object>","optional":false,"memberTypes":["string"]}],"returnType":"void","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"data","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"markRead":{"name":"markRead","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"markUnread":{"name":"markUnread","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"toggleFlagged":{"name":"toggleFlagged","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"isUnread":{"name":"isUnread","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"getPreview":{"name":"getPreview","async":false,"parameters":[{"name":"maxLength","type":"any","optional":true}],"returnType":"string","isStatic":false,"isPublic":true},"getAccount":{"name":"getAccount","async":true,"parameters":[],"returnType":"any","isStatic":false,"isPublic":true},"getEndpoint":{"name":"getEndpoint","async":true,"parameters":[],"returnType":"any","isStatic":false,"isPublic":true},"getThreadMessages":{"name":"getThreadMessages","async":true,"parameters":[],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"getAttachments":{"name":"getAttachments","async":true,"parameters":[],"returnType":"any","isStatic":false,"isPublic":true},"send":{"name":"send","async":true,"parameters":[{"name":"options","type":"SendMessageOptions","optional":true}],"returnType":"Promise<MessageSendResult>","isStatic":false,"isPublic":true},"retrySend":{"name":"retrySend","async":true,"parameters":[{"name":"options","type":"SendMessageOptions","optional":true}],"returnType":"Promise<MessageSendResult>","isStatic":false,"isPublic":true},"createReply":{"name":"createReply","async":false,"parameters":[{"name":"_options","type":"object","optional":true,"memberTypes":["boolean"]}],"returnType":"Message","isStatic":false,"isPublic":true},"createForward":{"name":"createForward","async":false,"parameters":[],"returnType":"Message","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get"]},"mcp":{"include":["list","get"]},"cli":{"skipApiCheck":true},"tenantScoped":{"mode":"optional"},"conflictColumns":["tenant_id","slug","context","_meta_type"]},"extends":"SmrtObject","exportName":"Message","collectionExportName":"MessageCollection","validationRules":[{"field":"isRead","rule":"required","fieldType":"boolean"},{"field":"isFlagged","rule":"required","fieldType":"boolean"},{"field":"hasAttachments","rule":"required","fieldType":"boolean"},{"field":"size","rule":"required","fieldType":"integer"},{"field":"retryCount","rule":"required","fieldType":"integer"},{"field":"maxRetries","rule":"required","fieldType":"integer"}],"schema":{"tableName":"messages","ddl":"CREATE TABLE IF NOT EXISTS \\"messages\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"account_id\\" UUID,\\n \\"persona_id\\" UUID,\\n \\"endpoint_id\\" UUID,\\n \\"correlation_id\\" TEXT,\\n \\"thread_id\\" TEXT,\\n \\"subject\\" TEXT,\\n \\"body\\" TEXT,\\n \\"from_address\\" TEXT,\\n \\"from_name\\" TEXT,\\n \\"to_addresses\\" TEXT,\\n \\"date\\" TIMESTAMP,\\n \\"is_read\\" BOOLEAN DEFAULT FALSE,\\n \\"is_flagged\\" BOOLEAN DEFAULT FALSE,\\n \\"has_attachments\\" BOOLEAN DEFAULT FALSE,\\n \\"size\\" INTEGER DEFAULT 0,\\n \\"metadata\\" TEXT,\\n \\"send_status\\" TEXT DEFAULT 'draft',\\n \\"sent_at\\" TIMESTAMP,\\n \\"send_error\\" TEXT,\\n \\"retry_count\\" INTEGER DEFAULT 0,\\n \\"max_retries\\" INTEGER DEFAULT 3,\\n \\"scheduled_send_at\\" TIMESTAMP,\\n \\"in_reply_to_message_id\\" UUID,\\n \\"message_id\\" TEXT,\\n \\"in_reply_to\\" TEXT,\\n \\"cc_addresses\\" TEXT,\\n \\"bcc_addresses\\" TEXT,\\n \\"reply_to_address\\" TEXT,\\n \\"reply_to_name\\" TEXT,\\n \\"text_body\\" TEXT,\\n \\"html_body\\" TEXT,\\n \\"folder_id\\" TEXT,\\n \\"folder_path\\" TEXT,\\n \\"labels\\" TEXT,\\n \\"flags\\" TEXT,\\n \\"is_answered\\" BOOLEAN DEFAULT FALSE,\\n \\"is_draft\\" BOOLEAN DEFAULT FALSE,\\n \\"raw_message\\" TEXT,\\n \\"headers\\" TEXT,\\n \\"channel_id\\" TEXT,\\n \\"channel_name\\" TEXT,\\n \\"slack_ts\\" TEXT,\\n \\"slack_thread_ts\\" TEXT,\\n \\"reactions\\" TEXT,\\n \\"is_edited\\" BOOLEAN DEFAULT FALSE,\\n \\"message_type\\" TEXT,\\n \\"blocks\\" TEXT,\\n \\"tweet_id\\" TEXT,\\n \\"retweet_count\\" INTEGER DEFAULT 0,\\n \\"like_count\\" INTEGER DEFAULT 0,\\n \\"reply_count\\" INTEGER DEFAULT 0,\\n \\"is_retweet\\" BOOLEAN DEFAULT FALSE,\\n \\"is_reply\\" BOOLEAN DEFAULT FALSE,\\n \\"media_urls\\" TEXT,\\n \\"hashtags\\" TEXT,\\n \\"mentions\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"account_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"accounts","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"persona_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false},"endpoint_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"messaging_endpoints","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"correlation_id":{"type":"TEXT","notNull":false},"thread_id":{"type":"TEXT","notNull":false},"subject":{"type":"TEXT","notNull":false},"body":{"type":"TEXT","notNull":false},"from_address":{"type":"TEXT","notNull":false},"from_name":{"type":"TEXT","notNull":false},"to_addresses":{"type":"TEXT","notNull":false},"date":{"type":"TIMESTAMP","notNull":false},"is_read":{"type":"BOOLEAN","notNull":false,"default":false},"is_flagged":{"type":"BOOLEAN","notNull":false,"default":false},"has_attachments":{"type":"BOOLEAN","notNull":false,"default":false},"size":{"type":"INTEGER","notNull":false,"default":0},"metadata":{"type":"TEXT","notNull":false},"send_status":{"type":"TEXT","notNull":false,"default":"draft"},"sent_at":{"type":"TIMESTAMP","notNull":false},"send_error":{"type":"TEXT","notNull":false},"retry_count":{"type":"INTEGER","notNull":false,"default":0},"max_retries":{"type":"INTEGER","notNull":false,"default":3},"scheduled_send_at":{"type":"TIMESTAMP","notNull":false},"in_reply_to_message_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"messages","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"message_id":{"type":"TEXT","notNull":false},"in_reply_to":{"type":"TEXT","notNull":false},"cc_addresses":{"type":"TEXT","notNull":false},"bcc_addresses":{"type":"TEXT","notNull":false},"reply_to_address":{"type":"TEXT","notNull":false},"reply_to_name":{"type":"TEXT","notNull":false},"text_body":{"type":"TEXT","notNull":false},"html_body":{"type":"TEXT","notNull":false},"folder_id":{"type":"TEXT","notNull":false},"folder_path":{"type":"TEXT","notNull":false},"labels":{"type":"TEXT","notNull":false},"flags":{"type":"TEXT","notNull":false},"is_answered":{"type":"BOOLEAN","notNull":false,"default":false},"is_draft":{"type":"BOOLEAN","notNull":false,"default":false},"raw_message":{"type":"TEXT","notNull":false},"headers":{"type":"TEXT","notNull":false},"channel_id":{"type":"TEXT","notNull":false},"channel_name":{"type":"TEXT","notNull":false},"slack_ts":{"type":"TEXT","notNull":false},"slack_thread_ts":{"type":"TEXT","notNull":false},"reactions":{"type":"TEXT","notNull":false},"is_edited":{"type":"BOOLEAN","notNull":false,"default":false},"message_type":{"type":"TEXT","notNull":false},"blocks":{"type":"TEXT","notNull":false},"tweet_id":{"type":"TEXT","notNull":false},"retweet_count":{"type":"INTEGER","notNull":false,"default":0},"like_count":{"type":"INTEGER","notNull":false,"default":0},"reply_count":{"type":"INTEGER","notNull":false,"default":0},"is_retweet":{"type":"BOOLEAN","notNull":false,"default":false},"is_reply":{"type":"BOOLEAN","notNull":false,"default":false},"media_urls":{"type":"TEXT","notNull":false},"hashtags":{"type":"TEXT","notNull":false},"mentions":{"type":"TEXT","notNull":false}},"indexes":[{"name":"messages_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"messages_meta_type_idx","columns":["_meta_type"]},{"name":"messages_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"messages_account_id_idx","columns":["account_id"]},{"name":"messages_persona_id_idx","columns":["persona_id"]},{"name":"messages_endpoint_id_idx","columns":["endpoint_id"]},{"name":"messages_in_reply_to_message_id_idx","columns":["in_reply_to_message_id"]}],"version":"c03791c7"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:MessagingEndpoint":{"name":"messagingendpoint","className":"MessagingEndpoint","qualifiedName":"@happyvertical/smrt-messages:MessagingEndpoint","collection":"messagingendpoints","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/models/MessagingEndpoint.ts","packageName":"@happyvertical/smrt-messages","fields":{"tenantId":{"type":"text","required":true,"_meta":{"sqlType":"UUID","__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":true,"autoPopulate":true,"nullable":false,"mode":"required","field":"tenantId","allowSuperAdminBypass":false}}},"profileId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-profiles:Profile","_meta":{"nullable":true}},"label":{"type":"text","required":true,"_meta":{"required":true}},"channel":{"type":"text","required":true,"default":"email","_meta":{"required":true}},"address":{"type":"text","required":true,"_meta":{"required":true,"sensitive":true},"sensitive":true},"isActive":{"type":"boolean","required":true,"default":true},"verifiedAt":{"type":"datetime","required":false},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false}},"methods":{"getAddress":{"name":"getAddress","async":false,"parameters":[],"returnType":"T","isStatic":false,"isPublic":true},"setAddress":{"name":"setAddress","async":false,"parameters":[{"name":"address","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"getMaskedAddress":{"name":"getMaskedAddress","async":false,"parameters":[],"returnType":"string","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"messaging_endpoints","api":{"include":["list","get"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get"]},"conflictColumns":["tenant_id","channel","label"],"tenantScoped":{"mode":"required"}},"extends":"SmrtObject","exportName":"MessagingEndpoint","collectionExportName":"MessagingEndpointCollection","displayLabelField":"label","validationRules":[{"field":"label","rule":"required","fieldType":"text"},{"field":"channel","rule":"required","fieldType":"text"},{"field":"address","rule":"required","fieldType":"text"},{"field":"isActive","rule":"required","fieldType":"boolean"}],"schema":{"tableName":"messaging_endpoints","ddl":"CREATE TABLE IF NOT EXISTS \\"messaging_endpoints\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"profile_id\\" UUID,\\n \\"label\\" TEXT NOT NULL,\\n \\"channel\\" TEXT NOT NULL DEFAULT 'email',\\n \\"address\\" TEXT NOT NULL,\\n \\"is_active\\" BOOLEAN NOT NULL DEFAULT TRUE,\\n \\"verified_at\\" TIMESTAMP\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"profile_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false,"unique":false},"label":{"type":"TEXT","notNull":true,"unique":false},"channel":{"type":"TEXT","notNull":true,"unique":false,"default":"email"},"address":{"type":"TEXT","notNull":true,"unique":false},"is_active":{"type":"BOOLEAN","notNull":true,"unique":false,"default":true},"verified_at":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"messaging_endpoints_tenant_id_channel_idx","columns":["tenant_id","channel","label"],"unique":true},{"name":"messaging_endpoints_slug_context_idx","columns":["slug","context"]},{"name":"messaging_endpoints_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"messaging_endpoints_profile_id_idx","columns":["profile_id"]}],"version":"fca5554d"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:PersonaMessageRoute":{"name":"personamessageroute","className":"PersonaMessageRoute","qualifiedName":"@happyvertical/smrt-messages:PersonaMessageRoute","collection":"personamessageroutes","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/models/PersonaMessageRoute.ts","packageName":"@happyvertical/smrt-messages","fields":{"tenantId":{"type":"text","required":true,"_meta":{"sqlType":"UUID","__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":true,"autoPopulate":true,"nullable":false,"mode":"required","field":"tenantId","allowSuperAdminBypass":false}}},"personaId":{"type":"crossPackageRef","required":true,"related":"@happyvertical/smrt-personas:AgentPersona"},"accountId":{"type":"foreignKey","required":true,"related":"Account","_meta":{"required":true}},"endpointId":{"type":"foreignKey","required":true,"related":"MessagingEndpoint","_meta":{"required":true}},"purpose":{"type":"text","required":true,"_meta":{"required":true}},"priority":{"type":"integer","required":true,"default":0},"enabled":{"type":"boolean","required":true,"default":true},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false}},"methods":{},"decoratorConfig":{"tableName":"persona_message_routes","api":{"include":["list","get"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get"]},"conflictColumns":["tenant_id","persona_id","account_id","endpoint_id","purpose"],"tenantScoped":{"mode":"required"}},"extends":"SmrtObject","exportName":"PersonaMessageRoute","collectionExportName":"PersonaMessageRouteCollection","validationRules":[{"field":"personaId","rule":"required","fieldType":"crossPackageRef"},{"field":"accountId","rule":"required","fieldType":"foreignKey"},{"field":"endpointId","rule":"required","fieldType":"foreignKey"},{"field":"purpose","rule":"required","fieldType":"text"},{"field":"priority","rule":"required","fieldType":"integer"},{"field":"enabled","rule":"required","fieldType":"boolean"}],"schema":{"tableName":"persona_message_routes","ddl":"CREATE TABLE IF NOT EXISTS \\"persona_message_routes\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"persona_id\\" UUID NOT NULL,\\n \\"account_id\\" UUID NOT NULL,\\n \\"endpoint_id\\" UUID NOT NULL,\\n \\"purpose\\" TEXT NOT NULL,\\n \\"priority\\" INTEGER NOT NULL DEFAULT 0,\\n \\"enabled\\" BOOLEAN NOT NULL DEFAULT TRUE\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"persona_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":true,"unique":false},"account_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"accounts","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"endpoint_id":{"type":"UUID","referenceKind":"foreignKey","notNull":true,"unique":false,"foreignKey":{"table":"messaging_endpoints","column":"id","onDelete":"CASCADE","onUpdate":"CASCADE"}},"purpose":{"type":"TEXT","notNull":true,"unique":false},"priority":{"type":"INTEGER","notNull":true,"unique":false,"default":0},"enabled":{"type":"BOOLEAN","notNull":true,"unique":false,"default":true}},"indexes":[{"name":"persona_message_routes_tenant_id_persona_id_idx","columns":["tenant_id","persona_id","account_id","endpoint_id","purpose"],"unique":true},{"name":"persona_message_routes_slug_context_idx","columns":["slug","context"]},{"name":"persona_message_routes_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"persona_message_routes_persona_id_idx","columns":["persona_id"]},{"name":"persona_message_routes_account_id_idx","columns":["account_id"]},{"name":"persona_message_routes_endpoint_id_idx","columns":["endpoint_id"]}],"version":"3dc1d5d0"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:SlackAccount":{"name":"slackaccount","className":"SlackAccount","qualifiedName":"@happyvertical/smrt-messages:SlackAccount","collection":"accounts","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/models/SlackAccount.ts","packageName":"@happyvertical/smrt-messages","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true}}},"name":{"type":"text","required":false},"providerType":{"type":"text","required":false},"channelType":{"type":"text","required":false},"credentialSecretId":{"type":"text","required":false,"_meta":{"sensitive":true,"readonly":true},"sensitive":true,"readonly":true},"isActive":{"type":"boolean","required":true,"default":true},"lastSyncAt":{"type":"datetime","required":false},"settings":{"type":"text","required":false,"_meta":{"sensitive":true,"readonly":true},"sensitive":true,"readonly":true},"configuration":{"type":"text","required":false},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false},"workspaceId":{"type":"text","required":false},"workspaceName":{"type":"text","required":false},"botUserId":{"type":"text","required":false}},"methods":{"getSettings":{"name":"getSettings","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setSettings":{"name":"setSettings","async":false,"parameters":[{"name":"settings","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"getConfiguration":{"name":"getConfiguration","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setConfiguration":{"name":"setConfiguration","async":false,"parameters":[{"name":"configuration","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"activate":{"name":"activate","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"deactivate":{"name":"deactivate","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"setCredentials":{"name":"setCredentials","async":true,"parameters":[{"name":"credentials","type":"Record<string, unknown>","optional":false},{"name":"options","type":"object","optional":true,"memberTypes":["string"]}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"createSender":{"name":"createSender","async":true,"parameters":[],"returnType":"Promise<MessageSenderInterface>","isStatic":false,"isPublic":true},"getCredentials":{"name":"getCredentials","async":true,"parameters":[],"returnType":"Promise<Record<string, unknown> | null>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get"]},"tableName":"accounts"},"extends":"Account","exportName":"SlackAccount","collectionExportName":"SlackAccountCollection","displayLabelField":"name","validationRules":[{"field":"isActive","rule":"required","fieldType":"boolean"}],"schema":{"tableName":"accounts","ddl":"CREATE TABLE IF NOT EXISTS \\"accounts\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"name\\" TEXT,\\n \\"provider_type\\" TEXT,\\n \\"channel_type\\" TEXT,\\n \\"credential_secret_id\\" TEXT,\\n \\"is_active\\" BOOLEAN DEFAULT TRUE,\\n \\"last_sync_at\\" TIMESTAMP,\\n \\"settings\\" TEXT,\\n \\"configuration\\" TEXT,\\n \\"email\\" TEXT,\\n \\"sync_interval_minutes\\" INTEGER DEFAULT 60,\\n \\"workspace_id\\" TEXT,\\n \\"workspace_name\\" TEXT,\\n \\"bot_user_id\\" TEXT,\\n \\"handle\\" TEXT,\\n \\"twitter_user_id\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"name":{"type":"TEXT","notNull":false},"provider_type":{"type":"TEXT","notNull":false},"channel_type":{"type":"TEXT","notNull":false},"credential_secret_id":{"type":"TEXT","notNull":false},"is_active":{"type":"BOOLEAN","notNull":false,"default":true},"last_sync_at":{"type":"TIMESTAMP","notNull":false},"settings":{"type":"TEXT","notNull":false},"configuration":{"type":"TEXT","notNull":false},"email":{"type":"TEXT","notNull":false},"sync_interval_minutes":{"type":"INTEGER","notNull":false,"default":60},"workspace_id":{"type":"TEXT","notNull":false},"workspace_name":{"type":"TEXT","notNull":false},"bot_user_id":{"type":"TEXT","notNull":false},"handle":{"type":"TEXT","notNull":false},"twitter_user_id":{"type":"TEXT","notNull":false}},"indexes":[{"name":"accounts_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"accounts_meta_type_idx","columns":["_meta_type"]},{"name":"accounts_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"3854ea98"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:SlackMessage":{"name":"slackmessage","className":"SlackMessage","qualifiedName":"@happyvertical/smrt-messages:SlackMessage","collection":"messages","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/models/SlackMessage.ts","packageName":"@happyvertical/smrt-messages","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true}}},"accountId":{"type":"foreignKey","required":false,"related":"Account"},"personaId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-personas:AgentPersona","_meta":{"nullable":true}},"endpointId":{"type":"foreignKey","required":false,"related":"MessagingEndpoint"},"correlationId":{"type":"text","required":false},"threadId":{"type":"text","required":false},"subject":{"type":"text","required":false},"body":{"type":"text","required":false},"fromAddress":{"type":"text","required":false},"fromName":{"type":"text","required":false},"toAddresses":{"type":"text","required":false},"date":{"type":"datetime","required":false},"isRead":{"type":"boolean","required":true,"default":false},"isFlagged":{"type":"boolean","required":true,"default":false},"hasAttachments":{"type":"boolean","required":true,"default":false},"size":{"type":"integer","required":true,"default":0},"metadata":{"type":"text","required":false},"sendStatus":{"type":"text","required":false,"default":"draft","enum":["draft","pending","sending","sent","failed","scheduled"]},"sentAt":{"type":"datetime","required":false},"sendError":{"type":"text","required":false},"retryCount":{"type":"integer","required":true,"default":0},"maxRetries":{"type":"integer","required":true,"default":3},"scheduledSendAt":{"type":"datetime","required":false},"inReplyToMessageId":{"type":"foreignKey","required":false,"related":"Message"},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false},"channelId":{"type":"text","required":false},"channelName":{"type":"text","required":false},"slackTs":{"type":"text","required":false},"slackThreadTs":{"type":"text","required":false},"reactions":{"type":"text","required":false},"isEdited":{"type":"boolean","required":true,"default":false},"messageType":{"type":"text","required":false},"blocks":{"type":"text","required":false}},"methods":{"getToAddresses":{"name":"getToAddresses","async":false,"parameters":[],"returnType":"Array<object>","isStatic":false,"isPublic":true},"setToAddresses":{"name":"setToAddresses","async":false,"parameters":[{"name":"addresses","type":"Array<object>","optional":false,"memberTypes":["string"]}],"returnType":"void","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"data","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"markRead":{"name":"markRead","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"markUnread":{"name":"markUnread","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"toggleFlagged":{"name":"toggleFlagged","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"isUnread":{"name":"isUnread","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"getPreview":{"name":"getPreview","async":false,"parameters":[{"name":"maxLength","type":"any","optional":true}],"returnType":"string","isStatic":false,"isPublic":true},"getAccount":{"name":"getAccount","async":true,"parameters":[],"returnType":"any","isStatic":false,"isPublic":true},"getEndpoint":{"name":"getEndpoint","async":true,"parameters":[],"returnType":"any","isStatic":false,"isPublic":true},"getThreadMessages":{"name":"getThreadMessages","async":true,"parameters":[],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"getAttachments":{"name":"getAttachments","async":true,"parameters":[],"returnType":"any","isStatic":false,"isPublic":true},"send":{"name":"send","async":true,"parameters":[{"name":"options","type":"SendMessageOptions","optional":true}],"returnType":"Promise<MessageSendResult>","isStatic":false,"isPublic":true},"retrySend":{"name":"retrySend","async":true,"parameters":[{"name":"options","type":"SendMessageOptions","optional":true}],"returnType":"Promise<MessageSendResult>","isStatic":false,"isPublic":true},"createReply":{"name":"createReply","async":false,"parameters":[{"name":"_options","type":"object","optional":true,"memberTypes":["boolean"]}],"returnType":"Message","isStatic":false,"isPublic":true},"createForward":{"name":"createForward","async":false,"parameters":[],"returnType":"Message","isStatic":false,"isPublic":true},"getReactions":{"name":"getReactions","async":false,"parameters":[],"returnType":"Array<object>","isStatic":false,"isPublic":true},"getBlocks":{"name":"getBlocks","async":false,"parameters":[],"returnType":"Record<string, unknown>[]","isStatic":false,"isPublic":true},"isInThread":{"name":"isInThread","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"getTotalReactions":{"name":"getTotalReactions","async":false,"parameters":[],"returnType":"number","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get","create"]},"mcp":{"include":["list","get"]},"cli":{"skipApiCheck":true},"tableName":"messages"},"extends":"Message","exportName":"SlackMessage","collectionExportName":"SlackMessageCollection","validationRules":[{"field":"isRead","rule":"required","fieldType":"boolean"},{"field":"isFlagged","rule":"required","fieldType":"boolean"},{"field":"hasAttachments","rule":"required","fieldType":"boolean"},{"field":"size","rule":"required","fieldType":"integer"},{"field":"retryCount","rule":"required","fieldType":"integer"},{"field":"maxRetries","rule":"required","fieldType":"integer"},{"field":"isEdited","rule":"required","fieldType":"boolean"}],"schema":{"tableName":"messages","ddl":"CREATE TABLE IF NOT EXISTS \\"messages\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"account_id\\" UUID,\\n \\"persona_id\\" UUID,\\n \\"endpoint_id\\" UUID,\\n \\"correlation_id\\" TEXT,\\n \\"thread_id\\" TEXT,\\n \\"subject\\" TEXT,\\n \\"body\\" TEXT,\\n \\"from_address\\" TEXT,\\n \\"from_name\\" TEXT,\\n \\"to_addresses\\" TEXT,\\n \\"date\\" TIMESTAMP,\\n \\"is_read\\" BOOLEAN DEFAULT FALSE,\\n \\"is_flagged\\" BOOLEAN DEFAULT FALSE,\\n \\"has_attachments\\" BOOLEAN DEFAULT FALSE,\\n \\"size\\" INTEGER DEFAULT 0,\\n \\"metadata\\" TEXT,\\n \\"send_status\\" TEXT DEFAULT 'draft',\\n \\"sent_at\\" TIMESTAMP,\\n \\"send_error\\" TEXT,\\n \\"retry_count\\" INTEGER DEFAULT 0,\\n \\"max_retries\\" INTEGER DEFAULT 3,\\n \\"scheduled_send_at\\" TIMESTAMP,\\n \\"in_reply_to_message_id\\" UUID,\\n \\"message_id\\" TEXT,\\n \\"in_reply_to\\" TEXT,\\n \\"cc_addresses\\" TEXT,\\n \\"bcc_addresses\\" TEXT,\\n \\"reply_to_address\\" TEXT,\\n \\"reply_to_name\\" TEXT,\\n \\"text_body\\" TEXT,\\n \\"html_body\\" TEXT,\\n \\"folder_id\\" TEXT,\\n \\"folder_path\\" TEXT,\\n \\"labels\\" TEXT,\\n \\"flags\\" TEXT,\\n \\"is_answered\\" BOOLEAN DEFAULT FALSE,\\n \\"is_draft\\" BOOLEAN DEFAULT FALSE,\\n \\"raw_message\\" TEXT,\\n \\"headers\\" TEXT,\\n \\"channel_id\\" TEXT,\\n \\"channel_name\\" TEXT,\\n \\"slack_ts\\" TEXT,\\n \\"slack_thread_ts\\" TEXT,\\n \\"reactions\\" TEXT,\\n \\"is_edited\\" BOOLEAN DEFAULT FALSE,\\n \\"message_type\\" TEXT,\\n \\"blocks\\" TEXT,\\n \\"tweet_id\\" TEXT,\\n \\"retweet_count\\" INTEGER DEFAULT 0,\\n \\"like_count\\" INTEGER DEFAULT 0,\\n \\"reply_count\\" INTEGER DEFAULT 0,\\n \\"is_retweet\\" BOOLEAN DEFAULT FALSE,\\n \\"is_reply\\" BOOLEAN DEFAULT FALSE,\\n \\"media_urls\\" TEXT,\\n \\"hashtags\\" TEXT,\\n \\"mentions\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"account_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"accounts","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"persona_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false},"endpoint_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"messaging_endpoints","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"correlation_id":{"type":"TEXT","notNull":false},"thread_id":{"type":"TEXT","notNull":false},"subject":{"type":"TEXT","notNull":false},"body":{"type":"TEXT","notNull":false},"from_address":{"type":"TEXT","notNull":false},"from_name":{"type":"TEXT","notNull":false},"to_addresses":{"type":"TEXT","notNull":false},"date":{"type":"TIMESTAMP","notNull":false},"is_read":{"type":"BOOLEAN","notNull":false,"default":false},"is_flagged":{"type":"BOOLEAN","notNull":false,"default":false},"has_attachments":{"type":"BOOLEAN","notNull":false,"default":false},"size":{"type":"INTEGER","notNull":false,"default":0},"metadata":{"type":"TEXT","notNull":false},"send_status":{"type":"TEXT","notNull":false,"default":"draft"},"sent_at":{"type":"TIMESTAMP","notNull":false},"send_error":{"type":"TEXT","notNull":false},"retry_count":{"type":"INTEGER","notNull":false,"default":0},"max_retries":{"type":"INTEGER","notNull":false,"default":3},"scheduled_send_at":{"type":"TIMESTAMP","notNull":false},"in_reply_to_message_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"messages","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"message_id":{"type":"TEXT","notNull":false},"in_reply_to":{"type":"TEXT","notNull":false},"cc_addresses":{"type":"TEXT","notNull":false},"bcc_addresses":{"type":"TEXT","notNull":false},"reply_to_address":{"type":"TEXT","notNull":false},"reply_to_name":{"type":"TEXT","notNull":false},"text_body":{"type":"TEXT","notNull":false},"html_body":{"type":"TEXT","notNull":false},"folder_id":{"type":"TEXT","notNull":false},"folder_path":{"type":"TEXT","notNull":false},"labels":{"type":"TEXT","notNull":false},"flags":{"type":"TEXT","notNull":false},"is_answered":{"type":"BOOLEAN","notNull":false,"default":false},"is_draft":{"type":"BOOLEAN","notNull":false,"default":false},"raw_message":{"type":"TEXT","notNull":false},"headers":{"type":"TEXT","notNull":false},"channel_id":{"type":"TEXT","notNull":false},"channel_name":{"type":"TEXT","notNull":false},"slack_ts":{"type":"TEXT","notNull":false},"slack_thread_ts":{"type":"TEXT","notNull":false},"reactions":{"type":"TEXT","notNull":false},"is_edited":{"type":"BOOLEAN","notNull":false,"default":false},"message_type":{"type":"TEXT","notNull":false},"blocks":{"type":"TEXT","notNull":false},"tweet_id":{"type":"TEXT","notNull":false},"retweet_count":{"type":"INTEGER","notNull":false,"default":0},"like_count":{"type":"INTEGER","notNull":false,"default":0},"reply_count":{"type":"INTEGER","notNull":false,"default":0},"is_retweet":{"type":"BOOLEAN","notNull":false,"default":false},"is_reply":{"type":"BOOLEAN","notNull":false,"default":false},"media_urls":{"type":"TEXT","notNull":false},"hashtags":{"type":"TEXT","notNull":false},"mentions":{"type":"TEXT","notNull":false}},"indexes":[{"name":"messages_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"messages_meta_type_idx","columns":["_meta_type"]},{"name":"messages_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"messages_account_id_idx","columns":["account_id"]},{"name":"messages_persona_id_idx","columns":["persona_id"]},{"name":"messages_endpoint_id_idx","columns":["endpoint_id"]},{"name":"messages_in_reply_to_message_id_idx","columns":["in_reply_to_message_id"]}],"version":"f91bb49a"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:TelegramAccount":{"name":"telegramaccount","className":"TelegramAccount","qualifiedName":"@happyvertical/smrt-messages:TelegramAccount","collection":"accounts","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/models/TelegramAccount.ts","packageName":"@happyvertical/smrt-messages","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true}}},"name":{"type":"text","required":false},"providerType":{"type":"text","required":false},"channelType":{"type":"text","required":false},"credentialSecretId":{"type":"text","required":false,"_meta":{"sensitive":true,"readonly":true},"sensitive":true,"readonly":true},"isActive":{"type":"boolean","required":true,"default":true},"lastSyncAt":{"type":"datetime","required":false},"settings":{"type":"text","required":false,"_meta":{"sensitive":true,"readonly":true},"sensitive":true,"readonly":true},"configuration":{"type":"text","required":false},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false}},"methods":{"getSettings":{"name":"getSettings","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setSettings":{"name":"setSettings","async":false,"parameters":[{"name":"settings","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"getConfiguration":{"name":"getConfiguration","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setConfiguration":{"name":"setConfiguration","async":false,"parameters":[{"name":"configuration","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"activate":{"name":"activate","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"deactivate":{"name":"deactivate","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"setCredentials":{"name":"setCredentials","async":true,"parameters":[{"name":"credentials","type":"Record<string, unknown>","optional":false},{"name":"options","type":"object","optional":true,"memberTypes":["string"]}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"createSender":{"name":"createSender","async":true,"parameters":[],"returnType":"Promise<MessageSenderInterface>","isStatic":false,"isPublic":true},"getCredentials":{"name":"getCredentials","async":true,"parameters":[],"returnType":"Promise<Record<string, unknown> | null>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get"]},"tableName":"accounts"},"extends":"Account","exportName":"TelegramAccount","collectionExportName":"TelegramAccountCollection","displayLabelField":"name","validationRules":[{"field":"isActive","rule":"required","fieldType":"boolean"}],"schema":{"tableName":"accounts","ddl":"CREATE TABLE IF NOT EXISTS \\"accounts\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"name\\" TEXT,\\n \\"provider_type\\" TEXT,\\n \\"channel_type\\" TEXT,\\n \\"credential_secret_id\\" TEXT,\\n \\"is_active\\" BOOLEAN DEFAULT TRUE,\\n \\"last_sync_at\\" TIMESTAMP,\\n \\"settings\\" TEXT,\\n \\"configuration\\" TEXT,\\n \\"email\\" TEXT,\\n \\"sync_interval_minutes\\" INTEGER DEFAULT 60,\\n \\"workspace_id\\" TEXT,\\n \\"workspace_name\\" TEXT,\\n \\"bot_user_id\\" TEXT,\\n \\"handle\\" TEXT,\\n \\"twitter_user_id\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"name":{"type":"TEXT","notNull":false},"provider_type":{"type":"TEXT","notNull":false},"channel_type":{"type":"TEXT","notNull":false},"credential_secret_id":{"type":"TEXT","notNull":false},"is_active":{"type":"BOOLEAN","notNull":false,"default":true},"last_sync_at":{"type":"TIMESTAMP","notNull":false},"settings":{"type":"TEXT","notNull":false},"configuration":{"type":"TEXT","notNull":false},"email":{"type":"TEXT","notNull":false},"sync_interval_minutes":{"type":"INTEGER","notNull":false,"default":60},"workspace_id":{"type":"TEXT","notNull":false},"workspace_name":{"type":"TEXT","notNull":false},"bot_user_id":{"type":"TEXT","notNull":false},"handle":{"type":"TEXT","notNull":false},"twitter_user_id":{"type":"TEXT","notNull":false}},"indexes":[{"name":"accounts_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"accounts_meta_type_idx","columns":["_meta_type"]},{"name":"accounts_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"3854ea98"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:Tweet":{"name":"tweet","className":"Tweet","qualifiedName":"@happyvertical/smrt-messages:Tweet","collection":"messages","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/models/Tweet.ts","packageName":"@happyvertical/smrt-messages","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true}}},"accountId":{"type":"foreignKey","required":false,"related":"Account"},"personaId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-personas:AgentPersona","_meta":{"nullable":true}},"endpointId":{"type":"foreignKey","required":false,"related":"MessagingEndpoint"},"correlationId":{"type":"text","required":false},"threadId":{"type":"text","required":false},"subject":{"type":"text","required":false},"body":{"type":"text","required":false},"fromAddress":{"type":"text","required":false},"fromName":{"type":"text","required":false},"toAddresses":{"type":"text","required":false},"date":{"type":"datetime","required":false},"isRead":{"type":"boolean","required":true,"default":false},"isFlagged":{"type":"boolean","required":true,"default":false},"hasAttachments":{"type":"boolean","required":true,"default":false},"size":{"type":"integer","required":true,"default":0},"metadata":{"type":"text","required":false},"sendStatus":{"type":"text","required":false,"default":"draft","enum":["draft","pending","sending","sent","failed","scheduled"]},"sentAt":{"type":"datetime","required":false},"sendError":{"type":"text","required":false},"retryCount":{"type":"integer","required":true,"default":0},"maxRetries":{"type":"integer","required":true,"default":3},"scheduledSendAt":{"type":"datetime","required":false},"inReplyToMessageId":{"type":"foreignKey","required":false,"related":"Message"},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false},"tweetId":{"type":"text","required":false},"retweetCount":{"type":"integer","required":true,"default":0},"likeCount":{"type":"integer","required":true,"default":0},"replyCount":{"type":"integer","required":true,"default":0},"isRetweet":{"type":"boolean","required":true,"default":false},"isReply":{"type":"boolean","required":true,"default":false},"mediaUrls":{"type":"text","required":false},"hashtags":{"type":"text","required":false},"mentions":{"type":"text","required":false}},"methods":{"getToAddresses":{"name":"getToAddresses","async":false,"parameters":[],"returnType":"Array<object>","isStatic":false,"isPublic":true},"setToAddresses":{"name":"setToAddresses","async":false,"parameters":[{"name":"addresses","type":"Array<object>","optional":false,"memberTypes":["string"]}],"returnType":"void","isStatic":false,"isPublic":true},"getMetadata":{"name":"getMetadata","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setMetadata":{"name":"setMetadata","async":false,"parameters":[{"name":"data","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"markRead":{"name":"markRead","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"markUnread":{"name":"markUnread","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"toggleFlagged":{"name":"toggleFlagged","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"isUnread":{"name":"isUnread","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"getPreview":{"name":"getPreview","async":false,"parameters":[{"name":"maxLength","type":"any","optional":true}],"returnType":"string","isStatic":false,"isPublic":true},"getAccount":{"name":"getAccount","async":true,"parameters":[],"returnType":"any","isStatic":false,"isPublic":true},"getEndpoint":{"name":"getEndpoint","async":true,"parameters":[],"returnType":"any","isStatic":false,"isPublic":true},"getThreadMessages":{"name":"getThreadMessages","async":true,"parameters":[],"returnType":"Promise<Message[]>","isStatic":false,"isPublic":true},"getAttachments":{"name":"getAttachments","async":true,"parameters":[],"returnType":"any","isStatic":false,"isPublic":true},"send":{"name":"send","async":true,"parameters":[{"name":"options","type":"SendMessageOptions","optional":true}],"returnType":"Promise<MessageSendResult>","isStatic":false,"isPublic":true},"retrySend":{"name":"retrySend","async":true,"parameters":[{"name":"options","type":"SendMessageOptions","optional":true}],"returnType":"Promise<MessageSendResult>","isStatic":false,"isPublic":true},"createReply":{"name":"createReply","async":false,"parameters":[{"name":"_options","type":"object","optional":true,"memberTypes":["boolean"]}],"returnType":"Message","isStatic":false,"isPublic":true},"createForward":{"name":"createForward","async":false,"parameters":[],"returnType":"Message","isStatic":false,"isPublic":true},"getMediaUrls":{"name":"getMediaUrls","async":false,"parameters":[],"returnType":"string[]","isStatic":false,"isPublic":true},"getHashtags":{"name":"getHashtags","async":false,"parameters":[],"returnType":"string[]","isStatic":false,"isPublic":true},"getMentions":{"name":"getMentions","async":false,"parameters":[],"returnType":"string[]","isStatic":false,"isPublic":true},"getEngagement":{"name":"getEngagement","async":false,"parameters":[],"returnType":"number","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get","create"]},"mcp":{"include":["list","get"]},"cli":{"skipApiCheck":true},"tableName":"messages"},"extends":"Message","exportName":"Tweet","collectionExportName":"TweetCollection","validationRules":[{"field":"isRead","rule":"required","fieldType":"boolean"},{"field":"isFlagged","rule":"required","fieldType":"boolean"},{"field":"hasAttachments","rule":"required","fieldType":"boolean"},{"field":"size","rule":"required","fieldType":"integer"},{"field":"retryCount","rule":"required","fieldType":"integer"},{"field":"maxRetries","rule":"required","fieldType":"integer"},{"field":"retweetCount","rule":"required","fieldType":"integer"},{"field":"likeCount","rule":"required","fieldType":"integer"},{"field":"replyCount","rule":"required","fieldType":"integer"},{"field":"isRetweet","rule":"required","fieldType":"boolean"},{"field":"isReply","rule":"required","fieldType":"boolean"}],"schema":{"tableName":"messages","ddl":"CREATE TABLE IF NOT EXISTS \\"messages\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"account_id\\" UUID,\\n \\"persona_id\\" UUID,\\n \\"endpoint_id\\" UUID,\\n \\"correlation_id\\" TEXT,\\n \\"thread_id\\" TEXT,\\n \\"subject\\" TEXT,\\n \\"body\\" TEXT,\\n \\"from_address\\" TEXT,\\n \\"from_name\\" TEXT,\\n \\"to_addresses\\" TEXT,\\n \\"date\\" TIMESTAMP,\\n \\"is_read\\" BOOLEAN DEFAULT FALSE,\\n \\"is_flagged\\" BOOLEAN DEFAULT FALSE,\\n \\"has_attachments\\" BOOLEAN DEFAULT FALSE,\\n \\"size\\" INTEGER DEFAULT 0,\\n \\"metadata\\" TEXT,\\n \\"send_status\\" TEXT DEFAULT 'draft',\\n \\"sent_at\\" TIMESTAMP,\\n \\"send_error\\" TEXT,\\n \\"retry_count\\" INTEGER DEFAULT 0,\\n \\"max_retries\\" INTEGER DEFAULT 3,\\n \\"scheduled_send_at\\" TIMESTAMP,\\n \\"in_reply_to_message_id\\" UUID,\\n \\"message_id\\" TEXT,\\n \\"in_reply_to\\" TEXT,\\n \\"cc_addresses\\" TEXT,\\n \\"bcc_addresses\\" TEXT,\\n \\"reply_to_address\\" TEXT,\\n \\"reply_to_name\\" TEXT,\\n \\"text_body\\" TEXT,\\n \\"html_body\\" TEXT,\\n \\"folder_id\\" TEXT,\\n \\"folder_path\\" TEXT,\\n \\"labels\\" TEXT,\\n \\"flags\\" TEXT,\\n \\"is_answered\\" BOOLEAN DEFAULT FALSE,\\n \\"is_draft\\" BOOLEAN DEFAULT FALSE,\\n \\"raw_message\\" TEXT,\\n \\"headers\\" TEXT,\\n \\"channel_id\\" TEXT,\\n \\"channel_name\\" TEXT,\\n \\"slack_ts\\" TEXT,\\n \\"slack_thread_ts\\" TEXT,\\n \\"reactions\\" TEXT,\\n \\"is_edited\\" BOOLEAN DEFAULT FALSE,\\n \\"message_type\\" TEXT,\\n \\"blocks\\" TEXT,\\n \\"tweet_id\\" TEXT,\\n \\"retweet_count\\" INTEGER DEFAULT 0,\\n \\"like_count\\" INTEGER DEFAULT 0,\\n \\"reply_count\\" INTEGER DEFAULT 0,\\n \\"is_retweet\\" BOOLEAN DEFAULT FALSE,\\n \\"is_reply\\" BOOLEAN DEFAULT FALSE,\\n \\"media_urls\\" TEXT,\\n \\"hashtags\\" TEXT,\\n \\"mentions\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"account_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"accounts","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"persona_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false},"endpoint_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"messaging_endpoints","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"correlation_id":{"type":"TEXT","notNull":false},"thread_id":{"type":"TEXT","notNull":false},"subject":{"type":"TEXT","notNull":false},"body":{"type":"TEXT","notNull":false},"from_address":{"type":"TEXT","notNull":false},"from_name":{"type":"TEXT","notNull":false},"to_addresses":{"type":"TEXT","notNull":false},"date":{"type":"TIMESTAMP","notNull":false},"is_read":{"type":"BOOLEAN","notNull":false,"default":false},"is_flagged":{"type":"BOOLEAN","notNull":false,"default":false},"has_attachments":{"type":"BOOLEAN","notNull":false,"default":false},"size":{"type":"INTEGER","notNull":false,"default":0},"metadata":{"type":"TEXT","notNull":false},"send_status":{"type":"TEXT","notNull":false,"default":"draft"},"sent_at":{"type":"TIMESTAMP","notNull":false},"send_error":{"type":"TEXT","notNull":false},"retry_count":{"type":"INTEGER","notNull":false,"default":0},"max_retries":{"type":"INTEGER","notNull":false,"default":3},"scheduled_send_at":{"type":"TIMESTAMP","notNull":false},"in_reply_to_message_id":{"type":"UUID","referenceKind":"foreignKey","notNull":false,"foreignKey":{"table":"messages","column":"id","onDelete":"NO ACTION","onUpdate":"CASCADE"}},"message_id":{"type":"TEXT","notNull":false},"in_reply_to":{"type":"TEXT","notNull":false},"cc_addresses":{"type":"TEXT","notNull":false},"bcc_addresses":{"type":"TEXT","notNull":false},"reply_to_address":{"type":"TEXT","notNull":false},"reply_to_name":{"type":"TEXT","notNull":false},"text_body":{"type":"TEXT","notNull":false},"html_body":{"type":"TEXT","notNull":false},"folder_id":{"type":"TEXT","notNull":false},"folder_path":{"type":"TEXT","notNull":false},"labels":{"type":"TEXT","notNull":false},"flags":{"type":"TEXT","notNull":false},"is_answered":{"type":"BOOLEAN","notNull":false,"default":false},"is_draft":{"type":"BOOLEAN","notNull":false,"default":false},"raw_message":{"type":"TEXT","notNull":false},"headers":{"type":"TEXT","notNull":false},"channel_id":{"type":"TEXT","notNull":false},"channel_name":{"type":"TEXT","notNull":false},"slack_ts":{"type":"TEXT","notNull":false},"slack_thread_ts":{"type":"TEXT","notNull":false},"reactions":{"type":"TEXT","notNull":false},"is_edited":{"type":"BOOLEAN","notNull":false,"default":false},"message_type":{"type":"TEXT","notNull":false},"blocks":{"type":"TEXT","notNull":false},"tweet_id":{"type":"TEXT","notNull":false},"retweet_count":{"type":"INTEGER","notNull":false,"default":0},"like_count":{"type":"INTEGER","notNull":false,"default":0},"reply_count":{"type":"INTEGER","notNull":false,"default":0},"is_retweet":{"type":"BOOLEAN","notNull":false,"default":false},"is_reply":{"type":"BOOLEAN","notNull":false,"default":false},"media_urls":{"type":"TEXT","notNull":false},"hashtags":{"type":"TEXT","notNull":false},"mentions":{"type":"TEXT","notNull":false}},"indexes":[{"name":"messages_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"messages_meta_type_idx","columns":["_meta_type"]},{"name":"messages_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"messages_account_id_idx","columns":["account_id"]},{"name":"messages_persona_id_idx","columns":["persona_id"]},{"name":"messages_endpoint_id_idx","columns":["endpoint_id"]},{"name":"messages_in_reply_to_message_id_idx","columns":["in_reply_to_message_id"]}],"version":"ffd4cea3"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:TwitterAccount":{"name":"twitteraccount","className":"TwitterAccount","qualifiedName":"@happyvertical/smrt-messages:TwitterAccount","collection":"accounts","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/models/TwitterAccount.ts","packageName":"@happyvertical/smrt-messages","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true}}},"name":{"type":"text","required":false},"providerType":{"type":"text","required":false},"channelType":{"type":"text","required":false},"credentialSecretId":{"type":"text","required":false,"_meta":{"sensitive":true,"readonly":true},"sensitive":true,"readonly":true},"isActive":{"type":"boolean","required":true,"default":true},"lastSyncAt":{"type":"datetime","required":false},"settings":{"type":"text","required":false,"_meta":{"sensitive":true,"readonly":true},"sensitive":true,"readonly":true},"configuration":{"type":"text","required":false},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false},"handle":{"type":"text","required":false},"twitterUserId":{"type":"text","required":false}},"methods":{"getSettings":{"name":"getSettings","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setSettings":{"name":"setSettings","async":false,"parameters":[{"name":"settings","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"getConfiguration":{"name":"getConfiguration","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setConfiguration":{"name":"setConfiguration","async":false,"parameters":[{"name":"configuration","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"activate":{"name":"activate","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"deactivate":{"name":"deactivate","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"setCredentials":{"name":"setCredentials","async":true,"parameters":[{"name":"credentials","type":"Record<string, unknown>","optional":false},{"name":"options","type":"object","optional":true,"memberTypes":["string"]}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"createSender":{"name":"createSender","async":true,"parameters":[],"returnType":"Promise<MessageSenderInterface>","isStatic":false,"isPublic":true},"getCredentials":{"name":"getCredentials","async":true,"parameters":[],"returnType":"Promise<Record<string, unknown> | null>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get"]},"tableName":"accounts"},"extends":"Account","exportName":"TwitterAccount","collectionExportName":"TwitterAccountCollection","displayLabelField":"name","validationRules":[{"field":"isActive","rule":"required","fieldType":"boolean"}],"schema":{"tableName":"accounts","ddl":"CREATE TABLE IF NOT EXISTS \\"accounts\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"name\\" TEXT,\\n \\"provider_type\\" TEXT,\\n \\"channel_type\\" TEXT,\\n \\"credential_secret_id\\" TEXT,\\n \\"is_active\\" BOOLEAN DEFAULT TRUE,\\n \\"last_sync_at\\" TIMESTAMP,\\n \\"settings\\" TEXT,\\n \\"configuration\\" TEXT,\\n \\"email\\" TEXT,\\n \\"sync_interval_minutes\\" INTEGER DEFAULT 60,\\n \\"workspace_id\\" TEXT,\\n \\"workspace_name\\" TEXT,\\n \\"bot_user_id\\" TEXT,\\n \\"handle\\" TEXT,\\n \\"twitter_user_id\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"name":{"type":"TEXT","notNull":false},"provider_type":{"type":"TEXT","notNull":false},"channel_type":{"type":"TEXT","notNull":false},"credential_secret_id":{"type":"TEXT","notNull":false},"is_active":{"type":"BOOLEAN","notNull":false,"default":true},"last_sync_at":{"type":"TIMESTAMP","notNull":false},"settings":{"type":"TEXT","notNull":false},"configuration":{"type":"TEXT","notNull":false},"email":{"type":"TEXT","notNull":false},"sync_interval_minutes":{"type":"INTEGER","notNull":false,"default":60},"workspace_id":{"type":"TEXT","notNull":false},"workspace_name":{"type":"TEXT","notNull":false},"bot_user_id":{"type":"TEXT","notNull":false},"handle":{"type":"TEXT","notNull":false},"twitter_user_id":{"type":"TEXT","notNull":false}},"indexes":[{"name":"accounts_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"accounts_meta_type_idx","columns":["_meta_type"]},{"name":"accounts_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"3854ea98"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:UserNotification":{"name":"usernotification","className":"UserNotification","qualifiedName":"@happyvertical/smrt-messages:UserNotification","collection":"usernotifications","description":"One in-app notification for one person, with its own read state.","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/models/UserNotification.ts","packageName":"@happyvertical/smrt-messages","fields":{"tenantId":{"type":"text","required":true,"_meta":{"sqlType":"UUID","__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":true,"autoPopulate":true,"nullable":false,"mode":"required","field":"tenantId","allowSuperAdminBypass":false}}},"recipientUserId":{"type":"crossPackageRef","required":true,"related":"@happyvertical/smrt-users:User"},"kind":{"type":"text","required":true,"_meta":{"required":true}},"title":{"type":"text","required":true,"_meta":{"required":true}},"body":{"type":"text","required":false},"href":{"type":"text","required":false},"severity":{"type":"text","required":false,"default":"info","enum":["info","success","warning","error"]},"sourceRef":{"type":"text","required":true,"_meta":{"required":true}},"occurredAt":{"type":"text","required":false},"readAt":{"type":"datetime","required":false},"dismissedAt":{"type":"datetime","required":false}},"methods":{},"decoratorConfig":{"tableName":"user_notifications","api":false,"mcp":false,"cli":false,"conflictColumns":["tenant_id","recipient_user_id","source_ref"],"indexes":[{"name":"user_notifications_recipient_occurred_idx","columns":["tenantId","recipientUserId","occurredAt"]}],"tenantScoped":{"mode":"required"}},"extends":"SmrtObject","exportName":"UserNotification","collectionExportName":"UserNotificationCollection","displayLabelField":"title","validationRules":[{"field":"recipientUserId","rule":"required","fieldType":"crossPackageRef"},{"field":"kind","rule":"required","fieldType":"text"},{"field":"title","rule":"required","fieldType":"text"},{"field":"sourceRef","rule":"required","fieldType":"text"}],"schema":{"tableName":"user_notifications","ddl":"CREATE TABLE IF NOT EXISTS \\"user_notifications\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"recipient_user_id\\" UUID NOT NULL,\\n \\"kind\\" TEXT NOT NULL,\\n \\"title\\" TEXT NOT NULL,\\n \\"body\\" TEXT,\\n \\"href\\" TEXT,\\n \\"severity\\" TEXT DEFAULT 'info',\\n \\"source_ref\\" TEXT NOT NULL,\\n \\"occurred_at\\" TEXT,\\n \\"read_at\\" TIMESTAMP,\\n \\"dismissed_at\\" TIMESTAMP\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"recipient_user_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":true,"unique":false},"kind":{"type":"TEXT","notNull":true,"unique":false},"title":{"type":"TEXT","notNull":true,"unique":false},"body":{"type":"TEXT","notNull":false,"unique":false},"href":{"type":"TEXT","notNull":false,"unique":false},"severity":{"type":"TEXT","notNull":false,"unique":false,"default":"info"},"source_ref":{"type":"TEXT","notNull":true,"unique":false},"occurred_at":{"type":"TEXT","notNull":false,"unique":false},"read_at":{"type":"TIMESTAMP","notNull":false,"unique":false},"dismissed_at":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"user_notifications_tenant_id_recipient_user_id_idx","columns":["tenant_id","recipient_user_id","source_ref"],"unique":true},{"name":"user_notifications_slug_context_idx","columns":["slug","context"]},{"name":"user_notifications_recipient_occurred_idx","columns":["tenant_id","recipient_user_id","occurred_at"]},{"name":"user_notifications_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"user_notifications_recipient_user_id_idx","columns":["recipient_user_id"]}],"version":"0e68a388"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:Whitelist":{"name":"whitelist","className":"Whitelist","qualifiedName":"@happyvertical/smrt-messages:Whitelist","collection":"whitelists","description":"Allow-only entries for email filtering","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/models/Whitelist.ts","packageName":"@happyvertical/smrt-messages","fields":{"pattern":{"type":"text","required":false,"default":""},"type":{"type":"text","required":false,"default":"email","enum":["email","domain","regex"]},"category":{"type":"text","required":false},"description":{"type":"text","required":false,"default":""},"tenantId":{"type":"text","required":true,"_meta":{"generated":true,"source":"tenantScoped_decorator","sqlType":"UUID","__tenancy":{"isTenantIdField":true,"mode":"required","field":"tenantId","autoFilter":true,"autoPopulate":true,"allowSuperAdminBypass":false}}}},"methods":{"matches":{"name":"matches","async":false,"parameters":[{"name":"email","type":"string","optional":false}],"returnType":"boolean","isStatic":false,"isPublic":true}},"decoratorConfig":{"api":{"include":["list","get","create","update","delete"]},"cli":{"skipApiCheck":true},"tenantScoped":true,"conflictColumns":["tenant_id","slug","context"]},"extends":"SmrtObject","exportName":"Whitelist","collectionExportName":"WhitelistCollection","validationRules":[],"schema":{"tableName":"whitelists","ddl":"CREATE TABLE IF NOT EXISTS \\"whitelists\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"pattern\\" TEXT DEFAULT '',\\n \\"type\\" TEXT DEFAULT 'email',\\n \\"category\\" TEXT,\\n \\"description\\" TEXT DEFAULT '',\\n \\"tenant_id\\" UUID NOT NULL\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"pattern":{"type":"TEXT","notNull":false,"unique":false,"default":""},"type":{"type":"TEXT","notNull":false,"unique":false,"default":"email"},"category":{"type":"TEXT","notNull":false,"unique":false},"description":{"type":"TEXT","notNull":false,"unique":false,"default":""},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false}},"indexes":[{"name":"whitelists_slug_context_idx","columns":["tenant_id","slug","context"],"unique":true},{"name":"whitelists_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"40a655a1"},"importPath":"@happyvertical/smrt-messages"},"@happyvertical/smrt-messages:ZulipAccount":{"name":"zulipaccount","className":"ZulipAccount","qualifiedName":"@happyvertical/smrt-messages:ZulipAccount","collection":"accounts","filePath":"/home/runner/work/smrt/smrt/packages/messages/src/models/ZulipAccount.ts","packageName":"@happyvertical/smrt-messages","fields":{"created_at":{"type":"datetime","required":false},"updated_at":{"type":"datetime","required":false},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true}}},"name":{"type":"text","required":false},"providerType":{"type":"text","required":false},"channelType":{"type":"text","required":false},"credentialSecretId":{"type":"text","required":false,"_meta":{"sensitive":true,"readonly":true},"sensitive":true,"readonly":true},"isActive":{"type":"boolean","required":true,"default":true},"lastSyncAt":{"type":"datetime","required":false},"settings":{"type":"text","required":false,"_meta":{"sensitive":true,"readonly":true},"sensitive":true,"readonly":true},"configuration":{"type":"text","required":false},"createdAt":{"type":"text","required":false},"updatedAt":{"type":"text","required":false}},"methods":{"getSettings":{"name":"getSettings","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setSettings":{"name":"setSettings","async":false,"parameters":[{"name":"settings","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"getConfiguration":{"name":"getConfiguration","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setConfiguration":{"name":"setConfiguration","async":false,"parameters":[{"name":"configuration","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"activate":{"name":"activate","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"deactivate":{"name":"deactivate","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"setCredentials":{"name":"setCredentials","async":true,"parameters":[{"name":"credentials","type":"Record<string, unknown>","optional":false},{"name":"options","type":"object","optional":true,"memberTypes":["string"]}],"returnType":"Promise<void>","isStatic":false,"isPublic":true},"createSender":{"name":"createSender","async":true,"parameters":[],"returnType":"Promise<MessageSenderInterface>","isStatic":false,"isPublic":true},"getCredentials":{"name":"getCredentials","async":true,"parameters":[],"returnType":"Promise<Record<string, unknown> | null>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableStrategy":"sti","api":{"include":["list","get"]},"mcp":{"include":["list","get"]},"cli":{"include":["list","get"]},"tableName":"accounts"},"extends":"Account","exportName":"ZulipAccount","collectionExportName":"ZulipAccountCollection","displayLabelField":"name","validationRules":[{"field":"isActive","rule":"required","fieldType":"boolean"}],"schema":{"tableName":"accounts","ddl":"CREATE TABLE IF NOT EXISTS \\"accounts\\" (\\n \\"id\\" UUID PRIMARY KEY NOT NULL,\\n \\"slug\\" TEXT NOT NULL,\\n \\"context\\" TEXT NOT NULL DEFAULT '',\\n \\"_meta_type\\" TEXT NOT NULL,\\n \\"_meta_data\\" JSON,\\n \\"created_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"updated_at\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\"tenant_id\\" UUID,\\n \\"name\\" TEXT,\\n \\"provider_type\\" TEXT,\\n \\"channel_type\\" TEXT,\\n \\"credential_secret_id\\" TEXT,\\n \\"is_active\\" BOOLEAN DEFAULT TRUE,\\n \\"last_sync_at\\" TIMESTAMP,\\n \\"settings\\" TEXT,\\n \\"configuration\\" TEXT,\\n \\"email\\" TEXT,\\n \\"sync_interval_minutes\\" INTEGER DEFAULT 60,\\n \\"workspace_id\\" TEXT,\\n \\"workspace_name\\" TEXT,\\n \\"bot_user_id\\" TEXT,\\n \\"handle\\" TEXT,\\n \\"twitter_user_id\\" TEXT\\n);","columns":{"id":{"type":"UUID","primaryKey":true,"referenceKind":"id","notNull":true},"slug":{"type":"TEXT","notNull":true},"context":{"type":"TEXT","notNull":true,"default":""},"_meta_type":{"type":"TEXT","notNull":true},"_meta_data":{"type":"JSON","notNull":false},"created_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"updated_at":{"type":"TIMESTAMP","notNull":true,"default":"current_timestamp"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false},"name":{"type":"TEXT","notNull":false},"provider_type":{"type":"TEXT","notNull":false},"channel_type":{"type":"TEXT","notNull":false},"credential_secret_id":{"type":"TEXT","notNull":false},"is_active":{"type":"BOOLEAN","notNull":false,"default":true},"last_sync_at":{"type":"TIMESTAMP","notNull":false},"settings":{"type":"TEXT","notNull":false},"configuration":{"type":"TEXT","notNull":false},"email":{"type":"TEXT","notNull":false},"sync_interval_minutes":{"type":"INTEGER","notNull":false,"default":60},"workspace_id":{"type":"TEXT","notNull":false},"workspace_name":{"type":"TEXT","notNull":false},"bot_user_id":{"type":"TEXT","notNull":false},"handle":{"type":"TEXT","notNull":false},"twitter_user_id":{"type":"TEXT","notNull":false}},"indexes":[{"name":"accounts_slug_context_meta_type_idx","columns":["tenant_id","slug","context","_meta_type"],"unique":true,"nullsNotDistinct":true},{"name":"accounts_meta_type_idx","columns":["_meta_type"]},{"name":"accounts_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"3854ea98"},"importPath":"@happyvertical/smrt-messages"}},"moduleType":"smrt","recipes":[{"id":"messages.mailbox","className":"MailboxRecipe","label":"Mailbox","summary":"Read and compose email from your connected accounts.","synonyms":["email","inbox","mail"],"models":["@happyvertical/smrt-messages:Email","@happyvertical/smrt-messages:EmailAccount"],"nav":[{"label":"Mailbox","model":"@happyvertical/smrt-messages:Email","icon":"folder","description":"Read email from your connected accounts.","key":"mailbox","noun":"email"},{"label":"Failed sends","model":"@happyvertical/smrt-messages:Email","icon":"fileText","description":"Review email whose last send attempt failed.","key":"failed-sends","noun":"email","filter":{"field":"sendStatus","value":"failed"}}],"requires":[],"group":{"id":"messages","label":"Messaging","summary":"Choose email and personal updates independently."},"section":{"id":"messages","label":"Messaging","icon":"folder","description":"Read email and keep up with updates addressed to you."},"help":{"markdown":"## Your mailbox\\nRead messages, open a conversation, or compose an email using a connected account.\\nChoose the sender account, add recipients, and check the subject and message before sending.\\n\\n## Failed sends\\nUse Failed sends to review email whose last send attempt failed. Returning to the mailbox shows all email again.\\nCheck the failure and sender connection before retrying through your application. This view does not resend email automatically.\\n\\n## Preview\\nThe playground uses fictional messages. Sending and saving are mocked and never contact a mail server.\\n\\n## Connect an account\\nYour application administrator connects an authorized email provider on the server. Real sending and mailbox synchronization require that connection; a preview does not verify delivery.\\n","fieldRefs":[]},"surfaces":[{"kind":"route","path":"/messages/mailbox","export":"@happyvertical/smrt-messages/svelte#MessageList","label":"Mailbox"},{"kind":"playground","export":"@happyvertical/smrt-messages/svelte#MailboxDemo","label":"Mailbox with mocked sending"}],"providers":[{"id":"email-inbox","kind":"email","options":["imap","pop3","gmail"],"required":true},{"id":"email-send","kind":"email","options":["smtp","gmail"],"required":false}],"runtime":"both","demoSeed":{"data":{"accounts":[{"id":"demo-account","name":"Demo Inbox","providerType":"email","email":"you@example.com","isActive":true}],"messages":[{"id":"demo-welcome","type":"email","accountId":"demo-account","subject":"Welcome to your mailbox","body":"Fictional mail. Sending is mocked; nothing leaves this browser.","senderName":"Demo colleague","senderAddress":"colleague@example.com","recipientAddresses":[{"address":"you@example.com"}],"date":"2026-01-01T12:00:00Z","isRead":false,"isFlagged":false,"hasAttachments":false}]}},"demo":{"mode":"server","reasons":["Needs a server because its package depends on @happyvertical/smrt-profiles, @happyvertical/smrt-secrets, @happyvertical/smrt-tenancy, @happyvertical/smrt-users, which do not build for a browser (#3617, #3624, #3626, #3627)."]}},{"id":"messages.notifications","className":"NotificationsRecipe","label":"Notifications","summary":"See updates addressed to you and mark them read.","synonyms":["alerts","notification bell"],"models":["@happyvertical/smrt-messages:UserNotification"],"nav":[],"requires":[],"group":{"id":"messages","label":"Messaging","summary":"Choose email and personal updates independently."},"section":{"id":"messages","label":"Messaging","icon":"folder","description":"Read email and keep up with updates addressed to you."},"help":{"markdown":"## Notifications\\nOpen the notification bell to see updates addressed to you. Unread updates have a visible marker.\\nChoose Mark read for one update or Mark all read for every unread update in your authorized accounts.\\nFollow a notification link to open its related record when one is available.\\n\\n## Availability\\nNotifications are scoped to the signed-in person. Your application connects the notification provider and may enable live updates. If loading fails, try again after the connection returns.\\n","fieldRefs":[]},"surfaces":[{"kind":"shell-widget","slot":"header.end","export":"@happyvertical/smrt-svelte/notifications#NotificationBell","label":"Notifications"}],"providers":[{"id":"notifications","kind":"notifications","options":["user-notification-service"],"required":true}],"runtime":"both","demoSeed":{"data":{"items":[{"id":"demo-notification","title":"You were mentioned","body":"A fictional update for the demo user.","occurredAt":"2026-01-01T12:00:00Z","severity":"info","readAt":null}]}},"demo":{"mode":"server","reasons":["Needs a server because its package depends on @happyvertical/smrt-profiles, @happyvertical/smrt-secrets, @happyvertical/smrt-tenancy, @happyvertical/smrt-users, which do not build for a browser (#3617, #3624, #3626, #3627)."]}}],"smrtDependencies":["@happyvertical/smrt-core","@happyvertical/smrt-ledgers","@happyvertical/smrt-secrets","@happyvertical/smrt-tenancy","@happyvertical/smrt-users"],"browser":{"status":"server-only","issues":["#3617","#3624","#3626","#3627"],"via":["@happyvertical/smrt-profiles","@happyvertical/smrt-secrets","@happyvertical/smrt-tenancy","@happyvertical/smrt-users"]},"stampsConstructors":true}`));
4
+ //#endregion
5
+
6
+ //# sourceMappingURL=__smrt-register__-BwaxW-WF.js.map