@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
package/dist/index.d.ts CHANGED
@@ -47,4 +47,5 @@ export { type MessagingAccountInput, type MessagingAccountView, type MessagingEn
47
47
  export { type PersonaMessageSendResult, PersonaMessagingService, } from './services/PersonaMessagingService.js';
48
48
  export { type UserNotificationInput, type UserNotificationListOptions, type UserNotificationNotifyResult, type UserNotificationScope, UserNotificationService, } from './services/UserNotificationService.js';
49
49
  export type { AccountOptions, AccountSearchFilters, AccountType, AttachmentOptions, EmailAccountOptions, EmailAccountSearchFilters, EmailAttachmentOptions, EmailFolderOptions, EmailFolderSearchFilters, EmailOptions, EmailSearchFilters, KnownMessagingChannel, MessageOptions, MessageSearchFilters, MessageSenderInterface, MessageSendResult, MessageType, MessagingChannel, MessagingEndpointOptions, PersonaMessageRouteOptions, ProviderType, SendEmailOptions, SendMessageOptions, SendPersonaMessageOptions, SendSlackOptions, SendStatus, SendTweetOptions, SlackAccountOptions, SlackMessageOptions, SyncOptions, SyncProgress, SyncResult, TweetOptions, TwitterAccountOptions, } from "./types.js";
50
+ export { MailboxRecipe, NotificationsRecipe } from './recipes.js';
50
51
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,14 +1,14 @@
1
1
  import { t as __exportAll } from "./chunks/rolldown-runtime-D7D4PA-g.js";
2
- import "./chunks/__smrt-register__-DUoO196-.js";
2
+ import "./chunks/__smrt-register__-BwaxW-WF.js";
3
3
  import { a as registerMessagingProvider, n as getMessagingProvider, o as ZulipSender, r as listMessagingProviders, s as TelegramSender, t as ensureBuiltinMessagingProvidersRegistered } from "./chunks/providers-4iLula-V.js";
4
- import { r as Account, t as AccountCollection } from "./chunks/AccountCollection-DhANBhva.js";
5
- import { t as Message } from "./chunks/Message-Bd_2XiIC.js";
6
- import { t as MessageCollection } from "./chunks/MessageCollection-B9MqCWdi.js";
7
- import { t as Email } from "./chunks/Email-C4cUUFNI.js";
8
- import { t as EmailFolder } from "./chunks/EmailFolder-qoUUSqKI.js";
4
+ import { r as Account, t as AccountCollection } from "./chunks/AccountCollection-BI-osnRy.js";
5
+ import { t as Message } from "./chunks/Message-CX5L_ANS.js";
6
+ import { t as MessageCollection } from "./chunks/MessageCollection-CmKXEeiT.js";
7
+ import { t as Email } from "./chunks/Email-BWTPou1O.js";
8
+ import { t as EmailFolder } from "./chunks/EmailFolder-acO0l4c0.js";
9
9
  import { t as SlackSender } from "./chunks/SlackSender-CjSvwY1K.js";
10
10
  import { t as TweetSender } from "./chunks/TweetSender-CcLPNNi1.js";
11
- import { SmrtCollection, SmrtObject, crossPackageRef, field, foreignKey, importOptionalDependency, isUniqueViolationError, smrt } from "@happyvertical/smrt-core";
11
+ import { SmrtCollection, SmrtObject, SmrtRecipe, crossPackageRef, field, foreignKey, importOptionalDependency, isUniqueViolationError, smrt } from "@happyvertical/smrt-core";
12
12
  import { registerPermissionDefinitions } from "@happyvertical/smrt-users";
13
13
  import { TenantScoped, queryGlobal, queryWithGlobals, tenantId, withTenant } from "@happyvertical/smrt-tenancy";
14
14
  //#region src/permissions.ts
@@ -98,7 +98,7 @@ var Attachment = class extends SmrtObject {
98
98
  */
99
99
  async getMessage() {
100
100
  if (!this.messageId) return null;
101
- const { MessageCollection } = await import("./chunks/MessageCollection-B9MqCWdi.js").then((n) => n.n);
101
+ const { MessageCollection } = await import("./chunks/MessageCollection-CmKXEeiT.js").then((n) => n.n);
102
102
  return await (await MessageCollection.create(this.options)).get({ id: this.messageId });
103
103
  }
104
104
  /**
@@ -670,7 +670,7 @@ var EmailAccount = class extends Account {
670
670
  for (const folderName of foldersToSync) try {
671
671
  let folder = await folderCollection.getByPath(accountId, folderName);
672
672
  if (!folder) {
673
- const { EmailFolder } = await import("./chunks/EmailFolder-qoUUSqKI.js").then((n) => n.n);
673
+ const { EmailFolder } = await import("./chunks/EmailFolder-acO0l4c0.js").then((n) => n.n);
674
674
  folder = new EmailFolder({
675
675
  ...this.childOptions(),
676
676
  accountId,
@@ -695,7 +695,7 @@ var EmailAccount = class extends Account {
695
695
  result.messagesSkipped++;
696
696
  continue;
697
697
  }
698
- const { Email } = await import("./chunks/Email-C4cUUFNI.js").then((n) => n.n);
698
+ const { Email } = await import("./chunks/Email-BWTPou1O.js").then((n) => n.n);
699
699
  let email = existingEmail;
700
700
  if (!email) {
701
701
  email = new Email({
@@ -2391,10 +2391,144 @@ var UserNotificationService = class {
2391
2391
  }
2392
2392
  };
2393
2393
  //#endregion
2394
+ //#region src/recipes.ts
2395
+ var MailboxRecipe = class extends SmrtRecipe {
2396
+ static id = "messages.mailbox";
2397
+ static label = "Mailbox";
2398
+ static summary = "Read and compose email from your connected accounts.";
2399
+ static synonyms = [
2400
+ "email",
2401
+ "inbox",
2402
+ "mail"
2403
+ ];
2404
+ static group = {
2405
+ id: "messages",
2406
+ label: "Messaging",
2407
+ summary: "Choose email and personal updates independently."
2408
+ };
2409
+ static section = {
2410
+ id: "messages",
2411
+ label: "Messaging",
2412
+ icon: "folder",
2413
+ description: "Read email and keep up with updates addressed to you."
2414
+ };
2415
+ static models = [Email, EmailAccount];
2416
+ static runtime = "both";
2417
+ static surfaces = [{
2418
+ kind: "route",
2419
+ path: "/messages/mailbox",
2420
+ export: "@happyvertical/smrt-messages/svelte#MessageList",
2421
+ label: "Mailbox"
2422
+ }, {
2423
+ kind: "playground",
2424
+ export: "@happyvertical/smrt-messages/svelte#MailboxDemo",
2425
+ label: "Mailbox with mocked sending"
2426
+ }];
2427
+ static providers = [{
2428
+ id: "email-inbox",
2429
+ kind: "email",
2430
+ options: [
2431
+ "imap",
2432
+ "pop3",
2433
+ "gmail"
2434
+ ],
2435
+ required: true
2436
+ }, {
2437
+ id: "email-send",
2438
+ kind: "email",
2439
+ options: ["smtp", "gmail"],
2440
+ required: false
2441
+ }];
2442
+ static demoSeed = { data: {
2443
+ accounts: [{
2444
+ id: "demo-account",
2445
+ name: "Demo Inbox",
2446
+ providerType: "email",
2447
+ email: "you@example.com",
2448
+ isActive: true
2449
+ }],
2450
+ messages: [{
2451
+ id: "demo-welcome",
2452
+ type: "email",
2453
+ accountId: "demo-account",
2454
+ subject: "Welcome to your mailbox",
2455
+ body: "Fictional mail. Sending is mocked; nothing leaves this browser.",
2456
+ senderName: "Demo colleague",
2457
+ senderAddress: "colleague@example.com",
2458
+ recipientAddresses: [{ address: "you@example.com" }],
2459
+ date: "2026-01-01T12:00:00Z",
2460
+ isRead: false,
2461
+ isFlagged: false,
2462
+ hasAttachments: false
2463
+ }]
2464
+ } };
2465
+ static nav = [{
2466
+ label: "Mailbox",
2467
+ model: Email,
2468
+ key: "mailbox",
2469
+ icon: "folder",
2470
+ noun: "email",
2471
+ description: "Read email from your connected accounts."
2472
+ }, {
2473
+ label: "Failed sends",
2474
+ model: Email,
2475
+ key: "failed-sends",
2476
+ icon: "fileText",
2477
+ noun: "email",
2478
+ description: "Review email whose last send attempt failed.",
2479
+ filter: {
2480
+ field: "sendStatus",
2481
+ value: "failed"
2482
+ }
2483
+ }];
2484
+ static help = "./help/mailbox.md";
2485
+ };
2486
+ var NotificationsRecipe = class extends SmrtRecipe {
2487
+ static id = "messages.notifications";
2488
+ static label = "Notifications";
2489
+ static summary = "See updates addressed to you and mark them read.";
2490
+ static synonyms = ["alerts", "notification bell"];
2491
+ static group = {
2492
+ id: "messages",
2493
+ label: "Messaging",
2494
+ summary: "Choose email and personal updates independently."
2495
+ };
2496
+ static section = {
2497
+ id: "messages",
2498
+ label: "Messaging",
2499
+ icon: "folder",
2500
+ description: "Read email and keep up with updates addressed to you."
2501
+ };
2502
+ static models = [UserNotification];
2503
+ static runtime = "both";
2504
+ static surfaces = [{
2505
+ kind: "shell-widget",
2506
+ slot: "header.end",
2507
+ export: "@happyvertical/smrt-svelte/notifications#NotificationBell",
2508
+ label: "Notifications"
2509
+ }];
2510
+ static providers = [{
2511
+ id: "notifications",
2512
+ kind: "notifications",
2513
+ options: ["user-notification-service"],
2514
+ required: true
2515
+ }];
2516
+ static demoSeed = { data: { items: [{
2517
+ id: "demo-notification",
2518
+ title: "You were mentioned",
2519
+ body: "A fictional update for the demo user.",
2520
+ occurredAt: "2026-01-01T12:00:00Z",
2521
+ severity: "info",
2522
+ readAt: null
2523
+ }] } };
2524
+ static nav = [];
2525
+ static help = "./help/notifications.md";
2526
+ };
2527
+ //#endregion
2394
2528
  //#region src/index.ts
2395
2529
  ensureBuiltinMessagingProvidersRegistered();
2396
2530
  ensureMessagingPermissionsRegistered();
2397
2531
  //#endregion
2398
- export { Account, AccountCollection, Attachment, AttachmentCollection, Blacklist, BlacklistCollection, Email, EmailAccount, EmailAccountCollection, EmailAttachment, EmailAttachmentCollection, EmailCollection, EmailFolder, EmailFolderCollection, EmailSender, MANAGE_MESSAGE_CREDENTIALS_PERMISSION, MANAGE_MESSAGE_ROUTES_PERMISSION, MESSAGING_PERMISSION_DEFINITIONS, Message, MessageCollection, MessagingEndpoint, MessagingEndpointCollection, MessagingSettingsService, PersonaMessageRoute, PersonaMessageRouteCollection, PersonaMessagingService, SEND_MESSAGES_PERMISSION, SlackAccount, SlackMessage, SlackSender, TelegramAccount, TelegramSender, Tweet, TweetSender, TwitterAccount, USER_NOTIFICATION_SEVERITIES, UserNotification, UserNotificationCollection, UserNotificationService, Whitelist, WhitelistCollection, ZulipAccount, ZulipSender, AttachmentCollection_exports as a, assertMessagingPermission, ensureBuiltinMessagingProvidersRegistered, ensureMessagingPermissionsRegistered, getMessagingProvider, MessagingEndpointCollection_exports as i, listMessagingProviders, messagingPrincipalFromPermissions, EmailCollection_exports as n, EmailAccountCollection_exports as r, registerMessagingProvider, EmailFolderCollection_exports as t };
2532
+ export { Account, AccountCollection, Attachment, AttachmentCollection, Blacklist, BlacklistCollection, Email, EmailAccount, EmailAccountCollection, EmailAttachment, EmailAttachmentCollection, EmailCollection, EmailFolder, EmailFolderCollection, EmailSender, MANAGE_MESSAGE_CREDENTIALS_PERMISSION, MANAGE_MESSAGE_ROUTES_PERMISSION, MESSAGING_PERMISSION_DEFINITIONS, MailboxRecipe, Message, MessageCollection, MessagingEndpoint, MessagingEndpointCollection, MessagingSettingsService, NotificationsRecipe, PersonaMessageRoute, PersonaMessageRouteCollection, PersonaMessagingService, SEND_MESSAGES_PERMISSION, SlackAccount, SlackMessage, SlackSender, TelegramAccount, TelegramSender, Tweet, TweetSender, TwitterAccount, USER_NOTIFICATION_SEVERITIES, UserNotification, UserNotificationCollection, UserNotificationService, Whitelist, WhitelistCollection, ZulipAccount, ZulipSender, AttachmentCollection_exports as a, assertMessagingPermission, ensureBuiltinMessagingProvidersRegistered, ensureMessagingPermissionsRegistered, getMessagingProvider, MessagingEndpointCollection_exports as i, listMessagingProviders, messagingPrincipalFromPermissions, EmailCollection_exports as n, EmailAccountCollection_exports as r, registerMessagingProvider, EmailFolderCollection_exports as t };
2399
2533
 
2400
2534
  //# sourceMappingURL=index.js.map