@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,600 @@
1
+ export declare const UpdateThreadStatusCommand: import("@lssm/lib.contracts-spec").OperationSpec<import("@lssm/lib.schema").SchemaModel<{
2
+ threadId: {
3
+ type: import("@lssm/lib.schema").FieldType<string, string>;
4
+ isOptional: false;
5
+ };
6
+ status: {
7
+ type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string]>;
8
+ isOptional: false;
9
+ };
10
+ reason: {
11
+ type: import("@lssm/lib.schema").FieldType<string, string>;
12
+ isOptional: true;
13
+ };
14
+ }>, import("@lssm/lib.schema").SchemaModel<{
15
+ id: {
16
+ type: import("@lssm/lib.schema").FieldType<string, string>;
17
+ isOptional: false;
18
+ };
19
+ title: {
20
+ type: import("@lssm/lib.schema").FieldType<string, string>;
21
+ isOptional: true;
22
+ };
23
+ status: {
24
+ type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string]>;
25
+ isOptional: false;
26
+ defaultValue: string;
27
+ };
28
+ participantIds: {
29
+ type: import("@lssm/lib.schema").FieldType<string, string>;
30
+ isArray: true;
31
+ isOptional: false;
32
+ };
33
+ channelTypes: {
34
+ type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string, string, string, string, string]>;
35
+ isArray: true;
36
+ isOptional: false;
37
+ };
38
+ links: {
39
+ type: import("@lssm/lib.schema").SchemaModel<{
40
+ id: {
41
+ type: import("@lssm/lib.schema").FieldType<string, string>;
42
+ isOptional: false;
43
+ };
44
+ threadId: {
45
+ type: import("@lssm/lib.schema").FieldType<string, string>;
46
+ isOptional: false;
47
+ };
48
+ objectRef: {
49
+ type: import("@lssm/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
50
+ isOptional: false;
51
+ };
52
+ relation: {
53
+ type: import("@lssm/lib.schema").FieldType<string, string>;
54
+ isOptional: true;
55
+ };
56
+ confidence: {
57
+ type: import("@lssm/lib.schema").FieldType<number, number>;
58
+ isOptional: true;
59
+ };
60
+ createdAt: {
61
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
62
+ isOptional: false;
63
+ };
64
+ }>;
65
+ isArray: true;
66
+ isOptional: true;
67
+ };
68
+ assignedTo: {
69
+ type: import("@lssm/lib.schema").FieldType<string, string>;
70
+ isOptional: true;
71
+ };
72
+ priority: {
73
+ type: import("@lssm/lib.schema").FieldType<string, string>;
74
+ isOptional: true;
75
+ };
76
+ tags: {
77
+ type: import("@lssm/lib.schema").FieldType<string, string>;
78
+ isArray: true;
79
+ isOptional: true;
80
+ };
81
+ metadata: {
82
+ type: import("@lssm/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
83
+ isOptional: true;
84
+ };
85
+ createdAt: {
86
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
87
+ isOptional: false;
88
+ };
89
+ updatedAt: {
90
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
91
+ isOptional: false;
92
+ };
93
+ }>, undefined>;
94
+ export declare const GetThreadQuery: import("@lssm/lib.contracts-spec").OperationSpec<import("@lssm/lib.schema").SchemaModel<{
95
+ threadId: {
96
+ type: import("@lssm/lib.schema").FieldType<string, string>;
97
+ isOptional: false;
98
+ };
99
+ }>, import("@lssm/lib.schema").SchemaModel<{
100
+ thread: {
101
+ type: import("@lssm/lib.schema").SchemaModel<{
102
+ id: {
103
+ type: import("@lssm/lib.schema").FieldType<string, string>;
104
+ isOptional: false;
105
+ };
106
+ title: {
107
+ type: import("@lssm/lib.schema").FieldType<string, string>;
108
+ isOptional: true;
109
+ };
110
+ status: {
111
+ type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string]>;
112
+ isOptional: false;
113
+ defaultValue: string;
114
+ };
115
+ participantIds: {
116
+ type: import("@lssm/lib.schema").FieldType<string, string>;
117
+ isArray: true;
118
+ isOptional: false;
119
+ };
120
+ channelTypes: {
121
+ type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string, string, string, string, string]>;
122
+ isArray: true;
123
+ isOptional: false;
124
+ };
125
+ links: {
126
+ type: import("@lssm/lib.schema").SchemaModel<{
127
+ id: {
128
+ type: import("@lssm/lib.schema").FieldType<string, string>;
129
+ isOptional: false;
130
+ };
131
+ threadId: {
132
+ type: import("@lssm/lib.schema").FieldType<string, string>;
133
+ isOptional: false;
134
+ };
135
+ objectRef: {
136
+ type: import("@lssm/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
137
+ isOptional: false;
138
+ };
139
+ relation: {
140
+ type: import("@lssm/lib.schema").FieldType<string, string>;
141
+ isOptional: true;
142
+ };
143
+ confidence: {
144
+ type: import("@lssm/lib.schema").FieldType<number, number>;
145
+ isOptional: true;
146
+ };
147
+ createdAt: {
148
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
149
+ isOptional: false;
150
+ };
151
+ }>;
152
+ isArray: true;
153
+ isOptional: true;
154
+ };
155
+ assignedTo: {
156
+ type: import("@lssm/lib.schema").FieldType<string, string>;
157
+ isOptional: true;
158
+ };
159
+ priority: {
160
+ type: import("@lssm/lib.schema").FieldType<string, string>;
161
+ isOptional: true;
162
+ };
163
+ tags: {
164
+ type: import("@lssm/lib.schema").FieldType<string, string>;
165
+ isArray: true;
166
+ isOptional: true;
167
+ };
168
+ metadata: {
169
+ type: import("@lssm/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
170
+ isOptional: true;
171
+ };
172
+ createdAt: {
173
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
174
+ isOptional: false;
175
+ };
176
+ updatedAt: {
177
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
178
+ isOptional: false;
179
+ };
180
+ }>;
181
+ isOptional: false;
182
+ };
183
+ messages: {
184
+ type: import("@lssm/lib.schema").SchemaModel<{
185
+ id: {
186
+ type: import("@lssm/lib.schema").FieldType<string, string>;
187
+ isOptional: false;
188
+ };
189
+ threadId: {
190
+ type: import("@lssm/lib.schema").FieldType<string, string>;
191
+ isOptional: false;
192
+ };
193
+ channelType: {
194
+ type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string, string, string, string, string]>;
195
+ isOptional: false;
196
+ };
197
+ channelAccountId: {
198
+ type: import("@lssm/lib.schema").FieldType<string, string>;
199
+ isOptional: false;
200
+ };
201
+ participantId: {
202
+ type: import("@lssm/lib.schema").FieldType<string, string>;
203
+ isOptional: true;
204
+ };
205
+ externalMessageId: {
206
+ type: import("@lssm/lib.schema").FieldType<string, string>;
207
+ isOptional: true;
208
+ };
209
+ body: {
210
+ type: import("@lssm/lib.schema").FieldType<string, string>;
211
+ isOptional: false;
212
+ };
213
+ bodyNormalized: {
214
+ type: import("@lssm/lib.schema").FieldType<string, string>;
215
+ isOptional: true;
216
+ };
217
+ status: {
218
+ type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string]>;
219
+ isOptional: false;
220
+ defaultValue: string;
221
+ };
222
+ intent: {
223
+ type: import("@lssm/lib.schema").SchemaModel<{
224
+ id: {
225
+ type: import("@lssm/lib.schema").FieldType<string, string>;
226
+ isOptional: false;
227
+ };
228
+ threadId: {
229
+ type: import("@lssm/lib.schema").FieldType<string, string>;
230
+ isOptional: false;
231
+ };
232
+ messageId: {
233
+ type: import("@lssm/lib.schema").FieldType<string, string>;
234
+ isOptional: true;
235
+ };
236
+ category: {
237
+ type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string, string, string, string]>;
238
+ isOptional: false;
239
+ };
240
+ confidence: {
241
+ type: import("@lssm/lib.schema").FieldType<number, number>;
242
+ isOptional: false;
243
+ };
244
+ reasoning: {
245
+ type: import("@lssm/lib.schema").FieldType<string, string>;
246
+ isOptional: true;
247
+ };
248
+ evidenceMessageIds: {
249
+ type: import("@lssm/lib.schema").FieldType<string, string>;
250
+ isArray: true;
251
+ isOptional: true;
252
+ };
253
+ createdAt: {
254
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
255
+ isOptional: false;
256
+ };
257
+ }>;
258
+ isOptional: true;
259
+ };
260
+ attachments: {
261
+ type: import("@lssm/lib.schema").SchemaModel<{
262
+ id: {
263
+ type: import("@lssm/lib.schema").FieldType<string, string>;
264
+ isOptional: false;
265
+ };
266
+ messageId: {
267
+ type: import("@lssm/lib.schema").FieldType<string, string>;
268
+ isOptional: false;
269
+ };
270
+ name: {
271
+ type: import("@lssm/lib.schema").FieldType<string, string>;
272
+ isOptional: false;
273
+ };
274
+ mimeType: {
275
+ type: import("@lssm/lib.schema").FieldType<string, string>;
276
+ isOptional: true;
277
+ };
278
+ sizeBytes: {
279
+ type: import("@lssm/lib.schema").FieldType<number, number>;
280
+ isOptional: true;
281
+ };
282
+ url: {
283
+ type: import("@lssm/lib.schema").FieldType<string, string>;
284
+ isOptional: true;
285
+ };
286
+ metadata: {
287
+ type: import("@lssm/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
288
+ isOptional: true;
289
+ };
290
+ }>;
291
+ isArray: true;
292
+ isOptional: true;
293
+ };
294
+ metadata: {
295
+ type: import("@lssm/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
296
+ isOptional: true;
297
+ };
298
+ createdAt: {
299
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
300
+ isOptional: false;
301
+ };
302
+ updatedAt: {
303
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
304
+ isOptional: false;
305
+ };
306
+ }>;
307
+ isArray: true;
308
+ isOptional: false;
309
+ };
310
+ links: {
311
+ type: import("@lssm/lib.schema").SchemaModel<{
312
+ id: {
313
+ type: import("@lssm/lib.schema").FieldType<string, string>;
314
+ isOptional: false;
315
+ };
316
+ threadId: {
317
+ type: import("@lssm/lib.schema").FieldType<string, string>;
318
+ isOptional: false;
319
+ };
320
+ objectRef: {
321
+ type: import("@lssm/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
322
+ isOptional: false;
323
+ };
324
+ relation: {
325
+ type: import("@lssm/lib.schema").FieldType<string, string>;
326
+ isOptional: true;
327
+ };
328
+ confidence: {
329
+ type: import("@lssm/lib.schema").FieldType<number, number>;
330
+ isOptional: true;
331
+ };
332
+ createdAt: {
333
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
334
+ isOptional: false;
335
+ };
336
+ }>;
337
+ isArray: true;
338
+ isOptional: true;
339
+ };
340
+ }>, undefined>;
341
+ export declare const SearchThreadsQuery: import("@lssm/lib.contracts-spec").OperationSpec<import("@lssm/lib.schema").SchemaModel<{
342
+ status: {
343
+ type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string]>;
344
+ isOptional: true;
345
+ };
346
+ participantId: {
347
+ type: import("@lssm/lib.schema").FieldType<string, string>;
348
+ isOptional: true;
349
+ };
350
+ channelType: {
351
+ type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string, string, string, string, string]>;
352
+ isOptional: true;
353
+ };
354
+ /** V2: replaces V1 linkedObjectType — matches RichReference.kindId */
355
+ linkedKindId: {
356
+ type: import("@lssm/lib.schema").FieldType<string, string>;
357
+ isOptional: true;
358
+ };
359
+ /** V2: replaces V1 linkedObjectId — matches RichReference.id (instance) */
360
+ linkedInstanceId: {
361
+ type: import("@lssm/lib.schema").FieldType<string, string>;
362
+ isOptional: true;
363
+ };
364
+ assignedTo: {
365
+ type: import("@lssm/lib.schema").FieldType<string, string>;
366
+ isOptional: true;
367
+ };
368
+ limit: {
369
+ type: import("@lssm/lib.schema").FieldType<number, number>;
370
+ isOptional: true;
371
+ defaultValue: number;
372
+ };
373
+ }>, import("@lssm/lib.schema").SchemaModel<{
374
+ threads: {
375
+ type: import("@lssm/lib.schema").SchemaModel<{
376
+ id: {
377
+ type: import("@lssm/lib.schema").FieldType<string, string>;
378
+ isOptional: false;
379
+ };
380
+ title: {
381
+ type: import("@lssm/lib.schema").FieldType<string, string>;
382
+ isOptional: true;
383
+ };
384
+ status: {
385
+ type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string]>;
386
+ isOptional: false;
387
+ defaultValue: string;
388
+ };
389
+ participantIds: {
390
+ type: import("@lssm/lib.schema").FieldType<string, string>;
391
+ isArray: true;
392
+ isOptional: false;
393
+ };
394
+ channelTypes: {
395
+ type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string, string, string, string, string]>;
396
+ isArray: true;
397
+ isOptional: false;
398
+ };
399
+ links: {
400
+ type: import("@lssm/lib.schema").SchemaModel<{
401
+ id: {
402
+ type: import("@lssm/lib.schema").FieldType<string, string>;
403
+ isOptional: false;
404
+ };
405
+ threadId: {
406
+ type: import("@lssm/lib.schema").FieldType<string, string>;
407
+ isOptional: false;
408
+ };
409
+ objectRef: {
410
+ type: import("@lssm/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
411
+ isOptional: false;
412
+ };
413
+ relation: {
414
+ type: import("@lssm/lib.schema").FieldType<string, string>;
415
+ isOptional: true;
416
+ };
417
+ confidence: {
418
+ type: import("@lssm/lib.schema").FieldType<number, number>;
419
+ isOptional: true;
420
+ };
421
+ createdAt: {
422
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
423
+ isOptional: false;
424
+ };
425
+ }>;
426
+ isArray: true;
427
+ isOptional: true;
428
+ };
429
+ assignedTo: {
430
+ type: import("@lssm/lib.schema").FieldType<string, string>;
431
+ isOptional: true;
432
+ };
433
+ priority: {
434
+ type: import("@lssm/lib.schema").FieldType<string, string>;
435
+ isOptional: true;
436
+ };
437
+ tags: {
438
+ type: import("@lssm/lib.schema").FieldType<string, string>;
439
+ isArray: true;
440
+ isOptional: true;
441
+ };
442
+ metadata: {
443
+ type: import("@lssm/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
444
+ isOptional: true;
445
+ };
446
+ createdAt: {
447
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
448
+ isOptional: false;
449
+ };
450
+ updatedAt: {
451
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
452
+ isOptional: false;
453
+ };
454
+ }>;
455
+ isArray: true;
456
+ isOptional: false;
457
+ };
458
+ total: {
459
+ type: import("@lssm/lib.schema").FieldType<number, number>;
460
+ isOptional: false;
461
+ };
462
+ hasMore: {
463
+ type: import("@lssm/lib.schema").FieldType<boolean, boolean>;
464
+ isOptional: false;
465
+ };
466
+ }>, undefined>;
467
+ export declare const ListMessagesQuery: import("@lssm/lib.contracts-spec").OperationSpec<import("@lssm/lib.schema").SchemaModel<{
468
+ threadId: {
469
+ type: import("@lssm/lib.schema").FieldType<string, string>;
470
+ isOptional: false;
471
+ };
472
+ }>, import("@lssm/lib.schema").SchemaModel<{
473
+ messages: {
474
+ type: import("@lssm/lib.schema").SchemaModel<{
475
+ id: {
476
+ type: import("@lssm/lib.schema").FieldType<string, string>;
477
+ isOptional: false;
478
+ };
479
+ threadId: {
480
+ type: import("@lssm/lib.schema").FieldType<string, string>;
481
+ isOptional: false;
482
+ };
483
+ channelType: {
484
+ type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string, string, string, string, string]>;
485
+ isOptional: false;
486
+ };
487
+ channelAccountId: {
488
+ type: import("@lssm/lib.schema").FieldType<string, string>;
489
+ isOptional: false;
490
+ };
491
+ participantId: {
492
+ type: import("@lssm/lib.schema").FieldType<string, string>;
493
+ isOptional: true;
494
+ };
495
+ externalMessageId: {
496
+ type: import("@lssm/lib.schema").FieldType<string, string>;
497
+ isOptional: true;
498
+ };
499
+ body: {
500
+ type: import("@lssm/lib.schema").FieldType<string, string>;
501
+ isOptional: false;
502
+ };
503
+ bodyNormalized: {
504
+ type: import("@lssm/lib.schema").FieldType<string, string>;
505
+ isOptional: true;
506
+ };
507
+ status: {
508
+ type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string]>;
509
+ isOptional: false;
510
+ defaultValue: string;
511
+ };
512
+ intent: {
513
+ type: import("@lssm/lib.schema").SchemaModel<{
514
+ id: {
515
+ type: import("@lssm/lib.schema").FieldType<string, string>;
516
+ isOptional: false;
517
+ };
518
+ threadId: {
519
+ type: import("@lssm/lib.schema").FieldType<string, string>;
520
+ isOptional: false;
521
+ };
522
+ messageId: {
523
+ type: import("@lssm/lib.schema").FieldType<string, string>;
524
+ isOptional: true;
525
+ };
526
+ category: {
527
+ type: import("@lssm/lib.schema").EnumType<[string, string, string, string, string, string, string, string, string, string]>;
528
+ isOptional: false;
529
+ };
530
+ confidence: {
531
+ type: import("@lssm/lib.schema").FieldType<number, number>;
532
+ isOptional: false;
533
+ };
534
+ reasoning: {
535
+ type: import("@lssm/lib.schema").FieldType<string, string>;
536
+ isOptional: true;
537
+ };
538
+ evidenceMessageIds: {
539
+ type: import("@lssm/lib.schema").FieldType<string, string>;
540
+ isArray: true;
541
+ isOptional: true;
542
+ };
543
+ createdAt: {
544
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
545
+ isOptional: false;
546
+ };
547
+ }>;
548
+ isOptional: true;
549
+ };
550
+ attachments: {
551
+ type: import("@lssm/lib.schema").SchemaModel<{
552
+ id: {
553
+ type: import("@lssm/lib.schema").FieldType<string, string>;
554
+ isOptional: false;
555
+ };
556
+ messageId: {
557
+ type: import("@lssm/lib.schema").FieldType<string, string>;
558
+ isOptional: false;
559
+ };
560
+ name: {
561
+ type: import("@lssm/lib.schema").FieldType<string, string>;
562
+ isOptional: false;
563
+ };
564
+ mimeType: {
565
+ type: import("@lssm/lib.schema").FieldType<string, string>;
566
+ isOptional: true;
567
+ };
568
+ sizeBytes: {
569
+ type: import("@lssm/lib.schema").FieldType<number, number>;
570
+ isOptional: true;
571
+ };
572
+ url: {
573
+ type: import("@lssm/lib.schema").FieldType<string, string>;
574
+ isOptional: true;
575
+ };
576
+ metadata: {
577
+ type: import("@lssm/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
578
+ isOptional: true;
579
+ };
580
+ }>;
581
+ isArray: true;
582
+ isOptional: true;
583
+ };
584
+ metadata: {
585
+ type: import("@lssm/lib.schema").FieldType<Record<string, unknown>, Record<string, unknown>>;
586
+ isOptional: true;
587
+ };
588
+ createdAt: {
589
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
590
+ isOptional: false;
591
+ };
592
+ updatedAt: {
593
+ type: import("@lssm/lib.schema").FieldType<Date, string>;
594
+ isOptional: false;
595
+ };
596
+ }>;
597
+ isArray: true;
598
+ isOptional: false;
599
+ };
600
+ }>, undefined>;
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ import{defineCommand as T,defineQuery as d}from"@lssm/lib.contracts-spec/operations";import{defineSchemaModel as s,ScalarTypeEnum as i}from"@lssm/lib.schema";import{defineEnum as n}from"@lssm/lib.schema";var a=n("ChannelType",["email","sms","whatsapp","telegram","matrix","web_chat","voice","internal_chat","custom_adapter","future_bridge","unknown"]),r=n("ThreadStatus",["open","waiting_on_human","waiting_on_external_party","action_required","resolved","archived"]),y=n("MessageStatus",["received","normalized","classified","linked","triaged","replied","archived"]),m=n("ReplyStatus",["drafted","requires_review","approved","sent","failed","blocked_by_policy"]),f=n("HandoffStatus",["created","assigned","acknowledged","completed","reopened"]),u=n("SuggestionStatus",["generated","shown","accepted","edited","rejected","applied","expired"]),O=n("IntentCategory",["support","sales","bug_report","feature_request","billing","onboarding","coordination","general","spam","escalation"]),g=n("ActionSafetyMode",["read_only","draft_only","requires_review","policy_executable","blocked"]),b=n("FeedbackOutcome",["accepted","edited","rejected","unsafe","incomplete"]);import{defineSchemaModel as t,ScalarTypeEnum as e}from"@lssm/lib.schema";var _=t({name:"ChannelAccount",description:"A channel account belonging to a participant",fields:{id:{type:e.String_unsecure(),isOptional:!1},participantId:{type:e.String_unsecure(),isOptional:!1},channelType:{type:a,isOptional:!1},externalId:{type:e.String_unsecure(),isOptional:!1},displayName:{type:e.String_unsecure(),isOptional:!0},metadata:{type:e.JSONObject(),isOptional:!0},isPrimary:{type:e.Boolean(),isOptional:!1,defaultValue:!1},createdAt:{type:e.DateTime(),isOptional:!1}}}),h=t({name:"IdentityLink",description:"Proposed or confirmed relationship between participant identities",fields:{id:{type:e.String_unsecure(),isOptional:!1},participantId:{type:e.String_unsecure(),isOptional:!1},candidateParticipantId:{type:e.String_unsecure(),isOptional:!1},status:{type:u,isOptional:!1,defaultValue:"generated"},confidence:{type:e.Float_unsecure(),isOptional:!1},reasoning:{type:e.String_unsecure(),isOptional:!0},reviewedBy:{type:e.String_unsecure(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}}),w=t({name:"CommunicationParticipant",description:"A person or system that participates in conversations",fields:{id:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!0},email:{type:e.EmailAddress(),isOptional:!0},accounts:{type:_,isArray:!0,isOptional:!1},identityLinks:{type:h,isArray:!0,isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),A=t({name:"Attachment",description:"A file or media attachment on a message",fields:{id:{type:e.String_unsecure(),isOptional:!1},messageId:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},mimeType:{type:e.String_unsecure(),isOptional:!0},sizeBytes:{type:e.Int_unsecure(),isOptional:!0},url:{type:e.URL(),isOptional:!0},metadata:{type:e.JSONObject(),isOptional:!0}}}),l=t({name:"ThreadLink",description:"Link between a thread and an external business object (V2: rich-reference objectRef replaces V1 objectType/objectId)",fields:{id:{type:e.String_unsecure(),isOptional:!1},threadId:{type:e.String_unsecure(),isOptional:!1},objectRef:{type:e.JSONObject(),isOptional:!1},relation:{type:e.String_unsecure(),isOptional:!0},confidence:{type:e.Float_unsecure(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}}),I=t({name:"MessageIntent",description:"Classified message or thread intent with confidence and evidence",fields:{id:{type:e.String_unsecure(),isOptional:!1},threadId:{type:e.String_unsecure(),isOptional:!1},messageId:{type:e.String_unsecure(),isOptional:!0},category:{type:O,isOptional:!1},confidence:{type:e.Float_unsecure(),isOptional:!1},reasoning:{type:e.String_unsecure(),isOptional:!0},evidenceMessageIds:{type:e.String_unsecure(),isArray:!0,isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}}),c=t({name:"CommunicationMessage",description:"A single message within a communication thread",fields:{id:{type:e.String_unsecure(),isOptional:!1},threadId:{type:e.String_unsecure(),isOptional:!1},channelType:{type:a,isOptional:!1},channelAccountId:{type:e.String_unsecure(),isOptional:!1},participantId:{type:e.String_unsecure(),isOptional:!0},externalMessageId:{type:e.String_unsecure(),isOptional:!0},body:{type:e.String_unsecure(),isOptional:!1},bodyNormalized:{type:e.String_unsecure(),isOptional:!0},status:{type:y,isOptional:!1,defaultValue:"received"},intent:{type:I,isOptional:!0},attachments:{type:A,isArray:!0,isOptional:!0},metadata:{type:e.JSONObject(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),C=t({name:"CommunicationFormIntake",description:"Declarative source reference for a communication message mapped into an entity-bound form intake result",fields:{id:{type:e.String_unsecure(),isOptional:!1},messageId:{type:e.String_unsecure(),isOptional:!1},threadId:{type:e.String_unsecure(),isOptional:!1},channelType:{type:a,isOptional:!1},channelAccountId:{type:e.String_unsecure(),isOptional:!1},participantId:{type:e.String_unsecure(),isOptional:!0},entityKey:{type:e.String_unsecure(),isOptional:!1},projectionKind:{type:e.String_unsecure(),isOptional:!1},formKey:{type:e.String_unsecure(),isOptional:!0},formVersion:{type:e.String_unsecure(),isOptional:!0},completionProfileKey:{type:e.String_unsecure(),isOptional:!0},acceptedValues:{type:e.JSONObject(),isOptional:!1},completionDebt:{type:e.JSONObject(),isArray:!0,isOptional:!1},captureStatus:{type:e.String_unsecure(),isOptional:!1,defaultValue:"accepted"},completionStatus:{type:e.String_unsecure(),isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1}}}),o=t({name:"CommunicationThread",description:"A conversation thread spanning one or more channels",fields:{id:{type:e.String_unsecure(),isOptional:!1},title:{type:e.String_unsecure(),isOptional:!0},status:{type:r,isOptional:!1,defaultValue:"open"},participantIds:{type:e.String_unsecure(),isArray:!0,isOptional:!1},channelTypes:{type:a,isArray:!0,isOptional:!1},links:{type:l,isArray:!0,isOptional:!0},assignedTo:{type:e.String_unsecure(),isOptional:!0},priority:{type:e.String_unsecure(),isOptional:!0},tags:{type:e.String_unsecure(),isArray:!0,isOptional:!0},metadata:{type:e.JSONObject(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),S=t({name:"CommunicationAction",description:"Structured action extracted from a conversation",fields:{id:{type:e.String_unsecure(),isOptional:!1},threadId:{type:e.String_unsecure(),isOptional:!1},title:{type:e.String_unsecure(),isOptional:!1},owner:{type:e.String_unsecure(),isOptional:!0},deadline:{type:e.DateTime(),isOptional:!0},blockers:{type:e.String_unsecure(),isArray:!0,isOptional:!0},sourceMessageIds:{type:e.String_unsecure(),isArray:!0,isOptional:!1},safetyMode:{type:g,isOptional:!1,defaultValue:"draft_only"}}}),D=t({name:"ReplyDraft",description:"An AI-generated or human-authored reply draft",fields:{id:{type:e.String_unsecure(),isOptional:!1},threadId:{type:e.String_unsecure(),isOptional:!1},messageId:{type:e.String_unsecure(),isOptional:!0},body:{type:e.String_unsecure(),isOptional:!1},status:{type:m,isOptional:!1,defaultValue:"drafted"},generatedBy:{type:e.String_unsecure(),isOptional:!0},modelName:{type:e.String_unsecure(),isOptional:!0},promptVersion:{type:e.String_unsecure(),isOptional:!0},policyVersion:{type:e.String_unsecure(),isOptional:!0},reviewedBy:{type:e.String_unsecure(),isOptional:!0},reviewedAt:{type:e.DateTime(),isOptional:!0},metadata:{type:e.JSONObject(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),E=t({name:"HandoffPacket",description:"A structured handoff between owners, teams, or systems",fields:{id:{type:e.String_unsecure(),isOptional:!1},threadId:{type:e.String_unsecure(),isOptional:!1},status:{type:f,isOptional:!1,defaultValue:"created"},fromOwner:{type:e.String_unsecure(),isOptional:!1},toOwner:{type:e.String_unsecure(),isOptional:!1},summary:{type:e.String_unsecure(),isOptional:!1},keyFacts:{type:e.String_unsecure(),isArray:!0,isOptional:!0},openQuestions:{type:e.String_unsecure(),isArray:!0,isOptional:!0},requiredActions:{type:S,isArray:!0,isOptional:!0},evidenceLinks:{type:e.String_unsecure(),isArray:!0,isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),j=t({name:"CommunicationSummary",description:"AI-generated summary of a thread or message range",fields:{id:{type:e.String_unsecure(),isOptional:!1},threadId:{type:e.String_unsecure(),isOptional:!1},messageIds:{type:e.String_unsecure(),isArray:!0,isOptional:!0},content:{type:e.String_unsecure(),isOptional:!1},facts:{type:e.JSONObject(),isArray:!0,isOptional:!0},actions:{type:S,isArray:!0,isOptional:!0},decisions:{type:e.JSONObject(),isArray:!0,isOptional:!0},risks:{type:e.JSONObject(),isArray:!0,isOptional:!0},modelName:{type:e.String_unsecure(),isOptional:!0},generatedAt:{type:e.DateTime(),isOptional:!1}}}),N=t({name:"AgentSuggestion",description:"An AI-generated suggestion attached to a thread or message",fields:{id:{type:e.String_unsecure(),isOptional:!1},threadId:{type:e.String_unsecure(),isOptional:!1},messageId:{type:e.String_unsecure(),isOptional:!0},suggestionType:{type:e.String_unsecure(),isOptional:!1},content:{type:e.String_unsecure(),isOptional:!1},status:{type:u,isOptional:!1,defaultValue:"generated"},modelName:{type:e.String_unsecure(),isOptional:!0},confidence:{type:e.Float_unsecure(),isOptional:!0},policyVersion:{type:e.String_unsecure(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}});var p=["platform.communication-os"],P=T({meta:{key:"communication.thread.updateStatus",version:"1.0.0",stability:"experimental",owners:[...p],tags:["communication","thread","status"],description:"Update a thread lifecycle status",goal:"Move operational conversations through explicit lifecycle states",context:"Runtime must enforce valid transitions from lifecycle definitions"},io:{input:s({name:"UpdateThreadStatusInput",fields:{threadId:{type:i.String_unsecure(),isOptional:!1},status:{type:r,isOptional:!1},reason:{type:i.String_unsecure(),isOptional:!0}}}),output:o},policy:{auth:"user"}}),q=d({meta:{key:"communication.thread.get",version:"1.0.0",stability:"experimental",owners:[...p],tags:["communication","thread","get"],description:"Get a thread by ID with messages and links",goal:"Retrieve full thread context",context:"Read-only operation for inbox views, detail views, and agent context"},io:{input:s({name:"GetThreadInput",fields:{threadId:{type:i.String_unsecure(),isOptional:!1}}}),output:s({name:"GetThreadOutput",fields:{thread:{type:o,isOptional:!1},messages:{type:c,isArray:!0,isOptional:!1},links:{type:l,isArray:!0,isOptional:!0}}})},policy:{auth:"user"}}),B=d({meta:{key:"communication.thread.search",version:"1.0.0",stability:"experimental",owners:[...p],tags:["communication","thread","search"],description:"Search threads by status, participant, channel, or linked object",goal:"Find relevant conversations quickly",context:"Read-only operation for operational inboxes, agent search, and dashboards"},io:{input:s({name:"SearchThreadsInput",fields:{status:{type:r,isOptional:!0},participantId:{type:i.String_unsecure(),isOptional:!0},channelType:{type:a,isOptional:!0},linkedKindId:{type:i.String_unsecure(),isOptional:!0},linkedInstanceId:{type:i.String_unsecure(),isOptional:!0},assignedTo:{type:i.String_unsecure(),isOptional:!0},limit:{type:i.Int_unsecure(),isOptional:!0,defaultValue:20}}}),output:s({name:"SearchThreadsOutput",fields:{threads:{type:o,isArray:!0,isOptional:!1},total:{type:i.Int_unsecure(),isOptional:!1},hasMore:{type:i.Boolean(),isOptional:!1}}})},policy:{auth:"user"}}),H=d({meta:{key:"communication.message.list",version:"1.0.0",stability:"experimental",owners:[...p],tags:["communication","message","list"],description:"List messages for a thread",goal:"Provide ordered message context without loading unrelated operational state",context:"Read-only operation for inboxes, agent context, and handoff evidence"},io:{input:s({name:"ListMessagesInput",fields:{threadId:{type:i.String_unsecure(),isOptional:!1}}}),output:s({name:"ListMessagesOutput",fields:{messages:{type:c,isArray:!0,isOptional:!1}}})},policy:{auth:"user"}});export{q as GetThreadQuery,H as ListMessagesQuery,B as SearchThreadsQuery,P as UpdateThreadStatusCommand};