@lssm/lib.communication-spec 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/README.md +201 -0
  2. package/dist/browser/capabilities/comms-ai.capabilities.js +1 -0
  3. package/dist/browser/capabilities/communication-os.capability-ids.js +1 -0
  4. package/dist/browser/capabilities/ecosystem-messaging.capabilities.js +1 -0
  5. package/dist/browser/capabilities/index.js +1 -0
  6. package/dist/browser/commands/comms-ai.commands.js +1 -0
  7. package/dist/browser/commands/index.js +1 -0
  8. package/dist/browser/contracts/agent-communication.js +1 -0
  9. package/dist/browser/contracts/agent-lifecycle-projection.js +1 -0
  10. package/dist/browser/contracts/agent-surface-control.js +1 -0
  11. package/dist/browser/contracts/ai-assistance.operations.js +1 -0
  12. package/dist/browser/contracts/artifact-digest.js +1 -0
  13. package/dist/browser/contracts/canonical-agent-conversation.js +1 -0
  14. package/dist/browser/contracts/channel-preferences.js +1 -0
  15. package/dist/browser/contracts/channel-routing.js +1 -0
  16. package/dist/browser/contracts/collaboration.operations.js +1 -0
  17. package/dist/browser/contracts/customer-live-chat-grant.operations.js +1 -0
  18. package/dist/browser/contracts/delivery-eligibility.js +1 -0
  19. package/dist/browser/contracts/delivery-fallback-eligibility-validation.js +1 -0
  20. package/dist/browser/contracts/delivery-fallback-validation.js +1 -0
  21. package/dist/browser/contracts/delivery-fallback.js +1 -0
  22. package/dist/browser/contracts/delivery-intent-validation.js +1 -0
  23. package/dist/browser/contracts/delivery-intent.js +1 -0
  24. package/dist/browser/contracts/delivery-progress.js +1 -0
  25. package/dist/browser/contracts/discord-community-intelligence.operations.js +1 -0
  26. package/dist/browser/contracts/discord-community.events.js +1 -0
  27. package/dist/browser/contracts/discord-community.models.js +1 -0
  28. package/dist/browser/contracts/discord-community.operations.js +1 -0
  29. package/dist/browser/contracts/ecosystem-attachment.operations.js +1 -0
  30. package/dist/browser/contracts/ecosystem-auth.operations.js +1 -0
  31. package/dist/browser/contracts/ecosystem-binding.operations.js +1 -0
  32. package/dist/browser/contracts/ecosystem-connection-subscription.events.js +1 -0
  33. package/dist/browser/contracts/ecosystem-governed-work-v2.operations.js +1 -0
  34. package/dist/browser/contracts/ecosystem-governed-work.operations.js +1 -0
  35. package/dist/browser/contracts/ecosystem-identity-v3.operations.js +1 -0
  36. package/dist/browser/contracts/ecosystem-identity.operations.js +1 -0
  37. package/dist/browser/contracts/ecosystem-message.operations.js +1 -0
  38. package/dist/browser/contracts/ecosystem-messaging.dtos.js +0 -0
  39. package/dist/browser/contracts/ecosystem-messaging.events.js +1 -0
  40. package/dist/browser/contracts/ecosystem-messaging.models.js +1 -0
  41. package/dist/browser/contracts/ecosystem-navigation-v3.operations.js +1 -0
  42. package/dist/browser/contracts/ecosystem-webhook.operations.js +1 -0
  43. package/dist/browser/contracts/ecosystem-workspace.operations.js +1 -0
  44. package/dist/browser/contracts/enums.js +1 -0
  45. package/dist/browser/contracts/erasure.operations.js +1 -0
  46. package/dist/browser/contracts/events.js +1 -0
  47. package/dist/browser/contracts/index.js +1 -0
  48. package/dist/browser/contracts/ingestion.js +1 -0
  49. package/dist/browser/contracts/ingress-admission-policy.js +1 -0
  50. package/dist/browser/contracts/ingress-admission.js +1 -0
  51. package/dist/browser/contracts/models.js +1 -0
  52. package/dist/browser/contracts/operations.js +1 -0
  53. package/dist/browser/contracts/persistence.js +1 -0
  54. package/dist/browser/contracts/preference-resolution.js +1 -0
  55. package/dist/browser/contracts/query.operations.js +1 -0
  56. package/dist/browser/contracts/sequence-intent.js +1 -0
  57. package/dist/browser/contracts/sovereignty.js +1 -0
  58. package/dist/browser/contracts/support-internal-note.operations.js +1 -0
  59. package/dist/browser/contracts/thread-link-kind.js +1 -0
  60. package/dist/browser/contracts/thread-message.operations.js +1 -0
  61. package/dist/browser/events/index.js +1 -0
  62. package/dist/browser/fixtures/agent-omnichannel-primitives.js +1 -0
  63. package/dist/browser/fixtures/agent-omnichannel.js +1 -0
  64. package/dist/browser/fixtures/gtm-learning-loop-neutral.parts.js +1 -0
  65. package/dist/browser/fixtures/index.js +1 -0
  66. package/dist/browser/fixtures/normalized-ingestion.js +1 -0
  67. package/dist/browser/index.js +1 -0
  68. package/dist/browser/queries/index.js +1 -0
  69. package/dist/browser/types/domain-command.js +0 -0
  70. package/dist/browser/types/index.js +1 -0
  71. package/dist/browser/validation/domain-command.js +1 -0
  72. package/dist/browser/validation/index.js +1 -0
  73. package/dist/capabilities/comms-ai.capabilities.d.ts +72 -0
  74. package/dist/capabilities/comms-ai.capabilities.js +2 -0
  75. package/dist/capabilities/communication-os-capability-boundary.test.d.ts +1 -0
  76. package/dist/capabilities/communication-os.capability-ids.d.ts +39 -0
  77. package/dist/capabilities/communication-os.capability-ids.js +2 -0
  78. package/dist/capabilities/communication-os.capability-ids.test.d.ts +1 -0
  79. package/dist/capabilities/ecosystem-messaging.capabilities.d.ts +9 -0
  80. package/dist/capabilities/ecosystem-messaging.capabilities.js +2 -0
  81. package/dist/capabilities/index.d.ts +4 -0
  82. package/dist/capabilities/index.js +2 -0
  83. package/dist/commands/comms-ai.commands.d.ts +272 -0
  84. package/dist/commands/comms-ai.commands.js +2 -0
  85. package/dist/commands/index.d.ts +10 -0
  86. package/dist/commands/index.js +2 -0
  87. package/dist/contracts/agent-communication.d.ts +108 -0
  88. package/dist/contracts/agent-communication.js +2 -0
  89. package/dist/contracts/agent-communication.test.d.ts +1 -0
  90. package/dist/contracts/agent-lifecycle-projection.d.ts +98 -0
  91. package/dist/contracts/agent-lifecycle-projection.js +2 -0
  92. package/dist/contracts/agent-lifecycle-projection.test.d.ts +1 -0
  93. package/dist/contracts/agent-surface-control.d.ts +210 -0
  94. package/dist/contracts/agent-surface-control.js +2 -0
  95. package/dist/contracts/agent-surface-control.test.d.ts +1 -0
  96. package/dist/contracts/ai-assistance.operations.d.ts +187 -0
  97. package/dist/contracts/ai-assistance.operations.js +2 -0
  98. package/dist/contracts/artifact-digest.d.ts +3 -0
  99. package/dist/contracts/artifact-digest.js +2 -0
  100. package/dist/contracts/canonical-agent-conversation.d.ts +46 -0
  101. package/dist/contracts/canonical-agent-conversation.js +2 -0
  102. package/dist/contracts/canonical-agent-conversation.test.d.ts +1 -0
  103. package/dist/contracts/channel-preferences.d.ts +115 -0
  104. package/dist/contracts/channel-preferences.js +2 -0
  105. package/dist/contracts/channel-routing.d.ts +58 -0
  106. package/dist/contracts/channel-routing.js +2 -0
  107. package/dist/contracts/channel-routing.test.d.ts +1 -0
  108. package/dist/contracts/collaboration.operations.d.ts +315 -0
  109. package/dist/contracts/collaboration.operations.js +2 -0
  110. package/dist/contracts/customer-live-chat-grant.operations.d.ts +132 -0
  111. package/dist/contracts/customer-live-chat-grant.operations.js +2 -0
  112. package/dist/contracts/delivery-contracts.test.d.ts +1 -0
  113. package/dist/contracts/delivery-eligibility.d.ts +126 -0
  114. package/dist/contracts/delivery-eligibility.js +2 -0
  115. package/dist/contracts/delivery-eligibility.test.d.ts +1 -0
  116. package/dist/contracts/delivery-fallback-eligibility-validation.d.ts +6 -0
  117. package/dist/contracts/delivery-fallback-eligibility-validation.js +2 -0
  118. package/dist/contracts/delivery-fallback-validation.d.ts +24 -0
  119. package/dist/contracts/delivery-fallback-validation.js +2 -0
  120. package/dist/contracts/delivery-fallback.d.ts +117 -0
  121. package/dist/contracts/delivery-fallback.js +2 -0
  122. package/dist/contracts/delivery-intent-validation.d.ts +13 -0
  123. package/dist/contracts/delivery-intent-validation.js +2 -0
  124. package/dist/contracts/delivery-intent.d.ts +137 -0
  125. package/dist/contracts/delivery-intent.js +2 -0
  126. package/dist/contracts/delivery-progress.d.ts +61 -0
  127. package/dist/contracts/delivery-progress.js +2 -0
  128. package/dist/contracts/discord-community-intelligence.operations.d.ts +405 -0
  129. package/dist/contracts/discord-community-intelligence.operations.js +2 -0
  130. package/dist/contracts/discord-community.events.d.ts +162 -0
  131. package/dist/contracts/discord-community.events.js +2 -0
  132. package/dist/contracts/discord-community.models.d.ts +167 -0
  133. package/dist/contracts/discord-community.models.js +2 -0
  134. package/dist/contracts/discord-community.operations.d.ts +663 -0
  135. package/dist/contracts/discord-community.operations.js +2 -0
  136. package/dist/contracts/discord-community.test.d.ts +1 -0
  137. package/dist/contracts/ecosystem-attachment.operations.d.ts +129 -0
  138. package/dist/contracts/ecosystem-attachment.operations.js +2 -0
  139. package/dist/contracts/ecosystem-auth.operations.d.ts +345 -0
  140. package/dist/contracts/ecosystem-auth.operations.js +2 -0
  141. package/dist/contracts/ecosystem-binding.operations.d.ts +231 -0
  142. package/dist/contracts/ecosystem-binding.operations.js +2 -0
  143. package/dist/contracts/ecosystem-connection-subscription.events.d.ts +332 -0
  144. package/dist/contracts/ecosystem-connection-subscription.events.js +2 -0
  145. package/dist/contracts/ecosystem-governed-work-v2.operations.d.ts +234 -0
  146. package/dist/contracts/ecosystem-governed-work-v2.operations.js +2 -0
  147. package/dist/contracts/ecosystem-governed-work.operations.d.ts +265 -0
  148. package/dist/contracts/ecosystem-governed-work.operations.js +2 -0
  149. package/dist/contracts/ecosystem-governed-work.operations.test.d.ts +1 -0
  150. package/dist/contracts/ecosystem-identity-v3.operations.d.ts +65 -0
  151. package/dist/contracts/ecosystem-identity-v3.operations.js +2 -0
  152. package/dist/contracts/ecosystem-identity.operations.d.ts +174 -0
  153. package/dist/contracts/ecosystem-identity.operations.js +2 -0
  154. package/dist/contracts/ecosystem-identity.operations.test.d.ts +1 -0
  155. package/dist/contracts/ecosystem-message.operations.d.ts +1092 -0
  156. package/dist/contracts/ecosystem-message.operations.js +2 -0
  157. package/dist/contracts/ecosystem-messaging.dtos.d.ts +68 -0
  158. package/dist/contracts/ecosystem-messaging.dtos.js +1 -0
  159. package/dist/contracts/ecosystem-messaging.dtos.test.d.ts +1 -0
  160. package/dist/contracts/ecosystem-messaging.events.d.ts +608 -0
  161. package/dist/contracts/ecosystem-messaging.events.js +2 -0
  162. package/dist/contracts/ecosystem-messaging.models.d.ts +386 -0
  163. package/dist/contracts/ecosystem-messaging.models.js +2 -0
  164. package/dist/contracts/ecosystem-messaging.test.d.ts +1 -0
  165. package/dist/contracts/ecosystem-navigation-v3.operations.d.ts +149 -0
  166. package/dist/contracts/ecosystem-navigation-v3.operations.js +2 -0
  167. package/dist/contracts/ecosystem-webhook.operations.d.ts +187 -0
  168. package/dist/contracts/ecosystem-webhook.operations.js +2 -0
  169. package/dist/contracts/ecosystem-workspace.operations.d.ts +590 -0
  170. package/dist/contracts/ecosystem-workspace.operations.js +2 -0
  171. package/dist/contracts/enums.d.ts +9 -0
  172. package/dist/contracts/enums.js +2 -0
  173. package/dist/contracts/erasure.operations.d.ts +114 -0
  174. package/dist/contracts/erasure.operations.js +2 -0
  175. package/dist/contracts/erasure.test.d.ts +1 -0
  176. package/dist/contracts/events.d.ts +174 -0
  177. package/dist/contracts/events.js +2 -0
  178. package/dist/contracts/index.d.ts +43 -0
  179. package/dist/contracts/index.js +2 -0
  180. package/dist/contracts/ingestion.d.ts +169 -0
  181. package/dist/contracts/ingestion.js +2 -0
  182. package/dist/contracts/ingress-admission-policy.d.ts +14 -0
  183. package/dist/contracts/ingress-admission-policy.js +2 -0
  184. package/dist/contracts/ingress-admission.d.ts +184 -0
  185. package/dist/contracts/ingress-admission.js +2 -0
  186. package/dist/contracts/ingress-admission.test.d.ts +1 -0
  187. package/dist/contracts/models.d.ts +851 -0
  188. package/dist/contracts/models.js +2 -0
  189. package/dist/contracts/operations.d.ts +5 -0
  190. package/dist/contracts/operations.js +2 -0
  191. package/dist/contracts/persistence.d.ts +353 -0
  192. package/dist/contracts/persistence.js +2 -0
  193. package/dist/contracts/persistence.test.d.ts +1 -0
  194. package/dist/contracts/preference-resolution.d.ts +154 -0
  195. package/dist/contracts/preference-resolution.js +2 -0
  196. package/dist/contracts/preference-resolution.test.d.ts +1 -0
  197. package/dist/contracts/query.operations.d.ts +600 -0
  198. package/dist/contracts/query.operations.js +2 -0
  199. package/dist/contracts/sequence-intent.d.ts +103 -0
  200. package/dist/contracts/sequence-intent.js +2 -0
  201. package/dist/contracts/sequence-intent.test.d.ts +1 -0
  202. package/dist/contracts/sovereignty.d.ts +164 -0
  203. package/dist/contracts/sovereignty.js +2 -0
  204. package/dist/contracts/support-internal-note.operations.d.ts +309 -0
  205. package/dist/contracts/support-internal-note.operations.js +2 -0
  206. package/dist/contracts/support-internal-note.operations.test.d.ts +1 -0
  207. package/dist/contracts/thread-link-kind.d.ts +20 -0
  208. package/dist/contracts/thread-link-kind.js +2 -0
  209. package/dist/contracts/thread-message.operations.d.ts +485 -0
  210. package/dist/contracts/thread-message.operations.js +2 -0
  211. package/dist/events/index.d.ts +4 -0
  212. package/dist/events/index.js +2 -0
  213. package/dist/fixtures/agent-omnichannel-primitives.d.ts +240 -0
  214. package/dist/fixtures/agent-omnichannel-primitives.js +2 -0
  215. package/dist/fixtures/agent-omnichannel.d.ts +682 -0
  216. package/dist/fixtures/agent-omnichannel.js +2 -0
  217. package/dist/fixtures/agent-omnichannel.test.d.ts +1 -0
  218. package/dist/fixtures/gtm-learning-loop-neutral.parts.d.ts +20 -0
  219. package/dist/fixtures/gtm-learning-loop-neutral.parts.js +2 -0
  220. package/dist/fixtures/index.d.ts +3 -0
  221. package/dist/fixtures/index.js +2 -0
  222. package/dist/fixtures/normalized-ingestion.d.ts +102 -0
  223. package/dist/fixtures/normalized-ingestion.js +2 -0
  224. package/dist/fixtures/normalized-ingestion.test.d.ts +1 -0
  225. package/dist/index.d.ts +7 -0
  226. package/dist/index.js +2 -0
  227. package/dist/node/capabilities/comms-ai.capabilities.js +1 -0
  228. package/dist/node/capabilities/communication-os.capability-ids.js +1 -0
  229. package/dist/node/capabilities/ecosystem-messaging.capabilities.js +1 -0
  230. package/dist/node/capabilities/index.js +1 -0
  231. package/dist/node/commands/comms-ai.commands.js +1 -0
  232. package/dist/node/commands/index.js +1 -0
  233. package/dist/node/contracts/agent-communication.js +1 -0
  234. package/dist/node/contracts/agent-lifecycle-projection.js +1 -0
  235. package/dist/node/contracts/agent-surface-control.js +1 -0
  236. package/dist/node/contracts/ai-assistance.operations.js +1 -0
  237. package/dist/node/contracts/artifact-digest.js +1 -0
  238. package/dist/node/contracts/canonical-agent-conversation.js +1 -0
  239. package/dist/node/contracts/channel-preferences.js +1 -0
  240. package/dist/node/contracts/channel-routing.js +1 -0
  241. package/dist/node/contracts/collaboration.operations.js +1 -0
  242. package/dist/node/contracts/customer-live-chat-grant.operations.js +1 -0
  243. package/dist/node/contracts/delivery-eligibility.js +1 -0
  244. package/dist/node/contracts/delivery-fallback-eligibility-validation.js +1 -0
  245. package/dist/node/contracts/delivery-fallback-validation.js +1 -0
  246. package/dist/node/contracts/delivery-fallback.js +1 -0
  247. package/dist/node/contracts/delivery-intent-validation.js +1 -0
  248. package/dist/node/contracts/delivery-intent.js +1 -0
  249. package/dist/node/contracts/delivery-progress.js +1 -0
  250. package/dist/node/contracts/discord-community-intelligence.operations.js +1 -0
  251. package/dist/node/contracts/discord-community.events.js +1 -0
  252. package/dist/node/contracts/discord-community.models.js +1 -0
  253. package/dist/node/contracts/discord-community.operations.js +1 -0
  254. package/dist/node/contracts/ecosystem-attachment.operations.js +1 -0
  255. package/dist/node/contracts/ecosystem-auth.operations.js +1 -0
  256. package/dist/node/contracts/ecosystem-binding.operations.js +1 -0
  257. package/dist/node/contracts/ecosystem-connection-subscription.events.js +1 -0
  258. package/dist/node/contracts/ecosystem-governed-work-v2.operations.js +1 -0
  259. package/dist/node/contracts/ecosystem-governed-work.operations.js +1 -0
  260. package/dist/node/contracts/ecosystem-identity-v3.operations.js +1 -0
  261. package/dist/node/contracts/ecosystem-identity.operations.js +1 -0
  262. package/dist/node/contracts/ecosystem-message.operations.js +1 -0
  263. package/dist/node/contracts/ecosystem-messaging.dtos.js +0 -0
  264. package/dist/node/contracts/ecosystem-messaging.events.js +1 -0
  265. package/dist/node/contracts/ecosystem-messaging.models.js +1 -0
  266. package/dist/node/contracts/ecosystem-navigation-v3.operations.js +1 -0
  267. package/dist/node/contracts/ecosystem-webhook.operations.js +1 -0
  268. package/dist/node/contracts/ecosystem-workspace.operations.js +1 -0
  269. package/dist/node/contracts/enums.js +1 -0
  270. package/dist/node/contracts/erasure.operations.js +1 -0
  271. package/dist/node/contracts/events.js +1 -0
  272. package/dist/node/contracts/index.js +1 -0
  273. package/dist/node/contracts/ingestion.js +1 -0
  274. package/dist/node/contracts/ingress-admission-policy.js +1 -0
  275. package/dist/node/contracts/ingress-admission.js +1 -0
  276. package/dist/node/contracts/models.js +1 -0
  277. package/dist/node/contracts/operations.js +1 -0
  278. package/dist/node/contracts/persistence.js +1 -0
  279. package/dist/node/contracts/preference-resolution.js +1 -0
  280. package/dist/node/contracts/query.operations.js +1 -0
  281. package/dist/node/contracts/sequence-intent.js +1 -0
  282. package/dist/node/contracts/sovereignty.js +1 -0
  283. package/dist/node/contracts/support-internal-note.operations.js +1 -0
  284. package/dist/node/contracts/thread-link-kind.js +1 -0
  285. package/dist/node/contracts/thread-message.operations.js +1 -0
  286. package/dist/node/events/index.js +1 -0
  287. package/dist/node/fixtures/agent-omnichannel-primitives.js +1 -0
  288. package/dist/node/fixtures/agent-omnichannel.js +1 -0
  289. package/dist/node/fixtures/gtm-learning-loop-neutral.parts.js +1 -0
  290. package/dist/node/fixtures/index.js +1 -0
  291. package/dist/node/fixtures/normalized-ingestion.js +1 -0
  292. package/dist/node/index.js +1 -0
  293. package/dist/node/queries/index.js +1 -0
  294. package/dist/node/types/domain-command.js +0 -0
  295. package/dist/node/types/index.js +1 -0
  296. package/dist/node/validation/domain-command.js +1 -0
  297. package/dist/node/validation/index.js +1 -0
  298. package/dist/package-exports.test.d.ts +1 -0
  299. package/dist/queries/index.d.ts +4 -0
  300. package/dist/queries/index.js +2 -0
  301. package/dist/types/domain-command.d.ts +54 -0
  302. package/dist/types/domain-command.js +1 -0
  303. package/dist/types/index.d.ts +3 -0
  304. package/dist/types/index.js +2 -0
  305. package/dist/validation/domain-command.d.ts +3 -0
  306. package/dist/validation/domain-command.js +2 -0
  307. package/dist/validation/index.d.ts +53 -0
  308. package/dist/validation/index.js +2 -0
  309. package/package.json +1227 -0
@@ -0,0 +1,231 @@
1
+ export declare const CommunicationBindingDirectionEnum: import("@lssm/lib.schema").EnumType<[string, string, string]>;
2
+ export declare const CommunicationRoomChannelBindingV2Model: import("@lssm/lib.schema").SchemaModel<{
3
+ id: {
4
+ type: import("@lssm/lib.schema").FieldType<string, string>;
5
+ isOptional: false;
6
+ };
7
+ tenantId: {
8
+ type: import("@lssm/lib.schema").FieldType<string, string>;
9
+ isOptional: false;
10
+ };
11
+ workspaceId: {
12
+ type: import("@lssm/lib.schema").FieldType<string, string>;
13
+ isOptional: false;
14
+ };
15
+ spaceId: {
16
+ type: import("@lssm/lib.schema").FieldType<string, string>;
17
+ isOptional: false;
18
+ };
19
+ roomId: {
20
+ type: import("@lssm/lib.schema").FieldType<string, string>;
21
+ isOptional: false;
22
+ };
23
+ connectionId: {
24
+ type: import("@lssm/lib.schema").FieldType<string, string>;
25
+ isOptional: false;
26
+ };
27
+ externalConversationId: {
28
+ type: import("@lssm/lib.schema").FieldType<string, string>;
29
+ isOptional: false;
30
+ };
31
+ externalThreadId: {
32
+ type: import("@lssm/lib.schema").FieldType<string, string>;
33
+ isOptional: true;
34
+ };
35
+ direction: {
36
+ type: import("@lssm/lib.schema").EnumType<[string, string, string]>;
37
+ isOptional: false;
38
+ };
39
+ active: {
40
+ type: import("@lssm/lib.schema").FieldType<boolean, boolean>;
41
+ isOptional: false;
42
+ };
43
+ createdAt: {
44
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
45
+ isOptional: false;
46
+ };
47
+ updatedAt: {
48
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
49
+ isOptional: false;
50
+ };
51
+ }>;
52
+ export declare const SetCommunicationRoomChannelBindingV2Command: import("@lssm/lib.contracts-spec").OperationSpec<import("@lssm/lib.schema").SchemaModel<{
53
+ id: {
54
+ type: import("@lssm/lib.schema").FieldType<string, string>;
55
+ isOptional: false;
56
+ };
57
+ tenantId: {
58
+ type: import("@lssm/lib.schema").FieldType<string, string>;
59
+ isOptional: false;
60
+ };
61
+ workspaceId: {
62
+ type: import("@lssm/lib.schema").FieldType<string, string>;
63
+ isOptional: false;
64
+ };
65
+ spaceId: {
66
+ type: import("@lssm/lib.schema").FieldType<string, string>;
67
+ isOptional: false;
68
+ };
69
+ roomId: {
70
+ type: import("@lssm/lib.schema").FieldType<string, string>;
71
+ isOptional: false;
72
+ };
73
+ connectionId: {
74
+ type: import("@lssm/lib.schema").FieldType<string, string>;
75
+ isOptional: false;
76
+ };
77
+ externalConversationId: {
78
+ type: import("@lssm/lib.schema").FieldType<string, string>;
79
+ isOptional: false;
80
+ };
81
+ externalThreadId: {
82
+ type: import("@lssm/lib.schema").FieldType<string, string>;
83
+ isOptional: true;
84
+ };
85
+ direction: {
86
+ type: import("@lssm/lib.schema").EnumType<[string, string, string]>;
87
+ isOptional: false;
88
+ };
89
+ active: {
90
+ type: import("@lssm/lib.schema").FieldType<boolean, boolean>;
91
+ isOptional: false;
92
+ };
93
+ createdAt: {
94
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
95
+ isOptional: false;
96
+ };
97
+ updatedAt: {
98
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
99
+ isOptional: false;
100
+ };
101
+ }>, import("@lssm/lib.schema").SchemaModel<{
102
+ id: {
103
+ type: import("@lssm/lib.schema").FieldType<string, string>;
104
+ isOptional: false;
105
+ };
106
+ tenantId: {
107
+ type: import("@lssm/lib.schema").FieldType<string, string>;
108
+ isOptional: false;
109
+ };
110
+ workspaceId: {
111
+ type: import("@lssm/lib.schema").FieldType<string, string>;
112
+ isOptional: false;
113
+ };
114
+ spaceId: {
115
+ type: import("@lssm/lib.schema").FieldType<string, string>;
116
+ isOptional: false;
117
+ };
118
+ roomId: {
119
+ type: import("@lssm/lib.schema").FieldType<string, string>;
120
+ isOptional: false;
121
+ };
122
+ connectionId: {
123
+ type: import("@lssm/lib.schema").FieldType<string, string>;
124
+ isOptional: false;
125
+ };
126
+ externalConversationId: {
127
+ type: import("@lssm/lib.schema").FieldType<string, string>;
128
+ isOptional: false;
129
+ };
130
+ externalThreadId: {
131
+ type: import("@lssm/lib.schema").FieldType<string, string>;
132
+ isOptional: true;
133
+ };
134
+ direction: {
135
+ type: import("@lssm/lib.schema").EnumType<[string, string, string]>;
136
+ isOptional: false;
137
+ };
138
+ active: {
139
+ type: import("@lssm/lib.schema").FieldType<boolean, boolean>;
140
+ isOptional: false;
141
+ };
142
+ createdAt: {
143
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
144
+ isOptional: false;
145
+ };
146
+ updatedAt: {
147
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
148
+ isOptional: false;
149
+ };
150
+ }>, undefined>;
151
+ export declare const ListCommunicationRoomChannelBindingsV2Query: import("@lssm/lib.contracts-spec").OperationSpec<import("@lssm/lib.schema").SchemaModel<{
152
+ tenantId: {
153
+ type: import("@lssm/lib.schema").FieldType<string, string>;
154
+ isOptional: false;
155
+ };
156
+ workspaceId: {
157
+ type: import("@lssm/lib.schema").FieldType<string, string>;
158
+ isOptional: false;
159
+ };
160
+ spaceId: {
161
+ type: import("@lssm/lib.schema").FieldType<string, string>;
162
+ isOptional: false;
163
+ };
164
+ roomId: {
165
+ type: import("@lssm/lib.schema").FieldType<string, string>;
166
+ isOptional: true;
167
+ };
168
+ connectionId: {
169
+ type: import("@lssm/lib.schema").FieldType<string, string>;
170
+ isOptional: true;
171
+ };
172
+ activeOnly: {
173
+ type: import("@lssm/lib.schema").FieldType<boolean, boolean>;
174
+ isOptional: true;
175
+ };
176
+ }>, import("@lssm/lib.schema").SchemaModel<{
177
+ bindings: {
178
+ type: import("@lssm/lib.schema").SchemaModel<{
179
+ id: {
180
+ type: import("@lssm/lib.schema").FieldType<string, string>;
181
+ isOptional: false;
182
+ };
183
+ tenantId: {
184
+ type: import("@lssm/lib.schema").FieldType<string, string>;
185
+ isOptional: false;
186
+ };
187
+ workspaceId: {
188
+ type: import("@lssm/lib.schema").FieldType<string, string>;
189
+ isOptional: false;
190
+ };
191
+ spaceId: {
192
+ type: import("@lssm/lib.schema").FieldType<string, string>;
193
+ isOptional: false;
194
+ };
195
+ roomId: {
196
+ type: import("@lssm/lib.schema").FieldType<string, string>;
197
+ isOptional: false;
198
+ };
199
+ connectionId: {
200
+ type: import("@lssm/lib.schema").FieldType<string, string>;
201
+ isOptional: false;
202
+ };
203
+ externalConversationId: {
204
+ type: import("@lssm/lib.schema").FieldType<string, string>;
205
+ isOptional: false;
206
+ };
207
+ externalThreadId: {
208
+ type: import("@lssm/lib.schema").FieldType<string, string>;
209
+ isOptional: true;
210
+ };
211
+ direction: {
212
+ type: import("@lssm/lib.schema").EnumType<[string, string, string]>;
213
+ isOptional: false;
214
+ };
215
+ active: {
216
+ type: import("@lssm/lib.schema").FieldType<boolean, boolean>;
217
+ isOptional: false;
218
+ };
219
+ createdAt: {
220
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
221
+ isOptional: false;
222
+ };
223
+ updatedAt: {
224
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
225
+ isOptional: false;
226
+ };
227
+ }>;
228
+ isArray: true;
229
+ isOptional: false;
230
+ };
231
+ }>, undefined>;
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{defineCommand as f,defineQuery as O,docId as S}from"@lssm/lib.contracts-spec";import{defineEnum as _,defineSchemaModel as a,ScalarTypeEnum as n}from"@lssm/lib.schema";import{defineEnum as i,defineSchemaModel as t,ScalarTypeEnum as e}from"@lssm/lib.schema";var p=i("CommunicationSpaceKind",["personal","organization"]),l=i("CommunicationPrincipalKind",["human","agent","system"]),u=i("CommunicationConnectionPlacement",["device","managed_cloud","self_hosted"]),x=i("CommunicationConnectionNetwork",["email","sms","slack","teams","telegram","whatsapp","discord","matrix"]),m=i("CommunicationEncryptionMode",["client_encrypted","governed_server_indexable"]),d=i("CommunicationMembershipState",["active","revoked"]),v=i("CommunicationReceiptKind",["delivered","read"]),y=i("CommunicationConnectionHealth",["connecting","healthy","degraded","offline","revoked"]),s={id:"communication-os.ecosystem-messaging.v2",title:"CommunicationOS ecosystem messaging contracts",body:"Versioned, workspace-scoped contracts for personal and organization spaces, rooms, human and agent membership, hybrid channel connections, synchronized messages, and revocable outbound authority. CommunicationSpec remains canonical; provider protocols are adapters. V1 thread and draft-only operations remain unchanged.",kind:"reference",route:"/docs/communication-os/ecosystem-messaging-v2",visibility:"public"},k=t({name:"CommunicationScopeV2",description:"Strict tenant, workspace, and space boundary for messaging state",fields:{tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1}}}),A=t({name:"CommunicationSpaceV2",description:"Personal or organization messaging boundary under one account",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},kind:{type:p,isOptional:!1},encryptionMode:{type:m,isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1}}}),D=t({name:"CommunicationPrincipalV2",description:"Auditable human, agent, or system identity",fields:{id:{type:e.String_unsecure(),isOptional:!1},kind:{type:l,isOptional:!1},displayName:{type:e.String_unsecure(),isOptional:!1},ownerPrincipalId:{type:e.String_unsecure(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}}),M=t({name:"CommunicationRoomV2",description:"Room or direct-message projection inside one space",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!0},roomKind:{type:e.String_unsecure(),isOptional:!1},connectionIds:{type:e.String_unsecure(),isArray:!0,isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),V=t({name:"CommunicationRoomMembershipV2",description:"Revocable principal membership and room-scoped capabilities",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},roomId:{type:e.String_unsecure(),isOptional:!1},principalId:{type:e.String_unsecure(),isOptional:!1},role:{type:e.String_unsecure(),isOptional:!1},state:{type:d,isOptional:!1},capabilities:{type:e.String_unsecure(),isArray:!0,isOptional:!1},expiresAt:{type:e.DateTime(),isOptional:!0},revokedAt:{type:e.DateTime(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}}),T=t({name:"CommunicationChannelConnectionV2",description:"Credential-reference-only local, managed, or self-hosted channel connection",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},network:{type:e.String_unsecure(),isOptional:!1},placement:{type:u,isOptional:!1},externalAccountRef:{type:e.String_unsecure(),isOptional:!1},credentialRef:{type:e.String_unsecure(),isOptional:!1},health:{type:y,isOptional:!1},capabilities:{type:e.String_unsecure(),isArray:!0,isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),g=t({name:"CommunicationAttachmentV2",description:"Public-safe metadata for an opaque, scope-bound message attachment",fields:{id:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},mimeType:{type:e.String_unsecure(),isOptional:!1},sizeBytes:{type:e.Int_unsecure(),isOptional:!1},sha256:{type:e.String_unsecure(),isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1}}}),w=t({name:"CommunicationMessageV2",description:"Canonical room message with explicit author and encryption posture",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},roomId:{type:e.String_unsecure(),isOptional:!1},authorPrincipalId:{type:e.String_unsecure(),isOptional:!1},connectionId:{type:e.String_unsecure(),isOptional:!0},externalMessageId:{type:e.String_unsecure(),isOptional:!0},body:{type:e.String_unsecure(),isOptional:!0},encryptedEnvelope:{type:e.JSONObject(),isOptional:!0},attachments:{type:g,isArray:!0,isOptional:!0},replyToMessageId:{type:e.String_unsecure(),isOptional:!0},revision:{type:e.Int_unsecure(),isOptional:!1},deletedAt:{type:e.DateTime(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),E=t({name:"CommunicationAuthorityGrantV2",description:"Explicit, revocable messaging authority granted to one principal",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},roomId:{type:e.String_unsecure(),isOptional:!0},connectionId:{type:e.String_unsecure(),isOptional:!0},principalId:{type:e.String_unsecure(),isOptional:!1},capabilities:{type:e.String_unsecure(),isArray:!0,isOptional:!1},grantedBy:{type:e.String_unsecure(),isOptional:!1},expiresAt:{type:e.DateTime(),isOptional:!0},revokedAt:{type:e.DateTime(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}});var r=["platform.communication-os"],c=[S(s.id)],C=_("CommunicationBindingDirection",["inbound","outbound","bidirectional"]),o=a({name:"CommunicationRoomChannelBindingV2",description:"Scoped mapping between one canonical room and one external provider conversation",fields:{id:{type:n.String_unsecure(),isOptional:!1},tenantId:{type:n.String_unsecure(),isOptional:!1},workspaceId:{type:n.String_unsecure(),isOptional:!1},spaceId:{type:n.String_unsecure(),isOptional:!1},roomId:{type:n.String_unsecure(),isOptional:!1},connectionId:{type:n.String_unsecure(),isOptional:!1},externalConversationId:{type:n.String_unsecure(),isOptional:!1},externalThreadId:{type:n.String_unsecure(),isOptional:!0},direction:{type:C,isOptional:!1},active:{type:n.Boolean(),isOptional:!1},createdAt:{type:n.DateTime(),isOptional:!1},updatedAt:{type:n.DateTime(),isOptional:!1}}}),K=f({meta:{key:"communication.room-channel-binding.set",version:"2.0.0",stability:"experimental",owners:[...r],tags:["communication","room","connection","binding"],description:"Create, update, or revoke the provider conversation bound to a canonical room",goal:"Route synchronization and delivery without treating provider accounts as rooms",context:"The room, connection, and binding must share exactly one tenant, workspace, and space scope",docId:c},io:{input:o,output:o},policy:{auth:"admin"}}),h=a({name:"ListCommunicationRoomChannelBindingsV2Input",fields:{tenantId:{type:n.String_unsecure(),isOptional:!1},workspaceId:{type:n.String_unsecure(),isOptional:!1},spaceId:{type:n.String_unsecure(),isOptional:!1},roomId:{type:n.String_unsecure(),isOptional:!0},connectionId:{type:n.String_unsecure(),isOptional:!0},activeOnly:{type:n.Boolean(),isOptional:!0}}}),I=a({name:"ListCommunicationRoomChannelBindingsV2Output",fields:{bindings:{type:o,isArray:!0,isOptional:!1}}}),L=O({meta:{key:"communication.room-channel-binding.list",version:"2.0.0",stability:"experimental",owners:[...r],tags:["communication","room","connection","binding","query"],description:"List authorized room-to-provider conversation bindings",goal:"Make routing, audit, and recovery projections explicit and replayable",context:"Inactive bindings remain visible to audit readers",docId:c},io:{input:h,output:I},policy:{auth:"user"}});export{C as CommunicationBindingDirectionEnum,o as CommunicationRoomChannelBindingV2Model,L as ListCommunicationRoomChannelBindingsV2Query,K as SetCommunicationRoomChannelBindingV2Command};
@@ -0,0 +1,332 @@
1
+ export declare const CommunicationConnectionSubscriptionRequestedV2Event: import("@lssm/lib.contracts-spec").EventSpec<import("@lssm/lib.schema").SchemaModel<{
2
+ tenantId: {
3
+ type: import("@lssm/lib.schema").FieldType<string, string>;
4
+ isOptional: false;
5
+ };
6
+ workspaceId: {
7
+ type: import("@lssm/lib.schema").FieldType<string, string>;
8
+ isOptional: false;
9
+ };
10
+ spaceId: {
11
+ type: import("@lssm/lib.schema").FieldType<string, string>;
12
+ isOptional: false;
13
+ };
14
+ connectionId: {
15
+ type: import("@lssm/lib.schema").FieldType<string, string>;
16
+ isOptional: false;
17
+ };
18
+ network: {
19
+ type: import("@lssm/lib.schema").FieldType<string, string>;
20
+ isOptional: false;
21
+ };
22
+ placement: {
23
+ type: import("@lssm/lib.schema").FieldType<string, string>;
24
+ isOptional: false;
25
+ };
26
+ health: {
27
+ type: import("@lssm/lib.schema").FieldType<string, string>;
28
+ isOptional: false;
29
+ };
30
+ cursor: {
31
+ type: import("@lssm/lib.schema").FieldType<string, string>;
32
+ isOptional: true;
33
+ };
34
+ invalidationRef: {
35
+ type: import("@lssm/lib.schema").FieldType<string, string>;
36
+ isOptional: true;
37
+ };
38
+ subscriptionRef: {
39
+ type: import("@lssm/lib.schema").FieldType<string, string>;
40
+ isOptional: true;
41
+ };
42
+ targetExpiresAt: {
43
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
44
+ isOptional: true;
45
+ };
46
+ expiresAt: {
47
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
48
+ isOptional: true;
49
+ };
50
+ workOrderDigest: {
51
+ type: import("@lssm/lib.schema").FieldType<string, string>;
52
+ isOptional: true;
53
+ };
54
+ idempotencyKey: {
55
+ type: import("@lssm/lib.schema").FieldType<string, string>;
56
+ isOptional: true;
57
+ };
58
+ providerReceiptRef: {
59
+ type: import("@lssm/lib.schema").FieldType<string, string>;
60
+ isOptional: true;
61
+ };
62
+ evidenceRefs: {
63
+ type: import("@lssm/lib.schema").FieldType<string, string>;
64
+ isArray: true;
65
+ isOptional: true;
66
+ };
67
+ failureCode: {
68
+ type: import("@lssm/lib.schema").FieldType<string, string>;
69
+ isOptional: true;
70
+ };
71
+ retryable: {
72
+ type: import("@lssm/lib.schema").FieldType<boolean, boolean>;
73
+ isOptional: true;
74
+ };
75
+ retryAt: {
76
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
77
+ isOptional: true;
78
+ };
79
+ occurredAt: {
80
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
81
+ isOptional: false;
82
+ };
83
+ }>>;
84
+ export declare const CommunicationConnectionSubscriptionActiveV2Event: import("@lssm/lib.contracts-spec").EventSpec<import("@lssm/lib.schema").SchemaModel<{
85
+ tenantId: {
86
+ type: import("@lssm/lib.schema").FieldType<string, string>;
87
+ isOptional: false;
88
+ };
89
+ workspaceId: {
90
+ type: import("@lssm/lib.schema").FieldType<string, string>;
91
+ isOptional: false;
92
+ };
93
+ spaceId: {
94
+ type: import("@lssm/lib.schema").FieldType<string, string>;
95
+ isOptional: false;
96
+ };
97
+ connectionId: {
98
+ type: import("@lssm/lib.schema").FieldType<string, string>;
99
+ isOptional: false;
100
+ };
101
+ network: {
102
+ type: import("@lssm/lib.schema").FieldType<string, string>;
103
+ isOptional: false;
104
+ };
105
+ placement: {
106
+ type: import("@lssm/lib.schema").FieldType<string, string>;
107
+ isOptional: false;
108
+ };
109
+ health: {
110
+ type: import("@lssm/lib.schema").FieldType<string, string>;
111
+ isOptional: false;
112
+ };
113
+ cursor: {
114
+ type: import("@lssm/lib.schema").FieldType<string, string>;
115
+ isOptional: true;
116
+ };
117
+ invalidationRef: {
118
+ type: import("@lssm/lib.schema").FieldType<string, string>;
119
+ isOptional: true;
120
+ };
121
+ subscriptionRef: {
122
+ type: import("@lssm/lib.schema").FieldType<string, string>;
123
+ isOptional: true;
124
+ };
125
+ targetExpiresAt: {
126
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
127
+ isOptional: true;
128
+ };
129
+ expiresAt: {
130
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
131
+ isOptional: true;
132
+ };
133
+ workOrderDigest: {
134
+ type: import("@lssm/lib.schema").FieldType<string, string>;
135
+ isOptional: true;
136
+ };
137
+ idempotencyKey: {
138
+ type: import("@lssm/lib.schema").FieldType<string, string>;
139
+ isOptional: true;
140
+ };
141
+ providerReceiptRef: {
142
+ type: import("@lssm/lib.schema").FieldType<string, string>;
143
+ isOptional: true;
144
+ };
145
+ evidenceRefs: {
146
+ type: import("@lssm/lib.schema").FieldType<string, string>;
147
+ isArray: true;
148
+ isOptional: true;
149
+ };
150
+ failureCode: {
151
+ type: import("@lssm/lib.schema").FieldType<string, string>;
152
+ isOptional: true;
153
+ };
154
+ retryable: {
155
+ type: import("@lssm/lib.schema").FieldType<boolean, boolean>;
156
+ isOptional: true;
157
+ };
158
+ retryAt: {
159
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
160
+ isOptional: true;
161
+ };
162
+ occurredAt: {
163
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
164
+ isOptional: false;
165
+ };
166
+ }>>;
167
+ export declare const CommunicationConnectionSubscriptionFailedV2Event: import("@lssm/lib.contracts-spec").EventSpec<import("@lssm/lib.schema").SchemaModel<{
168
+ tenantId: {
169
+ type: import("@lssm/lib.schema").FieldType<string, string>;
170
+ isOptional: false;
171
+ };
172
+ workspaceId: {
173
+ type: import("@lssm/lib.schema").FieldType<string, string>;
174
+ isOptional: false;
175
+ };
176
+ spaceId: {
177
+ type: import("@lssm/lib.schema").FieldType<string, string>;
178
+ isOptional: false;
179
+ };
180
+ connectionId: {
181
+ type: import("@lssm/lib.schema").FieldType<string, string>;
182
+ isOptional: false;
183
+ };
184
+ network: {
185
+ type: import("@lssm/lib.schema").FieldType<string, string>;
186
+ isOptional: false;
187
+ };
188
+ placement: {
189
+ type: import("@lssm/lib.schema").FieldType<string, string>;
190
+ isOptional: false;
191
+ };
192
+ health: {
193
+ type: import("@lssm/lib.schema").FieldType<string, string>;
194
+ isOptional: false;
195
+ };
196
+ cursor: {
197
+ type: import("@lssm/lib.schema").FieldType<string, string>;
198
+ isOptional: true;
199
+ };
200
+ invalidationRef: {
201
+ type: import("@lssm/lib.schema").FieldType<string, string>;
202
+ isOptional: true;
203
+ };
204
+ subscriptionRef: {
205
+ type: import("@lssm/lib.schema").FieldType<string, string>;
206
+ isOptional: true;
207
+ };
208
+ targetExpiresAt: {
209
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
210
+ isOptional: true;
211
+ };
212
+ expiresAt: {
213
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
214
+ isOptional: true;
215
+ };
216
+ workOrderDigest: {
217
+ type: import("@lssm/lib.schema").FieldType<string, string>;
218
+ isOptional: true;
219
+ };
220
+ idempotencyKey: {
221
+ type: import("@lssm/lib.schema").FieldType<string, string>;
222
+ isOptional: true;
223
+ };
224
+ providerReceiptRef: {
225
+ type: import("@lssm/lib.schema").FieldType<string, string>;
226
+ isOptional: true;
227
+ };
228
+ evidenceRefs: {
229
+ type: import("@lssm/lib.schema").FieldType<string, string>;
230
+ isArray: true;
231
+ isOptional: true;
232
+ };
233
+ failureCode: {
234
+ type: import("@lssm/lib.schema").FieldType<string, string>;
235
+ isOptional: true;
236
+ };
237
+ retryable: {
238
+ type: import("@lssm/lib.schema").FieldType<boolean, boolean>;
239
+ isOptional: true;
240
+ };
241
+ retryAt: {
242
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
243
+ isOptional: true;
244
+ };
245
+ occurredAt: {
246
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
247
+ isOptional: false;
248
+ };
249
+ }>>;
250
+ export declare const CommunicationConnectionSubscriptionIndeterminateV2Event: import("@lssm/lib.contracts-spec").EventSpec<import("@lssm/lib.schema").SchemaModel<{
251
+ tenantId: {
252
+ type: import("@lssm/lib.schema").FieldType<string, string>;
253
+ isOptional: false;
254
+ };
255
+ workspaceId: {
256
+ type: import("@lssm/lib.schema").FieldType<string, string>;
257
+ isOptional: false;
258
+ };
259
+ spaceId: {
260
+ type: import("@lssm/lib.schema").FieldType<string, string>;
261
+ isOptional: false;
262
+ };
263
+ connectionId: {
264
+ type: import("@lssm/lib.schema").FieldType<string, string>;
265
+ isOptional: false;
266
+ };
267
+ network: {
268
+ type: import("@lssm/lib.schema").FieldType<string, string>;
269
+ isOptional: false;
270
+ };
271
+ placement: {
272
+ type: import("@lssm/lib.schema").FieldType<string, string>;
273
+ isOptional: false;
274
+ };
275
+ health: {
276
+ type: import("@lssm/lib.schema").FieldType<string, string>;
277
+ isOptional: false;
278
+ };
279
+ cursor: {
280
+ type: import("@lssm/lib.schema").FieldType<string, string>;
281
+ isOptional: true;
282
+ };
283
+ invalidationRef: {
284
+ type: import("@lssm/lib.schema").FieldType<string, string>;
285
+ isOptional: true;
286
+ };
287
+ subscriptionRef: {
288
+ type: import("@lssm/lib.schema").FieldType<string, string>;
289
+ isOptional: true;
290
+ };
291
+ targetExpiresAt: {
292
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
293
+ isOptional: true;
294
+ };
295
+ expiresAt: {
296
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
297
+ isOptional: true;
298
+ };
299
+ workOrderDigest: {
300
+ type: import("@lssm/lib.schema").FieldType<string, string>;
301
+ isOptional: true;
302
+ };
303
+ idempotencyKey: {
304
+ type: import("@lssm/lib.schema").FieldType<string, string>;
305
+ isOptional: true;
306
+ };
307
+ providerReceiptRef: {
308
+ type: import("@lssm/lib.schema").FieldType<string, string>;
309
+ isOptional: true;
310
+ };
311
+ evidenceRefs: {
312
+ type: import("@lssm/lib.schema").FieldType<string, string>;
313
+ isArray: true;
314
+ isOptional: true;
315
+ };
316
+ failureCode: {
317
+ type: import("@lssm/lib.schema").FieldType<string, string>;
318
+ isOptional: true;
319
+ };
320
+ retryable: {
321
+ type: import("@lssm/lib.schema").FieldType<boolean, boolean>;
322
+ isOptional: true;
323
+ };
324
+ retryAt: {
325
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
326
+ isOptional: true;
327
+ };
328
+ occurredAt: {
329
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
330
+ isOptional: false;
331
+ };
332
+ }>>;
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{defineEvent as p,docId as A}from"@lssm/lib.contracts-spec";import{defineEvent as n,docId as I}from"@lssm/lib.contracts-spec";import{defineSchemaModel as r,ScalarTypeEnum as t}from"@lssm/lib.schema";import{defineEnum as o,defineSchemaModel as a,ScalarTypeEnum as e}from"@lssm/lib.schema";var f=o("CommunicationSpaceKind",["personal","organization"]),O=o("CommunicationPrincipalKind",["human","agent","system"]),S=o("CommunicationConnectionPlacement",["device","managed_cloud","self_hosted"]),w=o("CommunicationConnectionNetwork",["email","sms","slack","teams","telegram","whatsapp","discord","matrix"]),_=o("CommunicationEncryptionMode",["client_encrypted","governed_server_indexable"]),C=o("CommunicationMembershipState",["active","revoked"]),D=o("CommunicationReceiptKind",["delivered","read"]),h=o("CommunicationConnectionHealth",["connecting","healthy","degraded","offline","revoked"]),c={id:"communication-os.ecosystem-messaging.v2",title:"CommunicationOS ecosystem messaging contracts",body:"Versioned, workspace-scoped contracts for personal and organization spaces, rooms, human and agent membership, hybrid channel connections, synchronized messages, and revocable outbound authority. CommunicationSpec remains canonical; provider protocols are adapters. V1 thread and draft-only operations remain unchanged.",kind:"reference",route:"/docs/communication-os/ecosystem-messaging-v2",visibility:"public"},M=a({name:"CommunicationScopeV2",description:"Strict tenant, workspace, and space boundary for messaging state",fields:{tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1}}}),T=a({name:"CommunicationSpaceV2",description:"Personal or organization messaging boundary under one account",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},kind:{type:f,isOptional:!1},encryptionMode:{type:_,isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1}}}),R=a({name:"CommunicationPrincipalV2",description:"Auditable human, agent, or system identity",fields:{id:{type:e.String_unsecure(),isOptional:!1},kind:{type:O,isOptional:!1},displayName:{type:e.String_unsecure(),isOptional:!1},ownerPrincipalId:{type:e.String_unsecure(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}}),P=a({name:"CommunicationRoomV2",description:"Room or direct-message projection inside one space",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!0},roomKind:{type:e.String_unsecure(),isOptional:!1},connectionIds:{type:e.String_unsecure(),isArray:!0,isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),B=a({name:"CommunicationRoomMembershipV2",description:"Revocable principal membership and room-scoped capabilities",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},roomId:{type:e.String_unsecure(),isOptional:!1},principalId:{type:e.String_unsecure(),isOptional:!1},role:{type:e.String_unsecure(),isOptional:!1},state:{type:C,isOptional:!1},capabilities:{type:e.String_unsecure(),isArray:!0,isOptional:!1},expiresAt:{type:e.DateTime(),isOptional:!0},revokedAt:{type:e.DateTime(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}}),K=a({name:"CommunicationChannelConnectionV2",description:"Credential-reference-only local, managed, or self-hosted channel connection",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},network:{type:e.String_unsecure(),isOptional:!1},placement:{type:S,isOptional:!1},externalAccountRef:{type:e.String_unsecure(),isOptional:!1},credentialRef:{type:e.String_unsecure(),isOptional:!1},health:{type:h,isOptional:!1},capabilities:{type:e.String_unsecure(),isArray:!0,isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),v=a({name:"CommunicationAttachmentV2",description:"Public-safe metadata for an opaque, scope-bound message attachment",fields:{id:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},mimeType:{type:e.String_unsecure(),isOptional:!1},sizeBytes:{type:e.Int_unsecure(),isOptional:!1},sha256:{type:e.String_unsecure(),isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1}}}),N=a({name:"CommunicationMessageV2",description:"Canonical room message with explicit author and encryption posture",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},roomId:{type:e.String_unsecure(),isOptional:!1},authorPrincipalId:{type:e.String_unsecure(),isOptional:!1},connectionId:{type:e.String_unsecure(),isOptional:!0},externalMessageId:{type:e.String_unsecure(),isOptional:!0},body:{type:e.String_unsecure(),isOptional:!0},encryptedEnvelope:{type:e.JSONObject(),isOptional:!0},attachments:{type:v,isArray:!0,isOptional:!0},replyToMessageId:{type:e.String_unsecure(),isOptional:!0},revision:{type:e.Int_unsecure(),isOptional:!1},deletedAt:{type:e.DateTime(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),q=a({name:"CommunicationAuthorityGrantV2",description:"Explicit, revocable messaging authority granted to one principal",fields:{id:{type:e.String_unsecure(),isOptional:!1},tenantId:{type:e.String_unsecure(),isOptional:!1},workspaceId:{type:e.String_unsecure(),isOptional:!1},spaceId:{type:e.String_unsecure(),isOptional:!1},roomId:{type:e.String_unsecure(),isOptional:!0},connectionId:{type:e.String_unsecure(),isOptional:!0},principalId:{type:e.String_unsecure(),isOptional:!1},capabilities:{type:e.String_unsecure(),isArray:!0,isOptional:!1},grantedBy:{type:e.String_unsecure(),isOptional:!1},expiresAt:{type:e.DateTime(),isOptional:!0},revokedAt:{type:e.DateTime(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}});var E=["platform.communication-os"],b=[I(c.id)];function i(u,m,d){return{key:u,version:"2.0.0",description:m,stability:"experimental",owners:[...E],tags:["communication","ecosystem-messaging",...d],docId:b}}var y=r({name:"CommunicationScopedEntityV2Payload",fields:{tenantId:{type:t.String_unsecure(),isOptional:!1},workspaceId:{type:t.String_unsecure(),isOptional:!1},spaceId:{type:t.String_unsecure(),isOptional:!1},entityId:{type:t.String_unsecure(),isOptional:!1},actorPrincipalId:{type:t.String_unsecure(),isOptional:!1},occurredAt:{type:t.DateTime(),isOptional:!1}}}),F=n({meta:i("communication.space.created","Emitted when an isolated messaging space is created",["space","created"]),payload:y}),J=n({meta:i("communication.room.created","Emitted when a room or direct-message projection is created",["room","created"]),payload:y}),x=r({name:"CommunicationMembershipChangedV2Payload",fields:{tenantId:{type:t.String_unsecure(),isOptional:!1},workspaceId:{type:t.String_unsecure(),isOptional:!1},spaceId:{type:t.String_unsecure(),isOptional:!1},roomId:{type:t.String_unsecure(),isOptional:!1},membershipId:{type:t.String_unsecure(),isOptional:!1},principalId:{type:t.String_unsecure(),isOptional:!1},state:{type:t.String_unsecure(),isOptional:!1},changedBy:{type:t.String_unsecure(),isOptional:!1},occurredAt:{type:t.DateTime(),isOptional:!1}}}),W=n({meta:i("communication.membership.changed","Emitted when a human, agent, or system membership changes",["membership","authority"]),payload:x}),L=n({meta:i("communication.authority.changed","Emitted when a principal authority grant is added, changed, expired, or revoked",["agent","authority","revocation"]),payload:y}),g=r({name:"CommunicationMessageEventV2Payload",fields:{tenantId:{type:t.String_unsecure(),isOptional:!1},workspaceId:{type:t.String_unsecure(),isOptional:!1},spaceId:{type:t.String_unsecure(),isOptional:!1},roomId:{type:t.String_unsecure(),isOptional:!1},messageId:{type:t.String_unsecure(),isOptional:!1},authorPrincipalId:{type:t.String_unsecure(),isOptional:!1},connectionId:{type:t.String_unsecure(),isOptional:!0},providerReceiptRef:{type:t.String_unsecure(),isOptional:!0},revision:{type:t.Int_unsecure(),isOptional:!1},occurredAt:{type:t.DateTime(),isOptional:!1}}}),Q=n({meta:i("communication.message.sent","Emitted after provider acceptance or canonical local delivery of a v2 message",["message","sent"]),payload:g}),U=n({meta:i("communication.message.edited","Emitted when a new message revision is accepted",["message","edited"]),payload:g}),X=n({meta:i("communication.message.deleted","Emitted when message content is deleted or provider retention is documented",["message","deleted","erasure"]),payload:g}),s=r({name:"CommunicationConnectionEventV2Payload",fields:{tenantId:{type:t.String_unsecure(),isOptional:!1},workspaceId:{type:t.String_unsecure(),isOptional:!1},spaceId:{type:t.String_unsecure(),isOptional:!1},connectionId:{type:t.String_unsecure(),isOptional:!1},network:{type:t.String_unsecure(),isOptional:!1},placement:{type:t.String_unsecure(),isOptional:!1},health:{type:t.String_unsecure(),isOptional:!1},cursor:{type:t.String_unsecure(),isOptional:!0},invalidationRef:{type:t.String_unsecure(),isOptional:!0},subscriptionRef:{type:t.String_unsecure(),isOptional:!0},targetExpiresAt:{type:t.DateTime(),isOptional:!0},expiresAt:{type:t.DateTime(),isOptional:!0},workOrderDigest:{type:t.String_unsecure(),isOptional:!0},idempotencyKey:{type:t.String_unsecure(),isOptional:!0},providerReceiptRef:{type:t.String_unsecure(),isOptional:!0},evidenceRefs:{type:t.String_unsecure(),isArray:!0,isOptional:!0},failureCode:{type:t.String_unsecure(),isOptional:!0},retryable:{type:t.Boolean(),isOptional:!0},retryAt:{type:t.DateTime(),isOptional:!0},occurredAt:{type:t.DateTime(),isOptional:!1}}}),Y=n({meta:i("communication.connection.health.changed","Emitted when a local or server connection health state changes",["connection","health"]),payload:s}),Z=n({meta:i("communication.connection.sync.advanced","Emitted after a connection cursor advances durably",["connection","sync","cursor"]),payload:s}),ee=n({meta:i("communication.connection.sync.invalidated","Emitted after an authenticated provider callback durably requests synchronization",["connection","sync","invalidation"]),payload:s}),V=r({name:"CommunicationRealtimeStateV2Payload",fields:{tenantId:{type:t.String_unsecure(),isOptional:!1},workspaceId:{type:t.String_unsecure(),isOptional:!1},spaceId:{type:t.String_unsecure(),isOptional:!1},roomId:{type:t.String_unsecure(),isOptional:!1},principalId:{type:t.String_unsecure(),isOptional:!1},stateKind:{type:t.String_unsecure(),isOptional:!1},messageId:{type:t.String_unsecure(),isOptional:!0},occurredAt:{type:t.DateTime(),isOptional:!1}}}),te=n({meta:i("communication.realtime-state.changed","Emitted for reaction, receipt, presence, typing, and inbox-state projection updates",["realtime","receipt","presence","reaction"]),payload:V});var l=(u,m,d)=>({key:u,version:"2.0.0",description:m,stability:"experimental",owners:["platform.communication-os"],tags:["communication","connection","subscription",d],docId:[A(c.id)]}),se=p({meta:l("communication.connection.subscription.requested","Emitted before Runtime Node receives an idempotent subscription create or renewal request","requested"),payload:s}),re=p({meta:l("communication.connection.subscription.active","Emitted after a Runtime Node receipt proves a provider subscription is active","active"),payload:s}),ce=p({meta:l("communication.connection.subscription.failed","Emitted after a definitive Runtime Node subscription failure","failed"),payload:s}),pe=p({meta:l("communication.connection.subscription.indeterminate","Emitted when subscription effect custody is indeterminate and must reconcile before retry","indeterminate"),payload:s});export{re as CommunicationConnectionSubscriptionActiveV2Event,ce as CommunicationConnectionSubscriptionFailedV2Event,pe as CommunicationConnectionSubscriptionIndeterminateV2Event,se as CommunicationConnectionSubscriptionRequestedV2Event};