@leaflow/sdk 0.178.0 → 0.180.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/dist/assistant/v1/generated/functions.d.ts +25 -58
  2. package/dist/assistant/v1/generated/functions.js +16 -54
  3. package/dist/assistant/v1/generated/models.d.ts +3 -105
  4. package/dist/assistant/v1/generated/models.js +0 -25
  5. package/dist/assistant/v1/generated/schemas.zod.d.ts +11 -12
  6. package/dist/assistant/v1/generated/schemas.zod.js +14 -12
  7. package/dist/assistant/v1/generated/validators/answerQuestionRequestBody.zod.d.ts +3 -2
  8. package/dist/assistant/v1/generated/validators/answerQuestionRequestBody.zod.js +3 -2
  9. package/dist/assistant/v1/generated/validators/approvalMode.zod.d.ts +3 -2
  10. package/dist/assistant/v1/generated/validators/approvalMode.zod.js +3 -2
  11. package/dist/assistant/v1/generated/validators/attachmentResource.zod.d.ts +3 -2
  12. package/dist/assistant/v1/generated/validators/attachmentResource.zod.js +3 -2
  13. package/dist/assistant/v1/generated/validators/bindingCodeResponseBody.zod.d.ts +3 -2
  14. package/dist/assistant/v1/generated/validators/bindingCodeResponseBody.zod.js +3 -2
  15. package/dist/assistant/v1/generated/validators/bindingResource.zod.d.ts +3 -2
  16. package/dist/assistant/v1/generated/validators/bindingResource.zod.js +3 -2
  17. package/dist/assistant/v1/generated/validators/channelResource.zod.d.ts +3 -2
  18. package/dist/assistant/v1/generated/validators/channelResource.zod.js +3 -2
  19. package/dist/assistant/v1/generated/validators/channelWithSecretResponseBody.zod.d.ts +3 -2
  20. package/dist/assistant/v1/generated/validators/channelWithSecretResponseBody.zod.js +3 -2
  21. package/dist/assistant/v1/generated/validators/checkSenderParams.zod.d.ts +3 -2
  22. package/dist/assistant/v1/generated/validators/checkSenderParams.zod.js +3 -2
  23. package/dist/assistant/v1/generated/validators/choiceResource.zod.d.ts +3 -2
  24. package/dist/assistant/v1/generated/validators/choiceResource.zod.js +3 -2
  25. package/dist/assistant/v1/generated/validators/clientActionRequest.zod.d.ts +3 -2
  26. package/dist/assistant/v1/generated/validators/clientActionRequest.zod.js +3 -2
  27. package/dist/assistant/v1/generated/validators/clientContextPart.zod.d.ts +3 -2
  28. package/dist/assistant/v1/generated/validators/clientContextPart.zod.js +3 -2
  29. package/dist/assistant/v1/generated/validators/clientContextRequest.zod.d.ts +3 -2
  30. package/dist/assistant/v1/generated/validators/clientContextRequest.zod.js +3 -2
  31. package/dist/assistant/v1/generated/validators/clientFunctionRequest.zod.d.ts +3 -2
  32. package/dist/assistant/v1/generated/validators/clientFunctionRequest.zod.js +3 -2
  33. package/dist/assistant/v1/generated/validators/completeUploadRequestBody.zod.d.ts +3 -2
  34. package/dist/assistant/v1/generated/validators/completeUploadRequestBody.zod.js +3 -2
  35. package/dist/assistant/v1/generated/validators/contextUsageResource.zod.d.ts +3 -2
  36. package/dist/assistant/v1/generated/validators/contextUsageResource.zod.js +3 -2
  37. package/dist/assistant/v1/generated/validators/createChannelRequestBody.zod.d.ts +3 -2
  38. package/dist/assistant/v1/generated/validators/createChannelRequestBody.zod.js +3 -2
  39. package/dist/assistant/v1/generated/validators/createFolderRequestBody.zod.d.ts +3 -2
  40. package/dist/assistant/v1/generated/validators/createFolderRequestBody.zod.js +3 -2
  41. package/dist/assistant/v1/generated/validators/createTaskRequestBody.zod.d.ts +3 -2
  42. package/dist/assistant/v1/generated/validators/createTaskRequestBody.zod.js +3 -2
  43. package/dist/assistant/v1/generated/validators/createThreadRequestBody.zod.d.ts +3 -2
  44. package/dist/assistant/v1/generated/validators/createThreadRequestBody.zod.js +3 -2
  45. package/dist/assistant/v1/generated/validators/createThreadResponseBody.zod.d.ts +3 -2
  46. package/dist/assistant/v1/generated/validators/createThreadResponseBody.zod.js +3 -2
  47. package/dist/assistant/v1/generated/validators/createUploadRequestBody.zod.d.ts +3 -2
  48. package/dist/assistant/v1/generated/validators/createUploadRequestBody.zod.js +3 -2
  49. package/dist/assistant/v1/generated/validators/credentialFieldResource.zod.d.ts +3 -2
  50. package/dist/assistant/v1/generated/validators/credentialFieldResource.zod.js +3 -2
  51. package/dist/assistant/v1/generated/validators/cursorPagination.zod.d.ts +3 -2
  52. package/dist/assistant/v1/generated/validators/cursorPagination.zod.js +3 -2
  53. package/dist/assistant/v1/generated/validators/decideToolCallsRequestBody.zod.d.ts +3 -2
  54. package/dist/assistant/v1/generated/validators/decideToolCallsRequestBody.zod.js +3 -2
  55. package/dist/assistant/v1/generated/validators/defaultModelResource.zod.d.ts +3 -2
  56. package/dist/assistant/v1/generated/validators/defaultModelResource.zod.js +3 -2
  57. package/dist/assistant/v1/generated/validators/error.zod.d.ts +3 -2
  58. package/dist/assistant/v1/generated/validators/error.zod.js +3 -2
  59. package/dist/assistant/v1/generated/validators/errorStatus.zod.d.ts +3 -2
  60. package/dist/assistant/v1/generated/validators/errorStatus.zod.js +3 -2
  61. package/dist/assistant/v1/generated/validators/fieldViolation.zod.d.ts +3 -2
  62. package/dist/assistant/v1/generated/validators/fieldViolation.zod.js +3 -2
  63. package/dist/assistant/v1/generated/validators/fileDiffResource.zod.d.ts +3 -2
  64. package/dist/assistant/v1/generated/validators/fileDiffResource.zod.js +3 -2
  65. package/dist/assistant/v1/generated/validators/folderCountsResource.zod.d.ts +3 -2
  66. package/dist/assistant/v1/generated/validators/folderCountsResource.zod.js +3 -2
  67. package/dist/assistant/v1/generated/validators/folderListResponseBody.zod.d.ts +3 -2
  68. package/dist/assistant/v1/generated/validators/folderListResponseBody.zod.js +3 -2
  69. package/dist/assistant/v1/generated/validators/folderResource.zod.d.ts +3 -2
  70. package/dist/assistant/v1/generated/validators/folderResource.zod.js +3 -2
  71. package/dist/assistant/v1/generated/validators/itemSourceResource.zod.d.ts +3 -2
  72. package/dist/assistant/v1/generated/validators/itemSourceResource.zod.js +3 -2
  73. package/dist/assistant/v1/generated/validators/lastTurnResource.zod.d.ts +3 -2
  74. package/dist/assistant/v1/generated/validators/lastTurnResource.zod.js +3 -2
  75. package/dist/assistant/v1/generated/validators/lengthAwarePageBindingResource.zod.d.ts +3 -2
  76. package/dist/assistant/v1/generated/validators/lengthAwarePageBindingResource.zod.js +3 -2
  77. package/dist/assistant/v1/generated/validators/lengthAwarePageChannelResource.zod.d.ts +3 -2
  78. package/dist/assistant/v1/generated/validators/lengthAwarePageChannelResource.zod.js +3 -2
  79. package/dist/assistant/v1/generated/validators/listBindingsParams.zod.d.ts +3 -2
  80. package/dist/assistant/v1/generated/validators/listBindingsParams.zod.js +3 -2
  81. package/dist/assistant/v1/generated/validators/listChannelRejectionsParams.zod.d.ts +3 -2
  82. package/dist/assistant/v1/generated/validators/listChannelRejectionsParams.zod.js +3 -2
  83. package/dist/assistant/v1/generated/validators/listChannelsParams.zod.d.ts +3 -2
  84. package/dist/assistant/v1/generated/validators/listChannelsParams.zod.js +3 -2
  85. package/dist/assistant/v1/generated/validators/listTaskRunsParams.zod.d.ts +3 -2
  86. package/dist/assistant/v1/generated/validators/listTaskRunsParams.zod.js +3 -2
  87. package/dist/assistant/v1/generated/validators/listThreadItemsParams.zod.d.ts +3 -2
  88. package/dist/assistant/v1/generated/validators/listThreadItemsParams.zod.js +3 -2
  89. package/dist/assistant/v1/generated/validators/listThreadMessagesParams.zod.d.ts +3 -2
  90. package/dist/assistant/v1/generated/validators/listThreadMessagesParams.zod.js +3 -2
  91. package/dist/assistant/v1/generated/validators/listThreadTurnsParams.zod.d.ts +3 -2
  92. package/dist/assistant/v1/generated/validators/listThreadTurnsParams.zod.js +3 -2
  93. package/dist/assistant/v1/generated/validators/loginResource.zod.d.ts +3 -2
  94. package/dist/assistant/v1/generated/validators/loginResource.zod.js +3 -2
  95. package/dist/assistant/v1/generated/validators/memoryListResponseBody.zod.d.ts +3 -2
  96. package/dist/assistant/v1/generated/validators/memoryListResponseBody.zod.js +3 -2
  97. package/dist/assistant/v1/generated/validators/memoryResource.zod.d.ts +3 -2
  98. package/dist/assistant/v1/generated/validators/memoryResource.zod.js +3 -2
  99. package/dist/assistant/v1/generated/validators/messagePart.zod.d.ts +3 -2
  100. package/dist/assistant/v1/generated/validators/messagePart.zod.js +3 -2
  101. package/dist/assistant/v1/generated/validators/moveFolderRequestBody.zod.d.ts +3 -2
  102. package/dist/assistant/v1/generated/validators/moveFolderRequestBody.zod.js +3 -2
  103. package/dist/assistant/v1/generated/validators/offsetPagination.zod.d.ts +3 -2
  104. package/dist/assistant/v1/generated/validators/offsetPagination.zod.js +3 -2
  105. package/dist/assistant/v1/generated/validators/partResource.zod.d.ts +3 -2
  106. package/dist/assistant/v1/generated/validators/partResource.zod.js +3 -2
  107. package/dist/assistant/v1/generated/validators/pendingActionResource.zod.d.ts +3 -2
  108. package/dist/assistant/v1/generated/validators/pendingActionResource.zod.js +3 -2
  109. package/dist/assistant/v1/generated/validators/placeThreadRequestBody.zod.d.ts +3 -2
  110. package/dist/assistant/v1/generated/validators/placeThreadRequestBody.zod.js +3 -2
  111. package/dist/assistant/v1/generated/validators/platformListResponseBody.zod.d.ts +3 -2
  112. package/dist/assistant/v1/generated/validators/platformListResponseBody.zod.js +3 -2
  113. package/dist/assistant/v1/generated/validators/platformResource.zod.d.ts +3 -2
  114. package/dist/assistant/v1/generated/validators/platformResource.zod.js +3 -2
  115. package/dist/assistant/v1/generated/validators/presentationResource.zod.d.ts +3 -2
  116. package/dist/assistant/v1/generated/validators/presentationResource.zod.js +3 -2
  117. package/dist/assistant/v1/generated/validators/putUploadPartHeaders.zod.d.ts +3 -2
  118. package/dist/assistant/v1/generated/validators/putUploadPartHeaders.zod.js +3 -2
  119. package/dist/assistant/v1/generated/validators/putUploadPartParams.zod.d.ts +3 -2
  120. package/dist/assistant/v1/generated/validators/putUploadPartParams.zod.js +3 -2
  121. package/dist/assistant/v1/generated/validators/questionResource.zod.d.ts +3 -2
  122. package/dist/assistant/v1/generated/validators/questionResource.zod.js +3 -2
  123. package/dist/assistant/v1/generated/validators/reasoningEffort.zod.d.ts +3 -2
  124. package/dist/assistant/v1/generated/validators/reasoningEffort.zod.js +3 -2
  125. package/dist/assistant/v1/generated/validators/rejectionListResponseBody.zod.d.ts +3 -2
  126. package/dist/assistant/v1/generated/validators/rejectionListResponseBody.zod.js +3 -2
  127. package/dist/assistant/v1/generated/validators/rejectionResource.zod.d.ts +3 -2
  128. package/dist/assistant/v1/generated/validators/rejectionResource.zod.js +3 -2
  129. package/dist/assistant/v1/generated/validators/resumeThreadRequestBody.zod.d.ts +3 -2
  130. package/dist/assistant/v1/generated/validators/resumeThreadRequestBody.zod.js +3 -2
  131. package/dist/assistant/v1/generated/validators/revertRequestBody.zod.d.ts +3 -2
  132. package/dist/assistant/v1/generated/validators/revertRequestBody.zod.js +3 -2
  133. package/dist/assistant/v1/generated/validators/revertedCountResponseBody.zod.d.ts +3 -2
  134. package/dist/assistant/v1/generated/validators/revertedCountResponseBody.zod.js +3 -2
  135. package/dist/assistant/v1/generated/validators/rotateSecretRequestBody.zod.d.ts +3 -2
  136. package/dist/assistant/v1/generated/validators/rotateSecretRequestBody.zod.js +3 -2
  137. package/dist/assistant/v1/generated/validators/searchTasksRequestBody.zod.d.ts +3 -2
  138. package/dist/assistant/v1/generated/validators/searchTasksRequestBody.zod.js +3 -2
  139. package/dist/assistant/v1/generated/validators/searchThreadsRequestBody.zod.d.ts +3 -2
  140. package/dist/assistant/v1/generated/validators/searchThreadsRequestBody.zod.js +3 -2
  141. package/dist/assistant/v1/generated/validators/sendMessageRequestBody.zod.d.ts +3 -2
  142. package/dist/assistant/v1/generated/validators/sendMessageRequestBody.zod.js +3 -2
  143. package/dist/assistant/v1/generated/validators/sendMessageResponseBody.zod.d.ts +3 -2
  144. package/dist/assistant/v1/generated/validators/sendMessageResponseBody.zod.js +3 -2
  145. package/dist/assistant/v1/generated/validators/senderCheckResource.zod.d.ts +3 -2
  146. package/dist/assistant/v1/generated/validators/senderCheckResource.zod.js +3 -2
  147. package/dist/assistant/v1/generated/validators/settingsResource.zod.d.ts +3 -2
  148. package/dist/assistant/v1/generated/validators/settingsResource.zod.js +3 -2
  149. package/dist/assistant/v1/generated/validators/skillEnabledRequestBody.zod.d.ts +3 -2
  150. package/dist/assistant/v1/generated/validators/skillEnabledRequestBody.zod.js +3 -2
  151. package/dist/assistant/v1/generated/validators/skillListResponseBody.zod.d.ts +3 -2
  152. package/dist/assistant/v1/generated/validators/skillListResponseBody.zod.js +3 -2
  153. package/dist/assistant/v1/generated/validators/skillRequestBody.zod.d.ts +3 -2
  154. package/dist/assistant/v1/generated/validators/skillRequestBody.zod.js +3 -2
  155. package/dist/assistant/v1/generated/validators/skillResource.zod.d.ts +3 -2
  156. package/dist/assistant/v1/generated/validators/skillResource.zod.js +3 -2
  157. package/dist/assistant/v1/generated/validators/subagentCountResource.zod.d.ts +3 -2
  158. package/dist/assistant/v1/generated/validators/subagentCountResource.zod.js +3 -2
  159. package/dist/assistant/v1/generated/validators/taskAction.zod.d.ts +3 -2
  160. package/dist/assistant/v1/generated/validators/taskAction.zod.js +3 -2
  161. package/dist/assistant/v1/generated/validators/taskListResponseBody.zod.d.ts +3 -2
  162. package/dist/assistant/v1/generated/validators/taskListResponseBody.zod.js +3 -2
  163. package/dist/assistant/v1/generated/validators/taskResource.zod.d.ts +3 -2
  164. package/dist/assistant/v1/generated/validators/taskResource.zod.js +3 -2
  165. package/dist/assistant/v1/generated/validators/taskRunListResponseBody.zod.d.ts +3 -2
  166. package/dist/assistant/v1/generated/validators/taskRunListResponseBody.zod.js +3 -2
  167. package/dist/assistant/v1/generated/validators/taskRunResource.zod.d.ts +3 -2
  168. package/dist/assistant/v1/generated/validators/taskRunResource.zod.js +3 -2
  169. package/dist/assistant/v1/generated/validators/taskTrigger.zod.d.ts +3 -2
  170. package/dist/assistant/v1/generated/validators/taskTrigger.zod.js +3 -2
  171. package/dist/assistant/v1/generated/validators/threadCountsResource.zod.d.ts +3 -2
  172. package/dist/assistant/v1/generated/validators/threadCountsResource.zod.js +3 -2
  173. package/dist/assistant/v1/generated/validators/threadItemListResponseBody.zod.d.ts +3 -2
  174. package/dist/assistant/v1/generated/validators/threadItemListResponseBody.zod.js +3 -2
  175. package/dist/assistant/v1/generated/validators/threadItemResource.zod.d.ts +3 -2
  176. package/dist/assistant/v1/generated/validators/threadItemResource.zod.js +3 -2
  177. package/dist/assistant/v1/generated/validators/threadListResponseBody.zod.d.ts +3 -2
  178. package/dist/assistant/v1/generated/validators/threadListResponseBody.zod.js +3 -2
  179. package/dist/assistant/v1/generated/validators/threadMessageListResponseBody.zod.d.ts +3 -2
  180. package/dist/assistant/v1/generated/validators/threadMessageListResponseBody.zod.js +3 -2
  181. package/dist/assistant/v1/generated/validators/threadMessageResource.zod.d.ts +3 -2
  182. package/dist/assistant/v1/generated/validators/threadMessageResource.zod.js +3 -2
  183. package/dist/assistant/v1/generated/validators/threadResource.zod.d.ts +3 -2
  184. package/dist/assistant/v1/generated/validators/threadResource.zod.js +3 -2
  185. package/dist/assistant/v1/generated/validators/threadStatus.zod.d.ts +3 -2
  186. package/dist/assistant/v1/generated/validators/threadStatus.zod.js +3 -2
  187. package/dist/assistant/v1/generated/validators/threadTurnListResponseBody.zod.d.ts +3 -2
  188. package/dist/assistant/v1/generated/validators/threadTurnListResponseBody.zod.js +3 -2
  189. package/dist/assistant/v1/generated/validators/threadTurnResource.zod.d.ts +3 -2
  190. package/dist/assistant/v1/generated/validators/threadTurnResource.zod.js +3 -2
  191. package/dist/assistant/v1/generated/validators/todoResource.zod.d.ts +3 -2
  192. package/dist/assistant/v1/generated/validators/todoResource.zod.js +3 -2
  193. package/dist/assistant/v1/generated/validators/toolCallResource.zod.d.ts +3 -2
  194. package/dist/assistant/v1/generated/validators/toolCallResource.zod.js +3 -2
  195. package/dist/assistant/v1/generated/validators/toolResultRequestBody.zod.d.ts +3 -2
  196. package/dist/assistant/v1/generated/validators/toolResultRequestBody.zod.js +3 -2
  197. package/dist/assistant/v1/generated/validators/turnStartedResponseBody.zod.d.ts +3 -2
  198. package/dist/assistant/v1/generated/validators/turnStartedResponseBody.zod.js +3 -2
  199. package/dist/assistant/v1/generated/validators/turnStatus.zod.d.ts +3 -2
  200. package/dist/assistant/v1/generated/validators/turnStatus.zod.js +3 -2
  201. package/dist/assistant/v1/generated/validators/turnType.zod.d.ts +3 -2
  202. package/dist/assistant/v1/generated/validators/turnType.zod.js +3 -2
  203. package/dist/assistant/v1/generated/validators/updateChannelRequestBody.zod.d.ts +3 -2
  204. package/dist/assistant/v1/generated/validators/updateChannelRequestBody.zod.js +3 -2
  205. package/dist/assistant/v1/generated/validators/updateFolderRequestBody.zod.d.ts +3 -2
  206. package/dist/assistant/v1/generated/validators/updateFolderRequestBody.zod.js +3 -2
  207. package/dist/assistant/v1/generated/validators/updateSettingsRequestBody.zod.d.ts +3 -2
  208. package/dist/assistant/v1/generated/validators/updateSettingsRequestBody.zod.js +3 -2
  209. package/dist/assistant/v1/generated/validators/updateTaskRequestBody.zod.d.ts +3 -2
  210. package/dist/assistant/v1/generated/validators/updateTaskRequestBody.zod.js +3 -2
  211. package/dist/assistant/v1/generated/validators/updateThreadRequestBody.zod.d.ts +3 -2
  212. package/dist/assistant/v1/generated/validators/updateThreadRequestBody.zod.js +3 -2
  213. package/dist/assistant/v1/generated/validators/updateUploadRequestBody.zod.d.ts +3 -2
  214. package/dist/assistant/v1/generated/validators/updateUploadRequestBody.zod.js +3 -2
  215. package/dist/assistant/v1/generated/validators/uploadAttachmentParams.zod.d.ts +3 -2
  216. package/dist/assistant/v1/generated/validators/uploadAttachmentParams.zod.js +3 -2
  217. package/dist/assistant/v1/generated/validators/uploadConfigurationResource.zod.d.ts +3 -2
  218. package/dist/assistant/v1/generated/validators/uploadConfigurationResource.zod.js +3 -2
  219. package/dist/assistant/v1/generated/validators/uploadListResponseBody.zod.d.ts +3 -2
  220. package/dist/assistant/v1/generated/validators/uploadListResponseBody.zod.js +3 -2
  221. package/dist/assistant/v1/generated/validators/uploadPartResource.zod.d.ts +3 -2
  222. package/dist/assistant/v1/generated/validators/uploadPartResource.zod.js +3 -2
  223. package/dist/assistant/v1/generated/validators/uploadResource.zod.d.ts +3 -2
  224. package/dist/assistant/v1/generated/validators/uploadResource.zod.js +3 -2
  225. package/dist/assistant/v1/generated/validators/uploadedResource.zod.d.ts +3 -2
  226. package/dist/assistant/v1/generated/validators/uploadedResource.zod.js +3 -2
  227. package/dist/assistant/v1/generated/validators/usage.zod.d.ts +3 -2
  228. package/dist/assistant/v1/generated/validators/usage.zod.js +3 -2
  229. package/dist/assistant/v1/generated/validators/verifyCodeRequestBody.zod.d.ts +3 -2
  230. package/dist/assistant/v1/generated/validators/verifyCodeRequestBody.zod.js +3 -2
  231. package/dist/assistant/v1/generated/validators/webhookSecretResponseBody.zod.d.ts +3 -2
  232. package/dist/assistant/v1/generated/validators/webhookSecretResponseBody.zod.js +3 -2
  233. package/dist/eventbus/v1/generated/functions.d.ts +318 -41
  234. package/dist/eventbus/v1/generated/functions.js +203 -16
  235. package/dist/eventbus/v1/generated/models.d.ts +217 -26
  236. package/dist/eventbus/v1/generated/models.js +4 -0
  237. package/dist/eventbus/v1/generated/schemas.zod.d.ts +163 -30
  238. package/dist/eventbus/v1/generated/schemas.zod.js +175 -32
  239. package/dist/eventbus/v1/generated/validators/createEventRequest.zod.d.ts +59 -14
  240. package/dist/eventbus/v1/generated/validators/createEventRequest.zod.js +59 -14
  241. package/dist/eventbus/v1/generated/validators/createNamespaceRequest.zod.d.ts +94 -0
  242. package/dist/eventbus/v1/generated/validators/createNamespaceRequest.zod.js +99 -0
  243. package/dist/eventbus/v1/generated/validators/createVersionRequest.zod.d.ts +59 -14
  244. package/dist/eventbus/v1/generated/validators/createVersionRequest.zod.js +59 -14
  245. package/dist/eventbus/v1/generated/validators/cursorPagination.zod.d.ts +59 -14
  246. package/dist/eventbus/v1/generated/validators/cursorPagination.zod.js +59 -14
  247. package/dist/eventbus/v1/generated/validators/error.zod.d.ts +59 -14
  248. package/dist/eventbus/v1/generated/validators/error.zod.js +59 -14
  249. package/dist/eventbus/v1/generated/validators/errorStatus.zod.d.ts +59 -14
  250. package/dist/eventbus/v1/generated/validators/errorStatus.zod.js +59 -14
  251. package/dist/eventbus/v1/generated/validators/eventDetail.zod.d.ts +61 -14
  252. package/dist/eventbus/v1/generated/validators/eventDetail.zod.js +68 -15
  253. package/dist/eventbus/v1/generated/validators/eventList.zod.d.ts +60 -14
  254. package/dist/eventbus/v1/generated/validators/eventList.zod.js +59 -14
  255. package/dist/eventbus/v1/generated/validators/eventMessage.zod.d.ts +99 -0
  256. package/dist/eventbus/v1/generated/validators/eventMessage.zod.js +104 -0
  257. package/dist/eventbus/v1/generated/validators/eventResource.zod.d.ts +61 -14
  258. package/dist/eventbus/v1/generated/validators/eventResource.zod.js +68 -15
  259. package/dist/eventbus/v1/generated/validators/eventStatus.zod.d.ts +59 -14
  260. package/dist/eventbus/v1/generated/validators/eventStatus.zod.js +59 -14
  261. package/dist/eventbus/v1/generated/validators/eventVersion.zod.d.ts +59 -14
  262. package/dist/eventbus/v1/generated/validators/eventVersion.zod.js +59 -14
  263. package/dist/eventbus/v1/generated/validators/fieldViolation.zod.d.ts +59 -14
  264. package/dist/eventbus/v1/generated/validators/fieldViolation.zod.js +59 -14
  265. package/dist/eventbus/v1/generated/validators/listEventsParams.zod.d.ts +59 -14
  266. package/dist/eventbus/v1/generated/validators/listEventsParams.zod.js +59 -14
  267. package/dist/eventbus/v1/generated/validators/listNamespacesParams.zod.d.ts +98 -0
  268. package/dist/eventbus/v1/generated/validators/listNamespacesParams.zod.js +100 -0
  269. package/dist/eventbus/v1/generated/validators/namespaceList.zod.d.ts +103 -0
  270. package/dist/eventbus/v1/generated/validators/namespaceList.zod.js +95 -0
  271. package/dist/eventbus/v1/generated/validators/namespaceResource.zod.d.ts +99 -0
  272. package/dist/eventbus/v1/generated/validators/namespaceResource.zod.js +101 -0
  273. package/dist/eventbus/v1/generated/validators/namespaceStatus.zod.d.ts +90 -0
  274. package/dist/eventbus/v1/generated/validators/namespaceStatus.zod.js +87 -0
  275. package/dist/eventbus/v1/generated/validators/offsetPagination.zod.d.ts +59 -14
  276. package/dist/eventbus/v1/generated/validators/offsetPagination.zod.js +59 -14
  277. package/dist/eventbus/v1/generated/validators/publication.zod.d.ts +98 -0
  278. package/dist/eventbus/v1/generated/validators/publication.zod.js +111 -0
  279. package/dist/eventbus/v1/generated/validators/publishRequest.zod.d.ts +69 -20
  280. package/dist/eventbus/v1/generated/validators/publishRequest.zod.js +66 -27
  281. package/dist/eventbus/v1/generated/validators/publishResponse.zod.d.ts +65 -18
  282. package/dist/eventbus/v1/generated/validators/publishResponse.zod.js +63 -20
  283. package/dist/eventbus/v1/generated/validators/publishedMessage.zod.d.ts +92 -0
  284. package/dist/eventbus/v1/generated/validators/publishedMessage.zod.js +92 -0
  285. package/dist/eventbus/v1/generated/validators/realtimeTicket.zod.d.ts +61 -15
  286. package/dist/eventbus/v1/generated/validators/realtimeTicket.zod.js +69 -17
  287. package/dist/eventbus/v1/generated/validators/realtimeTicketRequest.zod.d.ts +91 -0
  288. package/dist/eventbus/v1/generated/validators/realtimeTicketRequest.zod.js +93 -0
  289. package/dist/eventbus/v1/generated/validators/updateEventRequest.zod.d.ts +59 -14
  290. package/dist/eventbus/v1/generated/validators/updateEventRequest.zod.js +59 -14
  291. package/dist/eventbus/v1/generated/validators/updateNamespaceRequest.zod.d.ts +94 -0
  292. package/dist/eventbus/v1/generated/validators/updateNamespaceRequest.zod.js +90 -0
  293. package/dist/iam/v1/generated/models.d.ts +6 -0
  294. package/dist/iam/v1/generated/schemas.zod.d.ts +2 -0
  295. package/dist/iam/v1/generated/validators/applicationResource.zod.d.ts +1 -0
  296. package/dist/iam/v1/generated/validators/applicationResource.zod.js +3 -0
  297. package/dist/iam/v1/generated/validators/createApplicationRequestBody.zod.d.ts +1 -0
  298. package/dist/iam/v1/generated/validators/createApplicationRequestBody.zod.js +4 -0
  299. package/dist/iam/v1/generated/validators/createApplicationResponseBody.zod.d.ts +1 -0
  300. package/dist/iam/v1/generated/validators/lengthAwarePageApplicationResource.zod.d.ts +1 -0
  301. package/dist/iam/v1/generated/validators/updateApplicationRequestBody.zod.d.ts +1 -0
  302. package/dist/iam/v1/generated/validators/updateApplicationRequestBody.zod.js +4 -0
  303. package/dist/notification/v1/generated/functions.d.ts +3 -58
  304. package/dist/notification/v1/generated/functions.js +2 -64
  305. package/dist/notification/v1/generated/models.d.ts +0 -47
  306. package/dist/notification/v1/generated/schemas.zod.d.ts +2 -17
  307. package/dist/notification/v1/generated/schemas.zod.js +2 -15
  308. package/dist/routes.d.ts +58 -34
  309. package/dist/routes.js +65 -38
  310. package/package.json +1 -1
  311. package/dist/assistant/v1/generated/validators/itemFrame.zod.d.ts +0 -36
  312. package/dist/assistant/v1/generated/validators/itemFrame.zod.js +0 -32
  313. package/dist/assistant/v1/generated/validators/openRealtimeParams.zod.d.ts +0 -31
  314. package/dist/assistant/v1/generated/validators/openRealtimeParams.zod.js +0 -29
  315. package/dist/assistant/v1/generated/validators/realtimeClientMessage.zod.d.ts +0 -38
  316. package/dist/assistant/v1/generated/validators/realtimeClientMessage.zod.js +0 -42
  317. package/dist/assistant/v1/generated/validators/realtimeExchange.zod.d.ts +0 -285
  318. package/dist/assistant/v1/generated/validators/realtimeExchange.zod.js +0 -33
  319. package/dist/assistant/v1/generated/validators/realtimeServerMessage.zod.d.ts +0 -274
  320. package/dist/assistant/v1/generated/validators/realtimeServerMessage.zod.js +0 -64
  321. package/dist/assistant/v1/generated/validators/realtimeTicketResource.zod.d.ts +0 -32
  322. package/dist/assistant/v1/generated/validators/realtimeTicketResource.zod.js +0 -30
  323. package/dist/notification/v1/generated/validators/authorizeRealtimeChannelRequestBody.zod.d.ts +0 -70
  324. package/dist/notification/v1/generated/validators/authorizeRealtimeChannelRequestBody.zod.js +0 -76
  325. package/dist/notification/v1/generated/validators/realtimeAuthResource.zod.d.ts +0 -67
  326. package/dist/notification/v1/generated/validators/realtimeAuthResource.zod.js +0 -67
  327. package/dist/notification/v1/generated/validators/realtimeConnectionResource.zod.d.ts +0 -76
  328. package/dist/notification/v1/generated/validators/realtimeConnectionResource.zod.js +0 -88
@@ -4,20 +4,18 @@
4
4
  * Leaflow Event Bus API
5
5
  * Event definitions, versions, publishing, and realtime access.
6
6
  *
7
- * ## Authentication
8
- *
9
- * Every request carries a scoped token; see the `bearerAuth` security scheme. Neither the path
10
- * nor the headers carry a `project_id`: the current project is determined by the token.
11
- *
12
7
  * ## Definitions and messages
13
8
  *
14
9
  * An event is a definition: a name, a description, and one or more versions. A version carries a
15
10
  * JSON Schema that every published payload must satisfy. Messages are not stored here and are
16
11
  * not part of the event definition.
17
12
  *
18
- * A project event belongs to the current project. A global event has no `project_id`; it is
19
- * defined by a platform service and is read-only in this API. Global events are listed alongside
20
- * the project's own events.
13
+ * Every event belongs to a namespace, and its name is the namespace's name, a dot, and at least a
14
+ * resource and an action, such as `acme.order.created`. A project creates its own namespaces and
15
+ * defines events in them. Platform namespaces, such as `leaflow.notification`, are maintained by
16
+ * platform services: their events are listed alongside the project's own and can be subscribed
17
+ * to, but cannot be changed or published here, and the namespaces cannot be changed or deleted.
18
+ * Events in a platform namespace are called platform events below.
21
19
  *
22
20
  * A version number never changes meaning. Adding optional properties is allowed within a version;
23
21
  * a breaking change creates a new version. Publishing without a version uses the highest active
@@ -25,31 +23,72 @@
25
23
  *
26
24
  * ## Publishing
27
25
  *
28
- * Publishing returns the identity of the message and does not wait for consumers. Messages are
29
- * not stored and are not replayed: a consumer that connects later does not receive earlier
30
- * messages. Consumers receive messages through the realtime API or the platform's service API.
26
+ * Messages are published in batches of up to 64. A batch is validated as a whole: if any message
27
+ * is rejected, none is published. Publishing returns the identity of each message and does not
28
+ * wait for consumers. Messages are not stored and are not replayed: a consumer that connects
29
+ * later does not receive earlier messages.
30
+ *
31
+ * Messages published through this API are sent to the current project. A message may name one
32
+ * `subject`, a member of the project; it is then sent to that member only. Without a subject it is
33
+ * sent to every member of the project.
34
+ *
35
+ * Every publication names a `client_id`. It starts with the prefix returned with a realtime
36
+ * ticket, `user.{user_id}.project.{project_id}.`, followed by one segment chosen by the
37
+ * client, such as a random identifier per browser tab. Receivers get it unchanged, so a client
38
+ * can recognise its own messages. A client ID does not need to be unique: several connections
39
+ * may share one.
31
40
  *
32
41
  * ## Realtime
33
42
  *
34
- * Create a ticket, connect to the returned URL with the ticket, and authenticate the connection
35
- * with a scoped token. A ticket is single-use and short-lived. The connection ends when the
36
- * token expires unless it is refreshed with a new scoped token for the same user and project.
43
+ * Every message has a topic `{event}/{project_id|-}/{subject|-}/{key levels}`, where `-` stands
44
+ * for a missing recipient and the key, split at `/`, supplies the remaining levels. A topic filter
45
+ * uses `+` to match exactly one level and `#`, only as the last level, to match that level and
46
+ * every level below it, including none. For example, `{event}/{project_id}/-/#` matches every
47
+ * message sent to the members of a project, and `{event}/-/{user_id}/#` every message sent to one
48
+ * person outside any project.
49
+ *
50
+ * 1. Create a ticket with `POST /api/v1/realtime/tickets`, naming the events to receive. The
51
+ * response lists the topic filters the ticket covers and the `client_id_prefix` to use. For a
52
+ * platform event they cover messages sent to the caller, messages sent to no recipient and,
53
+ * where the caller's permissions allow, messages sent within the project; for a project event
54
+ * they cover messages sent within the project. Without a selected project, use
55
+ * `POST /api/v1/account/realtime/tickets`; such a ticket covers only messages sent to the
56
+ * caller or to no recipient, and cannot publish.
57
+ * 2. Open a WebSocket to `wss://eventbus.leaflow.cloud/realtime` and send, within 15 seconds:
58
+ * `{"type":"authenticate","ticket":"…","client_id":"…"}`. The reply is
59
+ * `{"type":"authenticated","client_id":"…","connection_id":"…","expires_at":"…"}`.
60
+ * `connection_id` identifies this connection; it is assigned by EventBus and changes on
61
+ * every reconnection.
62
+ * 3. Send `{"type":"subscribe","id":"…","topics":[…]}`. Each topic must be one of the returned
63
+ * `topics` or lie within one of them, for example by naming a key level where the ticket has
64
+ * `#`; a batch with any other topic is rejected as a whole. The reply is `subscribed`.
65
+ * `unsubscribe` takes the same form and replies `unsubscribed`. Both may be sent at any time
66
+ * while the connection is open.
67
+ * 4. Messages arrive as `{"type":"messages","messages":[…]}`, each element an `EventMessage`. A
68
+ * message matching several subscriptions on one connection arrives once for each of them.
69
+ * 5. A connection may switch to another ticket of the same user at any time by sending
70
+ * `authenticate` again: to renew before `expires_at`, to move from an account ticket to a
71
+ * project ticket, or to move to another project. `client_id` may be omitted while the
72
+ * `client_id_prefix` stays the same; when it changes, a client ID under the new prefix is
73
+ * required. Subscriptions the new ticket does not cover are removed at once and reported in a
74
+ * `{"type":"revoked","topics":[…]}` frame. A ticket for another user closes the connection
75
+ * with code 4401, as does letting the ticket expire.
76
+ *
77
+ * A connection holding a project ticket may publish the project's own events with
78
+ * `{"type":"publish","id":"…","messages":[{"event":"…","key":"…","subject":"…","data":{…}}]}`;
79
+ * the reply is `published` with the identity of each message. `ping` is answered with `pong`.
80
+ * A rejected request is answered with `{"type":"error","id":"…","code":"…","message":"…"}`.
81
+ * Every reply carries the `id` of the request it answers.
37
82
  * OpenAPI spec version: 1.0.0
38
83
  */
39
84
  import * as zod from "zod";
40
- export const publishRequestVersionDefault = 0;
41
- export const publishRequestVersionMin = 0;
42
- export const publishRequestKeyMax = 256;
85
+ import { Publication } from "./publication.zod.js";
86
+ export const publishRequestClientIdMax = 192;
87
+ export const publishRequestMessagesMax = 64;
43
88
  export const PublishRequest = zod.strictObject({
44
- version: zod
45
- .int()
46
- .min(publishRequestVersionMin)
47
- .default(publishRequestVersionDefault)
48
- .describe("The version to validate against; zero selects the highest active version"),
49
- key: zod
89
+ client_id: zod
50
90
  .string()
51
- .max(publishRequestKeyMax)
52
- .optional()
53
- .describe("The ordering key. Messages with the same key reach an individual consumer in publication\norder. Defaults to the project id when absent."),
54
- data: zod.record(zod.string(), zod.unknown()).describe("The message payload"),
91
+ .max(publishRequestClientIdMax)
92
+ .describe("The publishing client: the caller's prefix, `user.{user_id}.project.{project_id}.`,\nfollowed by one segment of up to 64 letters, digits, hyphens or underscores"),
93
+ messages: zod.array(Publication).min(1).max(publishRequestMessagesMax),
55
94
  });
@@ -4,20 +4,18 @@
4
4
  * Leaflow Event Bus API
5
5
  * Event definitions, versions, publishing, and realtime access.
6
6
  *
7
- * ## Authentication
8
- *
9
- * Every request carries a scoped token; see the `bearerAuth` security scheme. Neither the path
10
- * nor the headers carry a `project_id`: the current project is determined by the token.
11
- *
12
7
  * ## Definitions and messages
13
8
  *
14
9
  * An event is a definition: a name, a description, and one or more versions. A version carries a
15
10
  * JSON Schema that every published payload must satisfy. Messages are not stored here and are
16
11
  * not part of the event definition.
17
12
  *
18
- * A project event belongs to the current project. A global event has no `project_id`; it is
19
- * defined by a platform service and is read-only in this API. Global events are listed alongside
20
- * the project's own events.
13
+ * Every event belongs to a namespace, and its name is the namespace's name, a dot, and at least a
14
+ * resource and an action, such as `acme.order.created`. A project creates its own namespaces and
15
+ * defines events in them. Platform namespaces, such as `leaflow.notification`, are maintained by
16
+ * platform services: their events are listed alongside the project's own and can be subscribed
17
+ * to, but cannot be changed or published here, and the namespaces cannot be changed or deleted.
18
+ * Events in a platform namespace are called platform events below.
21
19
  *
22
20
  * A version number never changes meaning. Adding optional properties is allowed within a version;
23
21
  * a breaking change creates a new version. Publishing without a version uses the highest active
@@ -25,23 +23,72 @@
25
23
  *
26
24
  * ## Publishing
27
25
  *
28
- * Publishing returns the identity of the message and does not wait for consumers. Messages are
29
- * not stored and are not replayed: a consumer that connects later does not receive earlier
30
- * messages. Consumers receive messages through the realtime API or the platform's service API.
26
+ * Messages are published in batches of up to 64. A batch is validated as a whole: if any message
27
+ * is rejected, none is published. Publishing returns the identity of each message and does not
28
+ * wait for consumers. Messages are not stored and are not replayed: a consumer that connects
29
+ * later does not receive earlier messages.
30
+ *
31
+ * Messages published through this API are sent to the current project. A message may name one
32
+ * `subject`, a member of the project; it is then sent to that member only. Without a subject it is
33
+ * sent to every member of the project.
34
+ *
35
+ * Every publication names a `client_id`. It starts with the prefix returned with a realtime
36
+ * ticket, `user.{user_id}.project.{project_id}.`, followed by one segment chosen by the
37
+ * client, such as a random identifier per browser tab. Receivers get it unchanged, so a client
38
+ * can recognise its own messages. A client ID does not need to be unique: several connections
39
+ * may share one.
31
40
  *
32
41
  * ## Realtime
33
42
  *
34
- * Create a ticket, connect to the returned URL with the ticket, and authenticate the connection
35
- * with a scoped token. A ticket is single-use and short-lived. The connection ends when the
36
- * token expires unless it is refreshed with a new scoped token for the same user and project.
43
+ * Every message has a topic `{event}/{project_id|-}/{subject|-}/{key levels}`, where `-` stands
44
+ * for a missing recipient and the key, split at `/`, supplies the remaining levels. A topic filter
45
+ * uses `+` to match exactly one level and `#`, only as the last level, to match that level and
46
+ * every level below it, including none. For example, `{event}/{project_id}/-/#` matches every
47
+ * message sent to the members of a project, and `{event}/-/{user_id}/#` every message sent to one
48
+ * person outside any project.
49
+ *
50
+ * 1. Create a ticket with `POST /api/v1/realtime/tickets`, naming the events to receive. The
51
+ * response lists the topic filters the ticket covers and the `client_id_prefix` to use. For a
52
+ * platform event they cover messages sent to the caller, messages sent to no recipient and,
53
+ * where the caller's permissions allow, messages sent within the project; for a project event
54
+ * they cover messages sent within the project. Without a selected project, use
55
+ * `POST /api/v1/account/realtime/tickets`; such a ticket covers only messages sent to the
56
+ * caller or to no recipient, and cannot publish.
57
+ * 2. Open a WebSocket to `wss://eventbus.leaflow.cloud/realtime` and send, within 15 seconds:
58
+ * `{"type":"authenticate","ticket":"…","client_id":"…"}`. The reply is
59
+ * `{"type":"authenticated","client_id":"…","connection_id":"…","expires_at":"…"}`.
60
+ * `connection_id` identifies this connection; it is assigned by EventBus and changes on
61
+ * every reconnection.
62
+ * 3. Send `{"type":"subscribe","id":"…","topics":[…]}`. Each topic must be one of the returned
63
+ * `topics` or lie within one of them, for example by naming a key level where the ticket has
64
+ * `#`; a batch with any other topic is rejected as a whole. The reply is `subscribed`.
65
+ * `unsubscribe` takes the same form and replies `unsubscribed`. Both may be sent at any time
66
+ * while the connection is open.
67
+ * 4. Messages arrive as `{"type":"messages","messages":[…]}`, each element an `EventMessage`. A
68
+ * message matching several subscriptions on one connection arrives once for each of them.
69
+ * 5. A connection may switch to another ticket of the same user at any time by sending
70
+ * `authenticate` again: to renew before `expires_at`, to move from an account ticket to a
71
+ * project ticket, or to move to another project. `client_id` may be omitted while the
72
+ * `client_id_prefix` stays the same; when it changes, a client ID under the new prefix is
73
+ * required. Subscriptions the new ticket does not cover are removed at once and reported in a
74
+ * `{"type":"revoked","topics":[…]}` frame. A ticket for another user closes the connection
75
+ * with code 4401, as does letting the ticket expire.
76
+ *
77
+ * A connection holding a project ticket may publish the project's own events with
78
+ * `{"type":"publish","id":"…","messages":[{"event":"…","key":"…","subject":"…","data":{…}}]}`;
79
+ * the reply is `published` with the identity of each message. `ping` is answered with `pong`.
80
+ * A rejected request is answered with `{"type":"error","id":"…","code":"…","message":"…"}`.
81
+ * Every reply carries the `id` of the request it answers.
37
82
  * OpenAPI spec version: 1.0.0
38
83
  */
39
84
  import * as zod from "zod";
40
85
  export declare const PublishResponse: zod.ZodObject<{
41
- id: zod.ZodUUID;
42
- event: zod.ZodString;
43
- version: zod.ZodInt;
44
- created_at: zod.z.ZodISODateTime;
86
+ messages: zod.ZodArray<zod.ZodObject<{
87
+ id: zod.ZodUUID;
88
+ event: zod.ZodString;
89
+ version: zod.ZodInt;
90
+ created_at: zod.z.ZodISODateTime;
91
+ }, zod.z.core.$strict>>;
45
92
  }, zod.z.core.$strict>;
46
93
  export type PublishResponse = zod.input<typeof PublishResponse>;
47
94
  export type PublishResponseOutput = zod.output<typeof PublishResponse>;
@@ -4,20 +4,18 @@
4
4
  * Leaflow Event Bus API
5
5
  * Event definitions, versions, publishing, and realtime access.
6
6
  *
7
- * ## Authentication
8
- *
9
- * Every request carries a scoped token; see the `bearerAuth` security scheme. Neither the path
10
- * nor the headers carry a `project_id`: the current project is determined by the token.
11
- *
12
7
  * ## Definitions and messages
13
8
  *
14
9
  * An event is a definition: a name, a description, and one or more versions. A version carries a
15
10
  * JSON Schema that every published payload must satisfy. Messages are not stored here and are
16
11
  * not part of the event definition.
17
12
  *
18
- * A project event belongs to the current project. A global event has no `project_id`; it is
19
- * defined by a platform service and is read-only in this API. Global events are listed alongside
20
- * the project's own events.
13
+ * Every event belongs to a namespace, and its name is the namespace's name, a dot, and at least a
14
+ * resource and an action, such as `acme.order.created`. A project creates its own namespaces and
15
+ * defines events in them. Platform namespaces, such as `leaflow.notification`, are maintained by
16
+ * platform services: their events are listed alongside the project's own and can be subscribed
17
+ * to, but cannot be changed or published here, and the namespaces cannot be changed or deleted.
18
+ * Events in a platform namespace are called platform events below.
21
19
  *
22
20
  * A version number never changes meaning. Adding optional properties is allowed within a version;
23
21
  * a breaking change creates a new version. Publishing without a version uses the highest active
@@ -25,23 +23,68 @@
25
23
  *
26
24
  * ## Publishing
27
25
  *
28
- * Publishing returns the identity of the message and does not wait for consumers. Messages are
29
- * not stored and are not replayed: a consumer that connects later does not receive earlier
30
- * messages. Consumers receive messages through the realtime API or the platform's service API.
26
+ * Messages are published in batches of up to 64. A batch is validated as a whole: if any message
27
+ * is rejected, none is published. Publishing returns the identity of each message and does not
28
+ * wait for consumers. Messages are not stored and are not replayed: a consumer that connects
29
+ * later does not receive earlier messages.
30
+ *
31
+ * Messages published through this API are sent to the current project. A message may name one
32
+ * `subject`, a member of the project; it is then sent to that member only. Without a subject it is
33
+ * sent to every member of the project.
34
+ *
35
+ * Every publication names a `client_id`. It starts with the prefix returned with a realtime
36
+ * ticket, `user.{user_id}.project.{project_id}.`, followed by one segment chosen by the
37
+ * client, such as a random identifier per browser tab. Receivers get it unchanged, so a client
38
+ * can recognise its own messages. A client ID does not need to be unique: several connections
39
+ * may share one.
31
40
  *
32
41
  * ## Realtime
33
42
  *
34
- * Create a ticket, connect to the returned URL with the ticket, and authenticate the connection
35
- * with a scoped token. A ticket is single-use and short-lived. The connection ends when the
36
- * token expires unless it is refreshed with a new scoped token for the same user and project.
43
+ * Every message has a topic `{event}/{project_id|-}/{subject|-}/{key levels}`, where `-` stands
44
+ * for a missing recipient and the key, split at `/`, supplies the remaining levels. A topic filter
45
+ * uses `+` to match exactly one level and `#`, only as the last level, to match that level and
46
+ * every level below it, including none. For example, `{event}/{project_id}/-/#` matches every
47
+ * message sent to the members of a project, and `{event}/-/{user_id}/#` every message sent to one
48
+ * person outside any project.
49
+ *
50
+ * 1. Create a ticket with `POST /api/v1/realtime/tickets`, naming the events to receive. The
51
+ * response lists the topic filters the ticket covers and the `client_id_prefix` to use. For a
52
+ * platform event they cover messages sent to the caller, messages sent to no recipient and,
53
+ * where the caller's permissions allow, messages sent within the project; for a project event
54
+ * they cover messages sent within the project. Without a selected project, use
55
+ * `POST /api/v1/account/realtime/tickets`; such a ticket covers only messages sent to the
56
+ * caller or to no recipient, and cannot publish.
57
+ * 2. Open a WebSocket to `wss://eventbus.leaflow.cloud/realtime` and send, within 15 seconds:
58
+ * `{"type":"authenticate","ticket":"…","client_id":"…"}`. The reply is
59
+ * `{"type":"authenticated","client_id":"…","connection_id":"…","expires_at":"…"}`.
60
+ * `connection_id` identifies this connection; it is assigned by EventBus and changes on
61
+ * every reconnection.
62
+ * 3. Send `{"type":"subscribe","id":"…","topics":[…]}`. Each topic must be one of the returned
63
+ * `topics` or lie within one of them, for example by naming a key level where the ticket has
64
+ * `#`; a batch with any other topic is rejected as a whole. The reply is `subscribed`.
65
+ * `unsubscribe` takes the same form and replies `unsubscribed`. Both may be sent at any time
66
+ * while the connection is open.
67
+ * 4. Messages arrive as `{"type":"messages","messages":[…]}`, each element an `EventMessage`. A
68
+ * message matching several subscriptions on one connection arrives once for each of them.
69
+ * 5. A connection may switch to another ticket of the same user at any time by sending
70
+ * `authenticate` again: to renew before `expires_at`, to move from an account ticket to a
71
+ * project ticket, or to move to another project. `client_id` may be omitted while the
72
+ * `client_id_prefix` stays the same; when it changes, a client ID under the new prefix is
73
+ * required. Subscriptions the new ticket does not cover are removed at once and reported in a
74
+ * `{"type":"revoked","topics":[…]}` frame. A ticket for another user closes the connection
75
+ * with code 4401, as does letting the ticket expire.
76
+ *
77
+ * A connection holding a project ticket may publish the project's own events with
78
+ * `{"type":"publish","id":"…","messages":[{"event":"…","key":"…","subject":"…","data":{…}}]}`;
79
+ * the reply is `published` with the identity of each message. `ping` is answered with `pong`.
80
+ * A rejected request is answered with `{"type":"error","id":"…","code":"…","message":"…"}`.
81
+ * Every reply carries the `id` of the request it answers.
37
82
  * OpenAPI spec version: 1.0.0
38
83
  */
39
84
  import * as zod from "zod";
85
+ import { PublishedMessage } from "./publishedMessage.zod.js";
40
86
  export const PublishResponse = zod.strictObject({
41
- id: zod.uuid().describe("The message identity; consumers use it to discard duplicates"),
42
- event: zod.string().describe("The event name"),
43
- version: zod.int().min(1).describe("The version the payload was validated against"),
44
- created_at: zod.iso
45
- .datetime({ offset: true })
46
- .describe("When the message was accepted, in UTC RFC 3339"),
87
+ messages: zod
88
+ .array(PublishedMessage)
89
+ .describe("One entry per published message, in request order"),
47
90
  });
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow Event Bus API
5
+ * Event definitions, versions, publishing, and realtime access.
6
+ *
7
+ * ## Definitions and messages
8
+ *
9
+ * An event is a definition: a name, a description, and one or more versions. A version carries a
10
+ * JSON Schema that every published payload must satisfy. Messages are not stored here and are
11
+ * not part of the event definition.
12
+ *
13
+ * Every event belongs to a namespace, and its name is the namespace's name, a dot, and at least a
14
+ * resource and an action, such as `acme.order.created`. A project creates its own namespaces and
15
+ * defines events in them. Platform namespaces, such as `leaflow.notification`, are maintained by
16
+ * platform services: their events are listed alongside the project's own and can be subscribed
17
+ * to, but cannot be changed or published here, and the namespaces cannot be changed or deleted.
18
+ * Events in a platform namespace are called platform events below.
19
+ *
20
+ * A version number never changes meaning. Adding optional properties is allowed within a version;
21
+ * a breaking change creates a new version. Publishing without a version uses the highest active
22
+ * version.
23
+ *
24
+ * ## Publishing
25
+ *
26
+ * Messages are published in batches of up to 64. A batch is validated as a whole: if any message
27
+ * is rejected, none is published. Publishing returns the identity of each message and does not
28
+ * wait for consumers. Messages are not stored and are not replayed: a consumer that connects
29
+ * later does not receive earlier messages.
30
+ *
31
+ * Messages published through this API are sent to the current project. A message may name one
32
+ * `subject`, a member of the project; it is then sent to that member only. Without a subject it is
33
+ * sent to every member of the project.
34
+ *
35
+ * Every publication names a `client_id`. It starts with the prefix returned with a realtime
36
+ * ticket, `user.{user_id}.project.{project_id}.`, followed by one segment chosen by the
37
+ * client, such as a random identifier per browser tab. Receivers get it unchanged, so a client
38
+ * can recognise its own messages. A client ID does not need to be unique: several connections
39
+ * may share one.
40
+ *
41
+ * ## Realtime
42
+ *
43
+ * Every message has a topic `{event}/{project_id|-}/{subject|-}/{key levels}`, where `-` stands
44
+ * for a missing recipient and the key, split at `/`, supplies the remaining levels. A topic filter
45
+ * uses `+` to match exactly one level and `#`, only as the last level, to match that level and
46
+ * every level below it, including none. For example, `{event}/{project_id}/-/#` matches every
47
+ * message sent to the members of a project, and `{event}/-/{user_id}/#` every message sent to one
48
+ * person outside any project.
49
+ *
50
+ * 1. Create a ticket with `POST /api/v1/realtime/tickets`, naming the events to receive. The
51
+ * response lists the topic filters the ticket covers and the `client_id_prefix` to use. For a
52
+ * platform event they cover messages sent to the caller, messages sent to no recipient and,
53
+ * where the caller's permissions allow, messages sent within the project; for a project event
54
+ * they cover messages sent within the project. Without a selected project, use
55
+ * `POST /api/v1/account/realtime/tickets`; such a ticket covers only messages sent to the
56
+ * caller or to no recipient, and cannot publish.
57
+ * 2. Open a WebSocket to `wss://eventbus.leaflow.cloud/realtime` and send, within 15 seconds:
58
+ * `{"type":"authenticate","ticket":"…","client_id":"…"}`. The reply is
59
+ * `{"type":"authenticated","client_id":"…","connection_id":"…","expires_at":"…"}`.
60
+ * `connection_id` identifies this connection; it is assigned by EventBus and changes on
61
+ * every reconnection.
62
+ * 3. Send `{"type":"subscribe","id":"…","topics":[…]}`. Each topic must be one of the returned
63
+ * `topics` or lie within one of them, for example by naming a key level where the ticket has
64
+ * `#`; a batch with any other topic is rejected as a whole. The reply is `subscribed`.
65
+ * `unsubscribe` takes the same form and replies `unsubscribed`. Both may be sent at any time
66
+ * while the connection is open.
67
+ * 4. Messages arrive as `{"type":"messages","messages":[…]}`, each element an `EventMessage`. A
68
+ * message matching several subscriptions on one connection arrives once for each of them.
69
+ * 5. A connection may switch to another ticket of the same user at any time by sending
70
+ * `authenticate` again: to renew before `expires_at`, to move from an account ticket to a
71
+ * project ticket, or to move to another project. `client_id` may be omitted while the
72
+ * `client_id_prefix` stays the same; when it changes, a client ID under the new prefix is
73
+ * required. Subscriptions the new ticket does not cover are removed at once and reported in a
74
+ * `{"type":"revoked","topics":[…]}` frame. A ticket for another user closes the connection
75
+ * with code 4401, as does letting the ticket expire.
76
+ *
77
+ * A connection holding a project ticket may publish the project's own events with
78
+ * `{"type":"publish","id":"…","messages":[{"event":"…","key":"…","subject":"…","data":{…}}]}`;
79
+ * the reply is `published` with the identity of each message. `ping` is answered with `pong`.
80
+ * A rejected request is answered with `{"type":"error","id":"…","code":"…","message":"…"}`.
81
+ * Every reply carries the `id` of the request it answers.
82
+ * OpenAPI spec version: 1.0.0
83
+ */
84
+ import * as zod from "zod";
85
+ export declare const PublishedMessage: zod.ZodObject<{
86
+ id: zod.ZodUUID;
87
+ event: zod.ZodString;
88
+ version: zod.ZodInt;
89
+ created_at: zod.z.ZodISODateTime;
90
+ }, zod.z.core.$strict>;
91
+ export type PublishedMessage = zod.input<typeof PublishedMessage>;
92
+ export type PublishedMessageOutput = zod.output<typeof PublishedMessage>;
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Generated by orval 🍺
3
+ * Do not edit manually.
4
+ * Leaflow Event Bus API
5
+ * Event definitions, versions, publishing, and realtime access.
6
+ *
7
+ * ## Definitions and messages
8
+ *
9
+ * An event is a definition: a name, a description, and one or more versions. A version carries a
10
+ * JSON Schema that every published payload must satisfy. Messages are not stored here and are
11
+ * not part of the event definition.
12
+ *
13
+ * Every event belongs to a namespace, and its name is the namespace's name, a dot, and at least a
14
+ * resource and an action, such as `acme.order.created`. A project creates its own namespaces and
15
+ * defines events in them. Platform namespaces, such as `leaflow.notification`, are maintained by
16
+ * platform services: their events are listed alongside the project's own and can be subscribed
17
+ * to, but cannot be changed or published here, and the namespaces cannot be changed or deleted.
18
+ * Events in a platform namespace are called platform events below.
19
+ *
20
+ * A version number never changes meaning. Adding optional properties is allowed within a version;
21
+ * a breaking change creates a new version. Publishing without a version uses the highest active
22
+ * version.
23
+ *
24
+ * ## Publishing
25
+ *
26
+ * Messages are published in batches of up to 64. A batch is validated as a whole: if any message
27
+ * is rejected, none is published. Publishing returns the identity of each message and does not
28
+ * wait for consumers. Messages are not stored and are not replayed: a consumer that connects
29
+ * later does not receive earlier messages.
30
+ *
31
+ * Messages published through this API are sent to the current project. A message may name one
32
+ * `subject`, a member of the project; it is then sent to that member only. Without a subject it is
33
+ * sent to every member of the project.
34
+ *
35
+ * Every publication names a `client_id`. It starts with the prefix returned with a realtime
36
+ * ticket, `user.{user_id}.project.{project_id}.`, followed by one segment chosen by the
37
+ * client, such as a random identifier per browser tab. Receivers get it unchanged, so a client
38
+ * can recognise its own messages. A client ID does not need to be unique: several connections
39
+ * may share one.
40
+ *
41
+ * ## Realtime
42
+ *
43
+ * Every message has a topic `{event}/{project_id|-}/{subject|-}/{key levels}`, where `-` stands
44
+ * for a missing recipient and the key, split at `/`, supplies the remaining levels. A topic filter
45
+ * uses `+` to match exactly one level and `#`, only as the last level, to match that level and
46
+ * every level below it, including none. For example, `{event}/{project_id}/-/#` matches every
47
+ * message sent to the members of a project, and `{event}/-/{user_id}/#` every message sent to one
48
+ * person outside any project.
49
+ *
50
+ * 1. Create a ticket with `POST /api/v1/realtime/tickets`, naming the events to receive. The
51
+ * response lists the topic filters the ticket covers and the `client_id_prefix` to use. For a
52
+ * platform event they cover messages sent to the caller, messages sent to no recipient and,
53
+ * where the caller's permissions allow, messages sent within the project; for a project event
54
+ * they cover messages sent within the project. Without a selected project, use
55
+ * `POST /api/v1/account/realtime/tickets`; such a ticket covers only messages sent to the
56
+ * caller or to no recipient, and cannot publish.
57
+ * 2. Open a WebSocket to `wss://eventbus.leaflow.cloud/realtime` and send, within 15 seconds:
58
+ * `{"type":"authenticate","ticket":"…","client_id":"…"}`. The reply is
59
+ * `{"type":"authenticated","client_id":"…","connection_id":"…","expires_at":"…"}`.
60
+ * `connection_id` identifies this connection; it is assigned by EventBus and changes on
61
+ * every reconnection.
62
+ * 3. Send `{"type":"subscribe","id":"…","topics":[…]}`. Each topic must be one of the returned
63
+ * `topics` or lie within one of them, for example by naming a key level where the ticket has
64
+ * `#`; a batch with any other topic is rejected as a whole. The reply is `subscribed`.
65
+ * `unsubscribe` takes the same form and replies `unsubscribed`. Both may be sent at any time
66
+ * while the connection is open.
67
+ * 4. Messages arrive as `{"type":"messages","messages":[…]}`, each element an `EventMessage`. A
68
+ * message matching several subscriptions on one connection arrives once for each of them.
69
+ * 5. A connection may switch to another ticket of the same user at any time by sending
70
+ * `authenticate` again: to renew before `expires_at`, to move from an account ticket to a
71
+ * project ticket, or to move to another project. `client_id` may be omitted while the
72
+ * `client_id_prefix` stays the same; when it changes, a client ID under the new prefix is
73
+ * required. Subscriptions the new ticket does not cover are removed at once and reported in a
74
+ * `{"type":"revoked","topics":[…]}` frame. A ticket for another user closes the connection
75
+ * with code 4401, as does letting the ticket expire.
76
+ *
77
+ * A connection holding a project ticket may publish the project's own events with
78
+ * `{"type":"publish","id":"…","messages":[{"event":"…","key":"…","subject":"…","data":{…}}]}`;
79
+ * the reply is `published` with the identity of each message. `ping` is answered with `pong`.
80
+ * A rejected request is answered with `{"type":"error","id":"…","code":"…","message":"…"}`.
81
+ * Every reply carries the `id` of the request it answers.
82
+ * OpenAPI spec version: 1.0.0
83
+ */
84
+ import * as zod from "zod";
85
+ export const PublishedMessage = zod.strictObject({
86
+ id: zod.uuid().describe("The message identity; consumers use it to discard duplicates"),
87
+ event: zod.string().describe("The event name"),
88
+ version: zod.int().min(1).describe("The version the payload was validated against"),
89
+ created_at: zod.iso
90
+ .datetime({ offset: true })
91
+ .describe("When the message was accepted, in UTC RFC 3339"),
92
+ });