@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,123 @@
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.server.catchup;
30
+
31
+ import "spine/options.proto";
32
+ import "spine/time_options.proto";
33
+
34
+ option (type_url_prefix) = "type.spine.io";
35
+ option java_package = "io.spine.server.delivery";
36
+ option java_outer_classname = "CatchUpProto";
37
+ option java_multiple_files = true;
38
+
39
+ import "google/protobuf/any.proto";
40
+ import "google/protobuf/timestamp.proto";
41
+
42
+ import "spine/core/event.proto";
43
+
44
+ // A state of a catch-up process.
45
+ message CatchUp {
46
+ option (is).java_type = "CatchUpMixin";
47
+
48
+ CatchUpId id = 1;
49
+
50
+ // A description of a catch-up requested.
51
+ message Request {
52
+
53
+ // IDs of the projections under catch-up, packed as `Any`.
54
+ //
55
+ // If no particular targets are set, the catch-up is requested for all entities
56
+ // of the respective kind.
57
+ //
58
+ repeated google.protobuf.Any target = 1;
59
+
60
+ // Since which point in time the catch-up has been originally requested.
61
+ //
62
+ // This value is inclusive of the timestamp of events to which this catch-up should
63
+ // be applicable.
64
+ //
65
+ google.protobuf.Timestamp since_when = 2 [(required) = true, (when).in = PAST];
66
+
67
+ // The type URLs of events to read from the Event Store.
68
+ repeated string event_type = 3;
69
+ }
70
+
71
+ // The original request.
72
+ Request request = 2 [(required) = true, (validate) = true];
73
+
74
+ // During the catch-up, this field holds the timestamp of the last event already processed.
75
+ google.protobuf.Timestamp when_last_read = 3;
76
+
77
+ // The current status of the catch-up process.
78
+ CatchUpStatus status = 4 [(required) = true];
79
+
80
+ // The total number of shards in the environment
81
+ // at the moment of the last dispatching of the historical messages.
82
+ //
83
+ int32 total_shards = 5;
84
+
85
+ // The indexes of the shards through which the historical messages were dispatched.
86
+ repeated int32 affected_shard = 6;
87
+
88
+ // The number of target projection instances whose state has to be cleared before
89
+ // the historical events start being recalled.
90
+ //
91
+ int32 instances_to_clear = 7;
92
+
93
+ // The indexes of shards in which the dispatching of the catch-up events is finalized.
94
+ repeated int32 finalized_shard = 8;
95
+ }
96
+
97
+ // An ID of a catch-up process.
98
+ message CatchUpId {
99
+
100
+ string uuid = 1;
101
+
102
+ // A type URL of the projection under catch-up.
103
+ string projection_type = 2 [(required) = true];
104
+ }
105
+
106
+ // The status of a catch-up process.
107
+ enum CatchUpStatus {
108
+
109
+ // Not started.
110
+ CUS_UNDEFINED = 0;
111
+
112
+ // The process has been started.
113
+ STARTED = 1;
114
+
115
+ // The process has been started and is in progress.
116
+ IN_PROGRESS = 2;
117
+
118
+ // The process is now processing the events that are close to the current time.
119
+ FINALIZING = 3;
120
+
121
+ // The process is completed.
122
+ COMPLETED = 4;
123
+ }
@@ -0,0 +1,166 @@
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.server.delivery;
30
+
31
+ import "spine/options.proto";
32
+
33
+ option (type_url_prefix) = "type.spine.io";
34
+ option (internal_all) = true;
35
+
36
+ option java_package = "io.spine.server.delivery";
37
+ option java_outer_classname = "DeliveryProto";
38
+ option java_multiple_files = true;
39
+
40
+ import "google/protobuf/timestamp.proto";
41
+
42
+ import "spine/server/server_environment.proto";
43
+ import "spine/server/catchup/catch_up.proto";
44
+
45
+ // An index of a shard.
46
+ //
47
+ // A value type used across the application. To be potentially used in JavaScript, Go, C++ and
48
+ // other client and server environments that are split into shards.
49
+ //
50
+ message ShardIndex {
51
+
52
+ // The zero-based index of the shard.
53
+ int32 index = 1 [(min).value = "0"];
54
+
55
+ // Total number of shards.
56
+ int32 of_total = 2 [(min).value = "1"];
57
+ }
58
+
59
+ // A record describing the session in scope of which sharded messages are being processed.
60
+ message ShardSessionRecord {
61
+
62
+ // The index of a shard processed in this session.
63
+ ShardIndex index = 1 [(required) = true];
64
+
65
+ // When the shard processed within the session was last picked up by the node.
66
+ //
67
+ // This field is unset if no nodes ever picked up the session.
68
+ //
69
+ google.protobuf.Timestamp when_last_picked = 3;
70
+
71
+ // An identifier of an application worker, which picked up the shard and processes it.
72
+ //
73
+ // Unset until a worker picks the shard.
74
+ //
75
+ WorkerId worker = 4;
76
+
77
+ reserved 2;
78
+ reserved "picked_by";
79
+ }
80
+
81
+ // A stage of the `Delivery` process running for some particular `ShardIndex`.
82
+ message DeliveryStage {
83
+
84
+ // The index of a shard for which the delivery stage was performed.
85
+ ShardIndex index = 1 [(required) = true, (validate) = true];
86
+
87
+ // How many messages were delivered in scope of this stage.
88
+ int32 messagesDelivered = 2 [(min).value = "0"];
89
+ }
90
+
91
+ // A process performing the maintenance of the shard with its messages.
92
+ //
93
+ // Represented in each of the bounded contexts as an event reactor,
94
+ // as it's impossible to have several process managers of the same state across bounded contexts.
95
+ message ShardMaintenance {
96
+
97
+ ShardIndex id = 1;
98
+ }
99
+
100
+ // The configuration data `Delivery` used at its run-time to make decisions on how
101
+ // to dispatch messages.
102
+ //
103
+ // The system-wide processes, such as `CatchUp`, need to know the details on how the messages
104
+ // were dispatched by `Delivery`. Therefore, `Delivery` records some of its parameters
105
+ // when it is delivering the signals, and passes this data on to all interested parties.
106
+ //
107
+ message DeliveryRunInfo {
108
+
109
+ // The catch-up jobs observed by the Delivery.
110
+ repeated catchup.CatchUp catch_up_job = 1;
111
+ }
112
+
113
+ // An identifier of a worker that processes a shard.
114
+ //
115
+ // This value is unique across the application. It is used to indicate who is currently processing
116
+ // which shard. A single node can contain several workers (typically represented by threads)
117
+ // processing different shards.
118
+ message WorkerId {
119
+
120
+ // A node to which this worker belongs.
121
+ NodeId nodeId = 1 [(required) = true];
122
+
123
+ // Worker's identifier.
124
+ //
125
+ // An example of such an identifier could be the ID of the thread that processes a shard.
126
+ string value = 2 [(required) = true];
127
+ }
128
+
129
+ // An outcome of a shard pick-up request, stating that the shard is already picked up
130
+ // by another worker.
131
+ message ShardAlreadyPickedUp {
132
+
133
+ // A worker that owns the session at the moment.
134
+ WorkerId worker = 1 [(required) = true];
135
+
136
+ // Time when the worker has picked up the shard.
137
+ //
138
+ // Note: this value is not synchronized between application servers by default.
139
+ // The wall clock on each instance is generally slightly different.
140
+ // Comparing this value (potentially instantiated on another application node)
141
+ // with the wall clock on your current application node may give
142
+ // some misleading results.
143
+ //
144
+ google.protobuf.Timestamp when_picked = 2 [(required) = true];
145
+ }
146
+
147
+ // An outcome of a shard pick-up attempt.
148
+ message PickUpOutcome {
149
+
150
+ option (is).java_type = "io.spine.server.delivery.PickUpOutcomeMixin";
151
+
152
+ oneof value {
153
+ option (choice).required = true;
154
+
155
+ // Shard was picked up successfully, and this value points to the
156
+ // delivery session owned by the node requested to pick up the shard.
157
+ ShardSessionRecord session = 1;
158
+
159
+ // Shard could not be picked up as it's already picked up by another worker.
160
+ //
161
+ // This value brings some additional information about the currently
162
+ // ongoing session owned by another worker node.
163
+ //
164
+ ShardAlreadyPickedUp already_picked = 2;
165
+ }
166
+ }
@@ -0,0 +1,72 @@
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.server.delivery;
30
+
31
+ import "spine/options.proto";
32
+
33
+ option (type_url_prefix) = "type.spine.io";
34
+ option (internal_all) = true;
35
+ option (every_is).java_type = "io.spine.server.delivery.ShardEvent";
36
+
37
+ option java_package = "io.spine.server.delivery.event";
38
+ option java_outer_classname = "DeliveryEventsProto";
39
+ option java_multiple_files = true;
40
+
41
+ import "google/protobuf/any.proto";
42
+
43
+ import "spine/server/delivery/delivery.proto";
44
+ import "spine/server/catchup/catch_up.proto";
45
+
46
+ // The processing of the messages in the particular shard was requested by the framework.
47
+ message ShardProcessingRequested {
48
+
49
+ ShardIndex index = 1 [(required) = true, (validate) = true];
50
+
51
+ // The run-time data of the delivery at the moment when this event has been dispatched.
52
+ DeliveryRunInfo run_info = 2;
53
+
54
+ // An identifier of a `CatchUp` process in scope of which the shard processing
55
+ // was originally requested.
56
+ //
57
+ catchup.CatchUpId process = 3 [(required) = true];
58
+ }
59
+
60
+ // The processing of the messages in the particular shard was performed.
61
+ message ShardProcessed {
62
+
63
+ ShardIndex index = 1 [(required) = true, (validate) = true];
64
+
65
+ // The run-time data of the delivery at the moment when the shard was processed.
66
+ DeliveryRunInfo run_info = 2;
67
+
68
+ // An identifier of a `CatchUp` process in scope of which the shard processing
69
+ // was originally requested.
70
+ //
71
+ catchup.CatchUpId process = 3 [(required) = true];
72
+ }
@@ -0,0 +1,169 @@
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.server.delivery;
30
+
31
+ import "spine/options.proto";
32
+
33
+ option (type_url_prefix) = "type.spine.io";
34
+ option (internal_all) = true;
35
+
36
+ option java_package = "io.spine.server.delivery";
37
+ option java_outer_classname = "InboxProto";
38
+ option java_multiple_files = true;
39
+
40
+ import "google/protobuf/timestamp.proto";
41
+
42
+ import "spine/client/entities.proto";
43
+ import "spine/core/event.proto";
44
+ import "spine/core/command.proto";
45
+ import "spine/server/delivery/delivery.proto";
46
+
47
+
48
+ // An identifier of an entity inbox.
49
+ message InboxId {
50
+
51
+ // The ID of the entity.
52
+ spine.client.EntityId entity_id = 1;
53
+
54
+ // The type URL of the entity state.
55
+ string type_url = 2;
56
+ }
57
+
58
+ // A label telling how to dispatch a message, residing in the `Inbox`.
59
+ enum InboxLabel {
60
+
61
+ IL_UNKNOWN = 0;
62
+
63
+ // Pass a command message to an `@Assign` or `@Command`-annotated command handler.
64
+ HANDLE_COMMAND = 1;
65
+
66
+ // Pass an event message to a `@Subscribe`-annotated event handler.
67
+ UPDATE_SUBSCRIBER = 3;
68
+
69
+ // Pass an event message to a `@React` or `@Command`-annotated event handler.
70
+ REACT_UPON_EVENT = 4;
71
+
72
+ // Retained for wire compatibility; no longer produced by the runtime.
73
+ //
74
+ // This label used to route an event to an event-importing receptor (an
75
+ // `@Apply` applier with `allowImport` enabled). Event import and `@Apply`
76
+ // were removed during the event-sourcing cutover, so nothing emits this
77
+ // label anymore. The value is kept so that `InboxMessage` records written
78
+ // by earlier versions still parse.
79
+ IMPORT_EVENT = 5 [deprecated = true];
80
+
81
+ // Pass an event message to the projection in scope of a catch-up process.
82
+ CATCH_UP = 6;
83
+ }
84
+
85
+ // A status of the message in the `Inbox`.
86
+ enum InboxMessageStatus {
87
+
88
+ IMS_UNKNOWN = 0;
89
+
90
+ // The message is ready to be delivered.
91
+ TO_DELIVER = 1;
92
+
93
+ // The message is scheduled for the delivery.
94
+ SCHEDULED = 2;
95
+
96
+ // The message is already delivered and can be removed once it's no longer needed
97
+ // for deduplication.
98
+ DELIVERED = 3;
99
+
100
+ // The message is sent as a part of a catch-up process.
101
+ TO_CATCH_UP = 4;
102
+ }
103
+
104
+ // Identifies the message in the `Inbox`.
105
+ message InboxMessageId {
106
+
107
+ // UUID-based identifier.
108
+ string uuid = 1 [(required) = true];
109
+
110
+ // A shard in which the identified message resides.
111
+ ShardIndex index = 2 [(required) = true];
112
+ }
113
+
114
+ // Identifies the original signal message that is packed inside the `InboxMessage`.
115
+ message InboxSignalId {
116
+
117
+ // The value of the identifier of the source signal message that has been put into the `Inbox`.
118
+ //
119
+ // E.g. if an instance of `Event` is put into the `Inbox`,
120
+ // this field has a value of `Event.id.value`.
121
+ //
122
+ string value = 1 [(required) = true];
123
+ }
124
+
125
+
126
+ // A message in the inbox.
127
+ message InboxMessage {
128
+
129
+ option (is).java_type = "io.spine.server.delivery.InboxMessageMixin";
130
+
131
+ InboxMessageId id = 1 [(required) = true];
132
+
133
+ InboxSignalId signal_id = 2 [(required) = true];
134
+
135
+ // The identifier of the `Inbox` in which this message is stored.
136
+ InboxId inbox_id = 3 [(required) = true];
137
+
138
+ // The `shard_index` is now a part of `InboxMessageId`.
139
+ reserved 4;
140
+ reserved "shard_index";
141
+
142
+ // What the message is.
143
+ oneof payload {
144
+
145
+ core.Event event = 5;
146
+
147
+ core.Command command = 6;
148
+ }
149
+
150
+ InboxLabel label = 7 [(required) = true];
151
+
152
+ InboxMessageStatus status = 8 [(required) = true];
153
+
154
+ // A point in time when the message was received by the `Inbox` instance.
155
+ google.protobuf.Timestamp when_received = 9 [(required) = true];
156
+
157
+ // An `Inbox`-internal version of the message.
158
+ //
159
+ // Used to order the messages received at the very same millisecond.
160
+ //
161
+ int32 version = 10 [(min).value = "0"];
162
+
163
+ // If set, this value determines for how long the message should be kept in the `Inbox`
164
+ // after being delivered. During this time it may be used for deduplication.
165
+ //
166
+ // If not set, the message will not be kept any longer than required to deliver it.
167
+ //
168
+ google.protobuf.Timestamp keep_until = 11;
169
+ }
@@ -0,0 +1,105 @@
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.server.entity;
30
+
31
+ import "spine/options.proto";
32
+
33
+ option (type_url_prefix) = "type.spine.io";
34
+ option (SPI_all) = true;
35
+ option java_package = "io.spine.server.entity";
36
+ option java_multiple_files = true;
37
+ option java_outer_classname = "EntityProto";
38
+
39
+ import "google/protobuf/any.proto";
40
+
41
+ import "spine/core/version.proto";
42
+
43
+ // The record for passing information about an entity.
44
+ message EntityRecord {
45
+ option (SPI_type) = true;
46
+ option (is).java_type = "WithLifecycle";
47
+
48
+ // The ID of the entity.
49
+ google.protobuf.Any entity_id = 1;
50
+
51
+ // The state of the entity.
52
+ google.protobuf.Any state = 2;
53
+
54
+ // The version of the entity.
55
+ core.Version version = 3;
56
+
57
+ // The lifecycle flags of the entity.
58
+ LifecycleFlags lifecycle_flags = 4;
59
+ }
60
+
61
+ // The lifecycle flags of an entity.
62
+ message LifecycleFlags {
63
+
64
+ // Marks the entity as `archived`.
65
+ //
66
+ // An application may use this flag for filtering out entities
67
+ // that finished their normal lifecycle and are kept in the database
68
+ // for archival purposes.
69
+ //
70
+ bool archived = 1;
71
+
72
+ // Marks the entity as `deleted`.
73
+ //
74
+ // An application may use this flag for filtering out entities that were
75
+ // put aside (e.g. into a Trash) because they are no longer needed.
76
+ //
77
+ // An application may also use this flag for periodical automatic removal of entities
78
+ // marked with this flag.
79
+ //
80
+ bool deleted = 2;
81
+ }
82
+
83
+ // The change in the state of an entity.
84
+ message EntityRecordChange {
85
+
86
+ // The value of fields that are changing.
87
+ EntityRecord previous_value = 1;
88
+
89
+ // The new value of fields.
90
+ EntityRecord new_value = 2;
91
+ }
92
+
93
+ // Enumeration of possible entity state validation errors.
94
+ //
95
+ // Contains the reasons for errors that are exclusively technical
96
+ // and have no relation to business errors.
97
+ //
98
+ enum EntityStateValidationError {
99
+
100
+ // Reserved value.
101
+ UNKNOWN_REASON = 0;
102
+
103
+ // The entity state does not pass the validation.
104
+ INVALID_ENTITY_STATE = 1;
105
+ }
@@ -0,0 +1,55 @@
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.server.entity;
30
+
31
+ import "spine/options.proto";
32
+
33
+ option (type_url_prefix) = "type.spine.io";
34
+ option (SPI_all) = true;
35
+ option java_package = "io.spine.server.entity";
36
+ option java_outer_classname = "StateKeyProto";
37
+ option java_multiple_files = true;
38
+
39
+ import "google/protobuf/any.proto";
40
+
41
+ // Identifies a stored state of an entity: the entity and the version
42
+ // at which the state became current.
43
+ //
44
+ // Serves as the record key of the entity state history, so writing the state
45
+ // of the same entity at the same version again overwrites one record instead
46
+ // of creating a duplicate.
47
+ //
48
+ message EntityStateKey {
49
+
50
+ // The packed identifier of the entity.
51
+ google.protobuf.Any entity_id = 1;
52
+
53
+ // The number of the entity version this state belongs to.
54
+ int32 version = 2;
55
+ }