@spine-event-engine/proto 2.0.0-snapshot.10

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 (344) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +142 -0
  3. package/REFERENCE.md +83 -0
  4. package/dist/generated/grpc/health/v1/health_pb.d.ts +115 -0
  5. package/dist/generated/grpc/health/v1/health_pb.d.ts.map +1 -0
  6. package/dist/generated/grpc/health/v1/health_pb.js +58 -0
  7. package/dist/generated/grpc/health/v1/health_pb.js.map +1 -0
  8. package/dist/generated/proto-module.d.ts +61 -0
  9. package/dist/generated/proto-module.d.ts.map +1 -0
  10. package/dist/generated/proto-module.js +315 -0
  11. package/dist/generated/proto-module.js.map +1 -0
  12. package/dist/generated/spine/auth/authenticated_subscription_pb.d.ts +47 -0
  13. package/dist/generated/spine/auth/authenticated_subscription_pb.d.ts.map +1 -0
  14. package/dist/generated/spine/auth/authenticated_subscription_pb.js +20 -0
  15. package/dist/generated/spine/auth/authenticated_subscription_pb.js.map +1 -0
  16. package/dist/generated/spine/auth/authentication_service_pb.d.ts +79 -0
  17. package/dist/generated/spine/auth/authentication_service_pb.d.ts.map +1 -0
  18. package/dist/generated/spine/auth/authentication_service_pb.js +34 -0
  19. package/dist/generated/spine/auth/authentication_service_pb.js.map +1 -0
  20. package/dist/generated/spine/base/error_pb.d.ts +69 -0
  21. package/dist/generated/spine/base/error_pb.d.ts.map +1 -0
  22. package/dist/generated/spine/base/error_pb.js +19 -0
  23. package/dist/generated/spine/base/error_pb.js.map +1 -0
  24. package/dist/generated/spine/base/field_path_pb.d.ts +50 -0
  25. package/dist/generated/spine/base/field_path_pb.d.ts.map +1 -0
  26. package/dist/generated/spine/base/field_path_pb.js +18 -0
  27. package/dist/generated/spine/base/field_path_pb.js.map +1 -0
  28. package/dist/generated/spine/client/command_service_pb.d.ts +46 -0
  29. package/dist/generated/spine/client/command_service_pb.d.ts.map +1 -0
  30. package/dist/generated/spine/client/command_service_pb.js +21 -0
  31. package/dist/generated/spine/client/command_service_pb.js.map +1 -0
  32. package/dist/generated/spine/client/entities_pb.d.ts +37 -0
  33. package/dist/generated/spine/client/entities_pb.d.ts.map +1 -0
  34. package/dist/generated/spine/client/entities_pb.js +19 -0
  35. package/dist/generated/spine/client/entities_pb.js.map +1 -0
  36. package/dist/generated/spine/client/filters_pb.d.ts +279 -0
  37. package/dist/generated/spine/client/filters_pb.d.ts.map +1 -0
  38. package/dist/generated/spine/client/filters_pb.js +126 -0
  39. package/dist/generated/spine/client/filters_pb.js.map +1 -0
  40. package/dist/generated/spine/client/query_pb.d.ts +293 -0
  41. package/dist/generated/spine/client/query_pb.d.ts.map +1 -0
  42. package/dist/generated/spine/client/query_pb.js +132 -0
  43. package/dist/generated/spine/client/query_pb.js.map +1 -0
  44. package/dist/generated/spine/client/query_service_pb.d.ts +31 -0
  45. package/dist/generated/spine/client/query_service_pb.d.ts.map +1 -0
  46. package/dist/generated/spine/client/query_service_pb.js +21 -0
  47. package/dist/generated/spine/client/query_service_pb.js.map +1 -0
  48. package/dist/generated/spine/client/subscription_pb.d.ts +361 -0
  49. package/dist/generated/spine/client/subscription_pb.d.ts.map +1 -0
  50. package/dist/generated/spine/client/subscription_pb.js +137 -0
  51. package/dist/generated/spine/client/subscription_pb.js.map +1 -0
  52. package/dist/generated/spine/client/subscription_record_pb.d.ts +90 -0
  53. package/dist/generated/spine/client/subscription_record_pb.d.ts.map +1 -0
  54. package/dist/generated/spine/client/subscription_record_pb.js +52 -0
  55. package/dist/generated/spine/client/subscription_record_pb.js.map +1 -0
  56. package/dist/generated/spine/client/subscription_service_pb.d.ts +86 -0
  57. package/dist/generated/spine/client/subscription_service_pb.d.ts.map +1 -0
  58. package/dist/generated/spine/client/subscription_service_pb.js +36 -0
  59. package/dist/generated/spine/client/subscription_service_pb.js.map +1 -0
  60. package/dist/generated/spine/core/ack_pb.d.ts +47 -0
  61. package/dist/generated/spine/core/ack_pb.d.ts.map +1 -0
  62. package/dist/generated/spine/core/ack_pb.js +20 -0
  63. package/dist/generated/spine/core/ack_pb.js.map +1 -0
  64. package/dist/generated/spine/core/actor_context_pb.d.ts +74 -0
  65. package/dist/generated/spine/core/actor_context_pb.d.ts.map +1 -0
  66. package/dist/generated/spine/core/actor_context_pb.js +23 -0
  67. package/dist/generated/spine/core/actor_context_pb.js.map +1 -0
  68. package/dist/generated/spine/core/bounded_context_pb.d.ts +35 -0
  69. package/dist/generated/spine/core/bounded_context_pb.d.ts.map +1 -0
  70. package/dist/generated/spine/core/bounded_context_pb.js +18 -0
  71. package/dist/generated/spine/core/bounded_context_pb.js.map +1 -0
  72. package/dist/generated/spine/core/command_pb.d.ts +245 -0
  73. package/dist/generated/spine/core/command_pb.d.ts.map +1 -0
  74. package/dist/generated/spine/core/command_pb.js +106 -0
  75. package/dist/generated/spine/core/command_pb.js.map +1 -0
  76. package/dist/generated/spine/core/diagnostics_pb.d.ts +97 -0
  77. package/dist/generated/spine/core/diagnostics_pb.d.ts.map +1 -0
  78. package/dist/generated/spine/core/diagnostics_pb.js +27 -0
  79. package/dist/generated/spine/core/diagnostics_pb.js.map +1 -0
  80. package/dist/generated/spine/core/enrichment_pb.d.ts +85 -0
  81. package/dist/generated/spine/core/enrichment_pb.d.ts.map +1 -0
  82. package/dist/generated/spine/core/enrichment_pb.js +25 -0
  83. package/dist/generated/spine/core/enrichment_pb.js.map +1 -0
  84. package/dist/generated/spine/core/event_pb.d.ts +307 -0
  85. package/dist/generated/spine/core/event_pb.d.ts.map +1 -0
  86. package/dist/generated/spine/core/event_pb.js +80 -0
  87. package/dist/generated/spine/core/event_pb.js.map +1 -0
  88. package/dist/generated/spine/core/response_pb.d.ts +87 -0
  89. package/dist/generated/spine/core/response_pb.d.ts.map +1 -0
  90. package/dist/generated/spine/core/response_pb.js +27 -0
  91. package/dist/generated/spine/core/response_pb.js.map +1 -0
  92. package/dist/generated/spine/core/tenant_id_pb.d.ts +64 -0
  93. package/dist/generated/spine/core/tenant_id_pb.d.ts.map +1 -0
  94. package/dist/generated/spine/core/tenant_id_pb.js +20 -0
  95. package/dist/generated/spine/core/tenant_id_pb.js.map +1 -0
  96. package/dist/generated/spine/core/user_id_pb.d.ts +33 -0
  97. package/dist/generated/spine/core/user_id_pb.d.ts.map +1 -0
  98. package/dist/generated/spine/core/user_id_pb.js +18 -0
  99. package/dist/generated/spine/core/user_id_pb.js.map +1 -0
  100. package/dist/generated/spine/core/version_pb.d.ts +44 -0
  101. package/dist/generated/spine/core/version_pb.d.ts.map +1 -0
  102. package/dist/generated/spine/core/version_pb.js +19 -0
  103. package/dist/generated/spine/core/version_pb.js.map +1 -0
  104. package/dist/generated/spine/delivery/admin/admin_service_pb.d.ts +219 -0
  105. package/dist/generated/spine/delivery/admin/admin_service_pb.d.ts.map +1 -0
  106. package/dist/generated/spine/delivery/admin/admin_service_pb.js +75 -0
  107. package/dist/generated/spine/delivery/admin/admin_service_pb.js.map +1 -0
  108. package/dist/generated/spine/delivery/commands_pb.d.ts +181 -0
  109. package/dist/generated/spine/delivery/commands_pb.d.ts.map +1 -0
  110. package/dist/generated/spine/delivery/commands_pb.js +57 -0
  111. package/dist/generated/spine/delivery/commands_pb.js.map +1 -0
  112. package/dist/generated/spine/delivery/events_pb.d.ts +230 -0
  113. package/dist/generated/spine/delivery/events_pb.d.ts.map +1 -0
  114. package/dist/generated/spine/delivery/events_pb.js +63 -0
  115. package/dist/generated/spine/delivery/events_pb.js.map +1 -0
  116. package/dist/generated/spine/delivery/message_delivery_pb.d.ts +205 -0
  117. package/dist/generated/spine/delivery/message_delivery_pb.d.ts.map +1 -0
  118. package/dist/generated/spine/delivery/message_delivery_pb.js +50 -0
  119. package/dist/generated/spine/delivery/message_delivery_pb.js.map +1 -0
  120. package/dist/generated/spine/delivery/pick_up_outcome_pb.d.ts +58 -0
  121. package/dist/generated/spine/delivery/pick_up_outcome_pb.d.ts.map +1 -0
  122. package/dist/generated/spine/delivery/pick_up_outcome_pb.js +20 -0
  123. package/dist/generated/spine/delivery/pick_up_outcome_pb.js.map +1 -0
  124. package/dist/generated/spine/delivery/rejections_pb.d.ts +95 -0
  125. package/dist/generated/spine/delivery/rejections_pb.d.ts.map +1 -0
  126. package/dist/generated/spine/delivery/rejections_pb.js +32 -0
  127. package/dist/generated/spine/delivery/rejections_pb.js.map +1 -0
  128. package/dist/generated/spine/deployment/node_discovery_pb.d.ts +102 -0
  129. package/dist/generated/spine/deployment/node_discovery_pb.d.ts.map +1 -0
  130. package/dist/generated/spine/deployment/node_discovery_pb.js +32 -0
  131. package/dist/generated/spine/deployment/node_discovery_pb.js.map +1 -0
  132. package/dist/generated/spine/net/email_address_pb.d.ts +37 -0
  133. package/dist/generated/spine/net/email_address_pb.d.ts.map +1 -0
  134. package/dist/generated/spine/net/email_address_pb.js +18 -0
  135. package/dist/generated/spine/net/email_address_pb.js.map +1 -0
  136. package/dist/generated/spine/net/internet_domain_pb.d.ts +35 -0
  137. package/dist/generated/spine/net/internet_domain_pb.d.ts.map +1 -0
  138. package/dist/generated/spine/net/internet_domain_pb.js +18 -0
  139. package/dist/generated/spine/net/internet_domain_pb.js.map +1 -0
  140. package/dist/generated/spine/options_pb.d.ts +1932 -0
  141. package/dist/generated/spine/options_pb.d.ts.map +1 -0
  142. package/dist/generated/spine/options_pb.js +960 -0
  143. package/dist/generated/spine/options_pb.js.map +1 -0
  144. package/dist/generated/spine/server/catchup/catch_up_pb.d.ts +185 -0
  145. package/dist/generated/spine/server/catchup/catch_up_pb.d.ts.map +1 -0
  146. package/dist/generated/spine/server/catchup/catch_up_pb.js +77 -0
  147. package/dist/generated/spine/server/catchup/catch_up_pb.js.map +1 -0
  148. package/dist/generated/spine/server/delivery/delivery_events_pb.d.ts +79 -0
  149. package/dist/generated/spine/server/delivery/delivery_events_pb.d.ts.map +1 -0
  150. package/dist/generated/spine/server/delivery/delivery_events_pb.js +27 -0
  151. package/dist/generated/spine/server/delivery/delivery_events_pb.js.map +1 -0
  152. package/dist/generated/spine/server/delivery/delivery_pb.d.ts +265 -0
  153. package/dist/generated/spine/server/delivery/delivery_pb.d.ts.map +1 -0
  154. package/dist/generated/spine/server/delivery/delivery_pb.js +63 -0
  155. package/dist/generated/spine/server/delivery/delivery_pb.js.map +1 -0
  156. package/dist/generated/spine/server/delivery/inbox_pb.d.ts +272 -0
  157. package/dist/generated/spine/server/delivery/inbox_pb.d.ts.map +1 -0
  158. package/dist/generated/spine/server/delivery/inbox_pb.js +139 -0
  159. package/dist/generated/spine/server/delivery/inbox_pb.js.map +1 -0
  160. package/dist/generated/spine/server/entity/entity_pb.d.ts +146 -0
  161. package/dist/generated/spine/server/entity/entity_pb.d.ts.map +1 -0
  162. package/dist/generated/spine/server/entity/entity_pb.js +62 -0
  163. package/dist/generated/spine/server/entity/entity_pb.js.map +1 -0
  164. package/dist/generated/spine/server/entity/state_key_pb.d.ts +46 -0
  165. package/dist/generated/spine/server/entity/state_key_pb.d.ts.map +1 -0
  166. package/dist/generated/spine/server/entity/state_key_pb.js +19 -0
  167. package/dist/generated/spine/server/entity/state_key_pb.js.map +1 -0
  168. package/dist/generated/spine/server/integration/broker_pb.d.ts +152 -0
  169. package/dist/generated/spine/server/integration/broker_pb.d.ts.map +1 -0
  170. package/dist/generated/spine/server/integration/broker_pb.js +65 -0
  171. package/dist/generated/spine/server/integration/broker_pb.js.map +1 -0
  172. package/dist/generated/spine/server/server_environment_pb.d.ts +65 -0
  173. package/dist/generated/spine/server/server_environment_pb.d.ts.map +1 -0
  174. package/dist/generated/spine/server/server_environment_pb.js +53 -0
  175. package/dist/generated/spine/server/server_environment_pb.js.map +1 -0
  176. package/dist/generated/spine/server/transport/transport_pb.d.ts +33 -0
  177. package/dist/generated/spine/server/transport/transport_pb.d.ts.map +1 -0
  178. package/dist/generated/spine/server/transport/transport_pb.js +18 -0
  179. package/dist/generated/spine/server/transport/transport_pb.js.map +1 -0
  180. package/dist/generated/spine/string/template_string_pb.d.ts +66 -0
  181. package/dist/generated/spine/string/template_string_pb.d.ts.map +1 -0
  182. package/dist/generated/spine/string/template_string_pb.js +18 -0
  183. package/dist/generated/spine/string/template_string_pb.js.map +1 -0
  184. package/dist/generated/spine/system/server/entity_log_events_pb.d.ts +505 -0
  185. package/dist/generated/spine/system/server/entity_log_events_pb.d.ts.map +1 -0
  186. package/dist/generated/spine/system/server/entity_log_events_pb.js +84 -0
  187. package/dist/generated/spine/system/server/entity_log_events_pb.js.map +1 -0
  188. package/dist/generated/spine/system/server/entity_type_pb.d.ts +46 -0
  189. package/dist/generated/spine/system/server/entity_type_pb.d.ts.map +1 -0
  190. package/dist/generated/spine/system/server/entity_type_pb.js +18 -0
  191. package/dist/generated/spine/system/server/entity_type_pb.js.map +1 -0
  192. package/dist/generated/spine/time/time_pb.d.ts +393 -0
  193. package/dist/generated/spine/time/time_pb.d.ts.map +1 -0
  194. package/dist/generated/spine/time/time_pb.js +184 -0
  195. package/dist/generated/spine/time/time_pb.js.map +1 -0
  196. package/dist/generated/spine/time_options_pb.d.ts +106 -0
  197. package/dist/generated/spine/time_options_pb.d.ts.map +1 -0
  198. package/dist/generated/spine/time_options_pb.js +58 -0
  199. package/dist/generated/spine/time_options_pb.js.map +1 -0
  200. package/dist/generated/spine/ui/language_pb.d.ts +1140 -0
  201. package/dist/generated/spine/ui/language_pb.d.ts.map +1 -0
  202. package/dist/generated/spine/ui/language_pb.js +1141 -0
  203. package/dist/generated/spine/ui/language_pb.js.map +1 -0
  204. package/dist/generated/spine/validation/validation_error_pb.d.ts +156 -0
  205. package/dist/generated/spine/validation/validation_error_pb.d.ts.map +1 -0
  206. package/dist/generated/spine/validation/validation_error_pb.js +27 -0
  207. package/dist/generated/spine/validation/validation_error_pb.js.map +1 -0
  208. package/dist/src/auth/index.d.ts +6 -0
  209. package/dist/src/auth/index.d.ts.map +1 -0
  210. package/dist/src/auth/index.js +19 -0
  211. package/dist/src/auth/index.js.map +1 -0
  212. package/dist/src/client/index.d.ts +12 -0
  213. package/dist/src/client/index.d.ts.map +1 -0
  214. package/dist/src/client/index.js +25 -0
  215. package/dist/src/client/index.js.map +1 -0
  216. package/dist/src/delivery/index.d.ts +7 -0
  217. package/dist/src/delivery/index.d.ts.map +1 -0
  218. package/dist/src/delivery/index.js +20 -0
  219. package/dist/src/delivery/index.js.map +1 -0
  220. package/dist/src/delivery-server/index.d.ts +11 -0
  221. package/dist/src/delivery-server/index.d.ts.map +1 -0
  222. package/dist/src/delivery-server/index.js +24 -0
  223. package/dist/src/delivery-server/index.js.map +1 -0
  224. package/dist/src/deployment/index.d.ts +5 -0
  225. package/dist/src/deployment/index.d.ts.map +1 -0
  226. package/dist/src/deployment/index.js +18 -0
  227. package/dist/src/deployment/index.js.map +1 -0
  228. package/dist/src/index.d.ts +333 -0
  229. package/dist/src/index.d.ts.map +1 -0
  230. package/dist/src/index.js +310 -0
  231. package/dist/src/index.js.map +1 -0
  232. package/dist/src/model/proto-module.d.ts +20 -0
  233. package/dist/src/model/proto-module.d.ts.map +1 -0
  234. package/dist/src/model/proto-module.js +15 -0
  235. package/dist/src/model/proto-module.js.map +1 -0
  236. package/dist/tsconfig.tsbuildinfo +1 -0
  237. package/generated/.spine-proto-generation.json +1 -0
  238. package/generated/grpc/health/v1/health_pb.ts +141 -0
  239. package/generated/proto-module.ts +320 -0
  240. package/generated/spine/auth/authenticated_subscription_pb.ts +64 -0
  241. package/generated/spine/auth/authentication_service_pb.ts +103 -0
  242. package/generated/spine/base/error_pb.ts +86 -0
  243. package/generated/spine/base/field_path_pb.ts +63 -0
  244. package/generated/spine/client/command_service_pb.ts +60 -0
  245. package/generated/spine/client/entities_pb.ts +51 -0
  246. package/generated/spine/client/filters_pb.ts +322 -0
  247. package/generated/spine/client/query_pb.ts +345 -0
  248. package/generated/spine/client/query_service_pb.ts +45 -0
  249. package/generated/spine/client/subscription_pb.ts +414 -0
  250. package/generated/spine/client/subscription_record_pb.ts +114 -0
  251. package/generated/spine/client/subscription_service_pb.ts +100 -0
  252. package/generated/spine/core/ack_pb.ts +63 -0
  253. package/generated/spine/core/actor_context_pb.ts +96 -0
  254. package/generated/spine/core/bounded_context_pb.ts +48 -0
  255. package/generated/spine/core/command_pb.ts +287 -0
  256. package/generated/spine/core/diagnostics_pb.ts +120 -0
  257. package/generated/spine/core/enrichment_pb.ts +97 -0
  258. package/generated/spine/core/event_pb.ts +347 -0
  259. package/generated/spine/core/response_pb.ts +103 -0
  260. package/generated/spine/core/tenant_id_pb.ts +76 -0
  261. package/generated/spine/core/user_id_pb.ts +46 -0
  262. package/generated/spine/core/version_pb.ts +59 -0
  263. package/generated/spine/delivery/admin/admin_service_pb.ts +253 -0
  264. package/generated/spine/delivery/commands_pb.ts +219 -0
  265. package/generated/spine/delivery/events_pb.ts +276 -0
  266. package/generated/spine/delivery/message_delivery_pb.ts +236 -0
  267. package/generated/spine/delivery/pick_up_outcome_pb.ts +70 -0
  268. package/generated/spine/delivery/rejections_pb.ts +120 -0
  269. package/generated/spine/deployment/node_discovery_pb.ts +127 -0
  270. package/generated/spine/net/email_address_pb.ts +50 -0
  271. package/generated/spine/net/internet_domain_pb.ts +48 -0
  272. package/generated/spine/options_pb.ts +2104 -0
  273. package/generated/spine/server/catchup/catch_up_pb.ts +224 -0
  274. package/generated/spine/server/delivery/delivery_events_pb.ts +102 -0
  275. package/generated/spine/server/delivery/delivery_pb.ts +305 -0
  276. package/generated/spine/server/delivery/inbox_pb.ts +321 -0
  277. package/generated/spine/server/entity/entity_pb.ts +176 -0
  278. package/generated/spine/server/entity/state_key_pb.ts +61 -0
  279. package/generated/spine/server/integration/broker_pb.ts +183 -0
  280. package/generated/spine/server/server_environment_pb.ts +83 -0
  281. package/generated/spine/server/transport/transport_pb.ts +46 -0
  282. package/generated/spine/string/template_string_pb.ts +78 -0
  283. package/generated/spine/system/server/entity_log_events_pb.ts +587 -0
  284. package/generated/spine/system/server/entity_type_pb.ts +56 -0
  285. package/generated/spine/time/time_pb.ts +465 -0
  286. package/generated/spine/time_options_pb.ts +129 -0
  287. package/generated/spine/ui/language_pb.ts +1337 -0
  288. package/generated/spine/validation/validation_error_pb.ts +181 -0
  289. package/package.json +64 -0
  290. package/proto/README.md +81 -0
  291. package/proto/frozen-descriptor-set.sha256 +3 -0
  292. package/proto/grpc/health/v1/health.proto +63 -0
  293. package/proto/spine/auth/authenticated_subscription.proto +36 -0
  294. package/proto/spine/auth/authentication_service.proto +47 -0
  295. package/proto/spine/base/error.proto +68 -0
  296. package/proto/spine/base/field_path.proto +59 -0
  297. package/proto/spine/client/command_service.proto +62 -0
  298. package/proto/spine/client/entities.proto +48 -0
  299. package/proto/spine/client/filters.proto +170 -0
  300. package/proto/spine/client/query.proto +186 -0
  301. package/proto/spine/client/query_service.proto +46 -0
  302. package/proto/spine/client/subscription.proto +220 -0
  303. package/proto/spine/client/subscription_record.proto +55 -0
  304. package/proto/spine/client/subscription_service.proto +86 -0
  305. package/proto/spine/core/ack.proto +55 -0
  306. package/proto/spine/core/actor_context.proto +76 -0
  307. package/proto/spine/core/bounded_context.proto +47 -0
  308. package/proto/spine/core/command.proto +170 -0
  309. package/proto/spine/core/diagnostics.proto +86 -0
  310. package/proto/spine/core/enrichment.proto +70 -0
  311. package/proto/spine/core/event.proto +197 -0
  312. package/proto/spine/core/response.proto +71 -0
  313. package/proto/spine/core/tenant_id.proto +61 -0
  314. package/proto/spine/core/user_id.proto +42 -0
  315. package/proto/spine/core/version.proto +63 -0
  316. package/proto/spine/delivery/admin/admin_service.proto +110 -0
  317. package/proto/spine/delivery/commands.proto +86 -0
  318. package/proto/spine/delivery/events.proto +107 -0
  319. package/proto/spine/delivery/message_delivery.proto +90 -0
  320. package/proto/spine/delivery/pick_up_outcome.proto +40 -0
  321. package/proto/spine/delivery/rejections.proto +49 -0
  322. package/proto/spine/deployment/node_discovery.proto +59 -0
  323. package/proto/spine/net/email_address.proto +46 -0
  324. package/proto/spine/net/internet_domain.proto +43 -0
  325. package/proto/spine/options.proto +1628 -0
  326. package/proto/spine/server/catchup/catch_up.proto +123 -0
  327. package/proto/spine/server/delivery/delivery.proto +166 -0
  328. package/proto/spine/server/delivery/delivery_events.proto +72 -0
  329. package/proto/spine/server/delivery/inbox.proto +169 -0
  330. package/proto/spine/server/entity/entity.proto +105 -0
  331. package/proto/spine/server/entity/state_key.proto +55 -0
  332. package/proto/spine/server/integration/broker.proto +112 -0
  333. package/proto/spine/server/server_environment.proto +57 -0
  334. package/proto/spine/server/transport/transport.proto +42 -0
  335. package/proto/spine/string/template_string.proto +70 -0
  336. package/proto/spine/system/server/entity_log_events.proto +280 -0
  337. package/proto/spine/system/server/entity_type.proto +49 -0
  338. package/proto/spine/time/time.proto +221 -0
  339. package/proto/spine/time_options.proto +106 -0
  340. package/proto/spine/ui/language.proto +417 -0
  341. package/proto/spine/validation/validation_error.proto +133 -0
  342. package/proto/spine-sources.json +438 -0
  343. package/spine-proto-manifest.json +112 -0
  344. package/spine-proto.json +10 -0
@@ -0,0 +1,48 @@
1
+ /*
2
+ * Copyright 2026, TeamDev. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Redistribution and use in source and/or binary forms, with or without
11
+ * modification, must retain the above copyright notice and the following
12
+ * disclaimer.
13
+ *
14
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
15
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
16
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
17
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
18
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
19
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
20
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
+ */
26
+
27
+ syntax = "proto3";
28
+
29
+ package spine.client;
30
+
31
+ import "spine/options.proto";
32
+
33
+ option (type_url_prefix) = "type.spine.io";
34
+ option java_multiple_files = true;
35
+ option java_outer_classname = "EntitiesProto";
36
+ option java_package = "io.spine.client";
37
+
38
+ import "google/protobuf/any.proto";
39
+
40
+ // Represents an ID of an entity.
41
+ //
42
+ // Acts as a read-side API identifier for Projection state, Aggregate state and other entities.
43
+ //
44
+ message EntityId {
45
+
46
+ // An ID of an entity.
47
+ google.protobuf.Any id = 1;
48
+ }
@@ -0,0 +1,170 @@
1
+ /*
2
+ * Copyright 2026, TeamDev. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Redistribution and use in source and/or binary forms, with or without
11
+ * modification, must retain the above copyright notice and the following
12
+ * disclaimer.
13
+ *
14
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
15
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
16
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
17
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
18
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
19
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
20
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
+ */
26
+
27
+ syntax = "proto3";
28
+
29
+ package spine.client;
30
+
31
+ import "spine/options.proto";
32
+
33
+ option (type_url_prefix) = "type.spine.io";
34
+ option java_multiple_files = true;
35
+ option java_outer_classname = "FiltersProto";
36
+ option java_package = "io.spine.client";
37
+
38
+ import "google/protobuf/any.proto";
39
+
40
+ import "spine/base/field_path.proto";
41
+
42
+ // Defines the target type and filters.
43
+ //
44
+ // Use `Target` to specify and narrow down the source for `Topic` and `Query` by
45
+ // the target type and various criteria.
46
+ //
47
+ message Target {
48
+ option (is).java_type = "TargetMixin";
49
+
50
+ // The type of the entity or event of interest.
51
+ //
52
+ // Queries support only entity targets while subscriptions work with both event and
53
+ // entity state types.
54
+ //
55
+ string type = 1 [(required) = true];
56
+
57
+ // The filters that are applied to the received entity state or event message.
58
+ oneof criterion {
59
+ // Either `include_all` must be set to `true`, or `filters` must be specified.
60
+ option (choice).required = true;
61
+
62
+ // The instruction to include all objects of a given type.
63
+ bool include_all = 2;
64
+
65
+ // Filter the objects by a certain criterion.
66
+ //
67
+ // Filters must not be empty unless `include_all` is set.
68
+ //
69
+ TargetFilters filters = 3 [(validate) = true];
70
+ }
71
+ }
72
+
73
+ // The set of filters to narrow down the query results/subscription updates.
74
+ message TargetFilters {
75
+ option (required_field) = "id_filter|filter";
76
+
77
+ // Match objects by their IDs.
78
+ IdFilter id_filter = 1 [(validate) = true];
79
+
80
+ // Match objects by the values of their fields.
81
+ repeated CompositeFilter filter = 2 [(validate) = true];
82
+ }
83
+
84
+ // A filter grouping a sub-tree of filters with a specified logical operator.
85
+ //
86
+ // May contain both simple filters (i.e. those aimed to match a single field value of the
87
+ // target object) and composite filters.
88
+ //
89
+ // If an instance of `CompositeFilter` has no children, any target object is considered matching.
90
+ message CompositeFilter {
91
+ option (is).java_type = "CompositeFilterMixin";
92
+
93
+ // The list of simple filters.
94
+ repeated Filter filter = 1 [(validate) = true];
95
+
96
+ // The value of the composite operator that determines the behavior of the filter matching.
97
+ CompositeOperator operator = 2 [(required) = true];
98
+
99
+ // The list of child composite filters.
100
+ repeated CompositeFilter composite_filter = 3 [(validate) = true];;
101
+
102
+ // An enumeration of all supported composite operators upon the filters.
103
+ enum CompositeOperator {
104
+
105
+ // Error value.
106
+ CCF_CO_UNDEFINED = 0;
107
+
108
+ // The conjunctive operator. The SQL equivalent is `AND`.
109
+ ALL = 1;
110
+
111
+ // The disjunctive operator. The SQL equivalent is `OR`.
112
+ EITHER = 2;
113
+ }
114
+ }
115
+
116
+ // A simple filter matching some value in the event message/entity state.
117
+ message Filter {
118
+ option (is).java_type = "FilterMixin";
119
+
120
+ // The path to the field to be matched.
121
+ //
122
+ // If the filter is an entity query filter, this path must contain a top-level message field
123
+ // marked with the `(column)` option.
124
+ //
125
+ // For subscriptions, any message fields can be specified including the nested fields.
126
+ //
127
+ base.FieldPath field_path = 1 [(required) = true];
128
+
129
+ // The value to compare upon.
130
+ google.protobuf.Any value = 2 [(required) = true];
131
+
132
+ // The comparison operator.
133
+ Operator operator = 3 [(required) = true];
134
+
135
+ // An enumeration of all supported comparison operators.
136
+ enum Operator {
137
+
138
+ // Error value.
139
+ CFO_UNDEFINED = 0;
140
+
141
+ // The stored value is equal (`=`) to the passed value.
142
+ EQUAL = 1;
143
+
144
+ // The stored value is greater than (`>`) the passed value.
145
+ GREATER_THAN = 2;
146
+
147
+ // The stored value is less than (`<`) the passed value.
148
+ LESS_THAN = 4;
149
+
150
+ // The stored value is greater than or equal to (`>=`) the passed value.
151
+ GREATER_OR_EQUAL = 5;
152
+
153
+ // The stored value is less than or equal to (`<=`) the passed value.
154
+ LESS_OR_EQUAL = 6;
155
+ }
156
+ }
157
+
158
+ // Allows adding an ID filter for the read operations.
159
+ //
160
+ // Used to filter out all objects with identifiers not included in the filter.
161
+ // SQL equivalent is "... where row.id IN (...)".
162
+ //
163
+ message IdFilter {
164
+
165
+ // The collection of IDs.
166
+ //
167
+ // Must not be empty.
168
+ //
169
+ repeated google.protobuf.Any id = 1 [(required) = true, (validate) = true];
170
+ }
@@ -0,0 +1,186 @@
1
+ /*
2
+ * Copyright 2026, TeamDev. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Redistribution and use in source and/or binary forms, with or without
11
+ * modification, must retain the above copyright notice and the following
12
+ * disclaimer.
13
+ *
14
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
15
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
16
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
17
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
18
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
19
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
20
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
+ */
26
+
27
+ syntax = "proto3";
28
+
29
+ package spine.client;
30
+
31
+ import "spine/options.proto";
32
+
33
+ option (type_url_prefix) = "type.spine.io";
34
+ option java_multiple_files = true;
35
+ option java_outer_classname = "QueryProto";
36
+ option java_package = "io.spine.client";
37
+
38
+ import "google/protobuf/any.proto";
39
+ import "google/protobuf/field_mask.proto";
40
+
41
+ import "spine/core/user_id.proto";
42
+ import "spine/core/actor_context.proto";
43
+ import "spine/core/response.proto";
44
+ import "spine/client/filters.proto";
45
+ import "spine/core/version.proto";
46
+
47
+ // Query identifier.
48
+ //
49
+ message QueryId {
50
+
51
+ // The value of the ID.
52
+ //
53
+ // Starts with the `q-` prefix followed by a generated UUID value.
54
+ //
55
+ string value = 1;
56
+ }
57
+
58
+ // An order for query results.
59
+ //
60
+ message OrderBy {
61
+
62
+ // A direction of sorting for ordering the Query results.
63
+ Direction direction = 1 [(required) = true];
64
+
65
+ // A column name whose value is used for ordering the query results.
66
+ string column = 2 [(required) = true];
67
+
68
+ // A direction of an `OrderBy` clause specifying if greater or lesser values should come first.
69
+ enum Direction {
70
+
71
+ // Reserved default value.
72
+ OD_UNKNOWN = 0;
73
+
74
+ // An order in which every following value is greater than the previous one.
75
+ //
76
+ // For example, collections sorted in an ascending order are `[1, 2, 3]` and
77
+ // `["2 cherries", "apple", "apricot", "orange"]`.
78
+ //
79
+ // The missing values are placed at the beginning of a collection in an ascending order:
80
+ // `[null, -2211760924, 0, 943912800]`.
81
+ //
82
+ ASCENDING = 1;
83
+
84
+ // An order in which every following value is lesser than the previous one.
85
+ //
86
+ // For example, collections sorted in a descending order are `[2033, 2001, 1984]` and
87
+ // `['NaCl', 'N2O', 'H2O2', 'H2O', 'C12H22O11']`.
88
+ //
89
+ // The missing values are placed at the end of a collection in a descending order:
90
+ // `[1905, 1687, -280, null]`.
91
+ //
92
+ DESCENDING = 2;
93
+ }
94
+ }
95
+
96
+ // Allows clients to form the requests to the read-side through the `QueryService`.
97
+ //
98
+ // `Query` execution typically results in a `QueryResponse` object.
99
+ //
100
+ message Query {
101
+
102
+ option (is).java_type = "QueryMixin";
103
+
104
+ // The ID of the query.
105
+ QueryId id = 1 [(required) = true];
106
+
107
+ // Defines the entity of interest, e.g. entity type URL and a set of fetch criteria.
108
+ Target target = 2 [(required) = true, (validate) = true];
109
+
110
+ // Service information about the environment in which the query was created.
111
+ core.ActorContext context = 3 [(required) = true, (validate) = true];
112
+
113
+ ResponseFormat format = 4 [(validate) = true];
114
+ }
115
+
116
+ // A `Query` response format.
117
+ //
118
+ // Includes which data should be retrieved, the ordering, and pagination.
119
+ //
120
+ message ResponseFormat {
121
+
122
+ // Field mask to be applied to the items of the query result.
123
+ google.protobuf.FieldMask field_mask = 1;
124
+
125
+ // An order for entities returned by the Query.
126
+ //
127
+ // In case there are several ordering directives, they are applied one-by-one, each following
128
+ // dealing only with the records considered equal by the previous directive.
129
+ //
130
+ // I.e. the first directive is applied to the original set of responses, then the second
131
+ // directive is used to judge on the order of the records considered to have the same index
132
+ // of order by the first directive. Same behaviour is expected for each N-th and (N+1)-th of
133
+ // ordering directives.
134
+ //
135
+ repeated OrderBy order_by = 2 [(validate) = true];
136
+
137
+ // The max number of entities to retrieve.
138
+ //
139
+ // If greater than 0, `order_by` should be set as well.
140
+ //
141
+ uint32 limit = 3;
142
+ }
143
+
144
+ // The result of `Query` processing.
145
+ //
146
+ // Contains the actual processing results and other response attributes.
147
+ // Used as a result of `QueryService.Read(Query)` gRPC method call.
148
+ //
149
+ message QueryResponse {
150
+ option (is).java_type = "QueryResponseMixin";
151
+
152
+ // The base status part of the query processing response.
153
+ //
154
+ // For example: whether the `Query` has been acked or not.
155
+ //
156
+ core.Response response = 1 [(required) = true];
157
+
158
+ // Entity states and versions returned to the API user as a result of Query execution.
159
+ repeated EntityStateWithVersion message = 2;
160
+ }
161
+
162
+ // Represents the entity state combined with entity version.
163
+ //
164
+ // This message is a part of Query response.
165
+ //
166
+ message EntityStateWithVersion {
167
+
168
+ // The state of the entity packed as `Any`.
169
+ google.protobuf.Any state = 1;
170
+
171
+ // The version of the entity.
172
+ core.Version version = 2;
173
+ }
174
+
175
+ // Enumeration of possible technical error reasons occurring in query validation.
176
+ enum QueryValidationError {
177
+
178
+ // Reserved value.
179
+ QVE_UNKNOWN_REASON = 0;
180
+
181
+ // The query target is not supported by the server.
182
+ UNSUPPORTED_QUERY_TARGET = 1;
183
+
184
+ // The query message is invalid according to custom Protobuf options set.
185
+ INVALID_QUERY = 2;
186
+ }
@@ -0,0 +1,46 @@
1
+ /*
2
+ * Copyright 2026, TeamDev. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Redistribution and use in source and/or binary forms, with or without
11
+ * modification, must retain the above copyright notice and the following
12
+ * disclaimer.
13
+ *
14
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
15
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
16
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
17
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
18
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
19
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
20
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
+ */
26
+
27
+ syntax = "proto3";
28
+
29
+ package spine.client;
30
+
31
+ import "spine/options.proto";
32
+
33
+ option (type_url_prefix) = "type.spine.io";
34
+ option java_package = "io.spine.client.grpc";
35
+ option java_multiple_files = true;
36
+ option java_outer_classname = "QueryServiceProto";
37
+
38
+ import "spine/client/query.proto";
39
+ import "google/protobuf/type.proto";
40
+
41
+ // A service for querying the read-side from clients.
42
+ service QueryService {
43
+
44
+ // Reads certain data from the read-side by setting the criteria via Query.
45
+ rpc Read(Query) returns (QueryResponse);
46
+ }
@@ -0,0 +1,220 @@
1
+ /*
2
+ * Copyright 2026, TeamDev. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Redistribution and use in source and/or binary forms, with or without
11
+ * modification, must retain the above copyright notice and the following
12
+ * disclaimer.
13
+ *
14
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
15
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
16
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
17
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
18
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
19
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
20
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
24
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
+ */
26
+
27
+ syntax = "proto3";
28
+
29
+ package spine.client;
30
+
31
+ import "spine/options.proto";
32
+
33
+ option (type_url_prefix) = "type.spine.io";
34
+ option java_package = "io.spine.client";
35
+ option java_multiple_files = true;
36
+ option java_outer_classname = "SubscriptionProto";
37
+
38
+ import "google/protobuf/any.proto";
39
+ import "google/protobuf/field_mask.proto";
40
+
41
+ import "spine/core/user_id.proto";
42
+ import "spine/core/tenant_id.proto";
43
+ import "spine/core/actor_context.proto";
44
+ import "spine/core/event.proto";
45
+ import "spine/core/response.proto";
46
+ import "spine/client/filters.proto";
47
+
48
+ // Topic identifier.
49
+ message TopicId {
50
+
51
+ // The value of the ID.
52
+ //
53
+ // Starts with the `t-` prefix followed by a generated UUID value.
54
+ //
55
+ string value = 1;
56
+ }
57
+
58
+ // An object defining a unit of subscription.
59
+ //
60
+ // Defines the target (type and criteria) of subscription.
61
+ //
62
+ message Topic {
63
+
64
+ TopicId id = 1 [(required) = true];
65
+
66
+ // Defines the target of interest, e.g. event/entity type URL and a set of subscription
67
+ // criteria.
68
+ Target target = 2 [(required) = true, (validate) = true];
69
+
70
+ // Field mask to be applied to the subscription updates.
71
+ google.protobuf.FieldMask field_mask = 3;
72
+
73
+ // Service information about the environment in which the topic was created.
74
+ core.ActorContext context = 4 [(required) = true, (validate) = true];
75
+ }
76
+
77
+ // Wrapped collection of read-side entity updates on a topic with the specific subscription ID.
78
+ message SubscriptionUpdate {
79
+ option (is).java_type = "SubscriptionUpdateMixin";
80
+
81
+ // The subscription in whose scope this update is propagated.
82
+ Subscription subscription = 1 [(required) = true];
83
+
84
+ // Represents the base part of the response,
85
+ // i.e. whether the Topic subscription has been acked or not.
86
+ core.Response response = 2 [(required) = true];
87
+
88
+ // Reserved for more subscription update attributes.
89
+ reserved 3 to 9;
90
+
91
+ // Deleted field `updates`.
92
+ //
93
+ // Use the new `update` field instead.
94
+ //
95
+ reserved 10;
96
+
97
+ // Deleted field `entity_state_updates`.
98
+ //
99
+ // Use the new `update` field instead.
100
+ //
101
+ reserved 11;
102
+
103
+ // Each subscription update delivers either entity state updates or events that occurred in the
104
+ // system.
105
+ oneof update {
106
+
107
+ // The entity state updates if it's an entity subscription.
108
+ EntityUpdates entity_updates = 12;
109
+
110
+ // The new events that occurred in the system if it's an event subscription.
111
+ EventUpdates event_updates = 13;
112
+ }
113
+ }
114
+
115
+ // The updates on the observed entity state.
116
+ message EntityUpdates {
117
+
118
+ // The entity state update list.
119
+ repeated EntityStateUpdate update = 1 [(validate) = true];
120
+ }
121
+
122
+ // The update happened to the entity of interest.
123
+ message EntityStateUpdate {
124
+
125
+ // The entity ID packed as Any.
126
+ google.protobuf.Any id = 1 [(required) = true];
127
+
128
+ // The update may be one of two things.
129
+ oneof kind {
130
+
131
+ // The state of the entity has been updated and packed here as `Any`.
132
+ //
133
+ // If the field mask is set in `Topic`, this value is masked.
134
+ //
135
+ google.protobuf.Any state = 2;
136
+
137
+ // The state of the entity has been changed, so that previously it matched the subscription
138
+ // `Target` filters, and now it does not.
139
+ //
140
+ // For example, consider a subscription to all `UserSession`s in which a user has sent
141
+ // at most `N` requests:
142
+ // ```
143
+ // WHERE REQUEST_COUNT <= N
144
+ // ```
145
+ //
146
+ // Suppose a `UserSession` with ID 42 matches the subscription. After some time, the user
147
+ // makes their N + 1-th request and the `UserSession` with ID 42 stops matching
148
+ // the subscription. Hence, the next update brings the `no_longer_matching` option instead
149
+ // of an entity state.
150
+ //
151
+ bool no_longer_matching = 3;
152
+ }
153
+ }
154
+
155
+ // The new events of the observed type that occurred in the system.
156
+ message EventUpdates {
157
+
158
+ // The event list.
159
+ repeated core.Event event = 1 [(validate) = true];
160
+ }
161
+
162
+ // Subscription identifier.
163
+ message SubscriptionId {
164
+
165
+ // The value of the subscription ID.
166
+ //
167
+ // Starts with the `s-` prefix followed by a generated UUID value.
168
+ //
169
+ string value = 1;
170
+ }
171
+
172
+ // The subscription object.
173
+ //
174
+ // Created when the client subscribes to a topic inside the read-side implementation.
175
+ // Generally should not be created directly in the client code.
176
+ //
177
+ // See SubscriptionService#Subscribe(Topic).
178
+ //
179
+ message Subscription {
180
+
181
+ option (is).java_type = "SubscriptionMixin";
182
+
183
+ // Unique identifier of the subscription.
184
+ //
185
+ // Must be unique in the scope of a bounded context.
186
+ //
187
+ SubscriptionId id = 1 [(required) = true];
188
+
189
+ // Represents the original topic for this subscription.
190
+ Topic topic = 2 [(required) = true, (validate) = true];
191
+ }
192
+
193
+ // Enumeration of possible technical error reasons occurring in topic validation.
194
+ enum TopicValidationError {
195
+
196
+ // Reserved value.
197
+ TVE_UNKNOWN_REASON = 0;
198
+
199
+ // The topic target is not supported by the server.
200
+ UNSUPPORTED_TOPIC_TARGET = 1;
201
+
202
+ // The topic message is invalid according to custom Protobuf options set.
203
+ INVALID_TOPIC = 2;
204
+ }
205
+
206
+ // Enumeration of possible technical error reasons occurring in subscription validation.
207
+ enum SubscriptionValidationError {
208
+
209
+ // Reserved value.
210
+ SVE_UNKNOWN_REASON = 0;
211
+
212
+ // The target of the subscription topic is not supported by the server.
213
+ UNSUPPORTED_SUBSCRIPTION_TARGET = 1;
214
+
215
+ // The subscription message is invalid according to custom Protobuf options set.
216
+ INVALID_SUBSCRIPTION = 2;
217
+
218
+ // This subscription is unknown to this server.
219
+ UNKNOWN_SUBSCRIPTION = 3;
220
+ }