@opencxh/domain 1.221.0 → 1.222.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -510,6 +510,24 @@ export type ServerOp = {
510
510
  channelId: string;
511
511
  interactionId: string;
512
512
  body: NoteBody;
513
+ }
514
+ /**
515
+ * Put an emoji on a message at the provider, or take it off.
516
+ *
517
+ * Only dispatched to a provider that declares the `message_reactions` feature — everywhere
518
+ * else the reaction stays ours alone, which is the honest outcome for a channel whose
519
+ * protocol has no such thing (mail).
520
+ *
521
+ * `emoji` is the literal character. Providers that speak their own vocabulary translate at
522
+ * their own edge; a reaction means the same thing on every channel and should read the same.
523
+ */
524
+ | {
525
+ kind: "message.react";
526
+ channelId: string;
527
+ activityId: string;
528
+ emoji: string;
529
+ /** `true` sets it, `false` removes it. */
530
+ on: boolean;
513
531
  } | {
514
532
  kind: "message.forward";
515
533
  channelId: string;
@@ -640,6 +658,13 @@ export declare const FEATURE_FOLDER_MANAGEMENT = "folder_management";
640
658
  * channels in `GET /search/sources`; the client fans out via `POST /search/mailbox`.
641
659
  */
642
660
  export declare const FEATURE_REMOTE_SEARCH = "remote_search";
661
+ /**
662
+ * Well-known `ProviderFeature.name` for per-message emoji reactions. A provider that can both
663
+ * report the reactions on a message and set one on the user's behalf declares it true; the
664
+ * comm-server then dispatches `message.react` there. Everywhere else the reaction is ours
665
+ * alone, which is the honest outcome for a protocol that has no such thing (mail).
666
+ */
667
+ export declare const FEATURE_MESSAGE_REACTIONS = "message_reactions";
643
668
  /**
644
669
  * Result shape for `IProvider.dispatch` and the comm-server
645
670
  * `dispatchToProvider` helper, discriminated on `ok`. Deliberately not
@@ -84,6 +84,15 @@ export interface DocumentCapability {
84
84
  title: string;
85
85
  /** Someone else holds the lock, or a write-back would drop content, or it is read-only. */
86
86
  readOnly: boolean;
87
+ /**
88
+ * Is the document parsed and answerable, or still loading?
89
+ *
90
+ * A separate field because the page knows what the file *is* (name, kind, which operations
91
+ * apply) the moment it opens, while the engine needs a second or two to parse it. Without the
92
+ * distinction a consumer cannot tell "no content" from "not yet", and a model told the first
93
+ * reports an empty document.
94
+ */
95
+ ready: boolean;
87
96
  /** What a write-back would lose, from the editor's own `unsupportedFeatures`. */
88
97
  blocked: string[];
89
98
  /** The subset of {@link DOCUMENT_OPERATIONS} this mounted editor actually implements. */
@@ -18,7 +18,7 @@ export declare const APP_PERMISSIONS: {
18
18
  readonly "app-store": readonly ["app.publish", "app.read", "app.write", "setting.read", "setting.write"];
19
19
  readonly assist: readonly ["board.read"];
20
20
  readonly automations: readonly ["sync.read", "sync.write", "webhook.read", "webhook.write"];
21
- readonly communication: readonly ["account.read", "account.write", "activity-type.read", "activity.read", "activity.write", "attachment.read", "attribute.read", "attribute.write", "calendar.read", "calendar.write", "channel.read", "channel.write", "custom-field.read", "custom-field.write", "folder.read", "folder.write", "inbox.read", "inbox.write", "interaction.read", "interaction.write", "reminder.read", "template.read", "template.write", "topic.read", "topic.write"];
21
+ readonly communication: readonly ["account.read", "account.write", "activity-type.read", "activity.read", "activity.write", "attachment.read", "attribute.read", "attribute.write", "calendar.read", "calendar.write", "channel.read", "channel.write", "custom-field.read", "custom-field.write", "folder.read", "folder.write", "inbox.read", "inbox.write", "interaction.read", "interaction.write", "reaction.read", "reaction.write", "reminder.read", "template.read", "template.write", "topic.read", "topic.write"];
22
22
  readonly context: readonly ["kind.read", "kind.write", "memory.read", "memory.write"];
23
23
  readonly crm: readonly ["company.read", "company.write", "contact.read", "contact.write"];
24
24
  readonly "eylo-voip": readonly ["account.read", "account.write", "callflow.read", "callflow.write", "channel.read", "channel.write", "contact.read", "contact.write", "device.read", "device.write", "group.read", "group.write", "interaction.read", "interaction.write", "media.read", "media.write", "menu.read", "menu.write", "phone-number.read", "phone-number.write", "recording.read", "recording.write", "sip.read", "temporal-rule.read", "temporal-rule.write", "user.read", "user.write", "vmbox.read", "vmbox.write", "webhook.read", "webhook.write"];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opencxh/domain",
3
- "version": "1.221.0",
3
+ "version": "1.222.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",