@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.
- package/LICENSE +201 -0
- package/README.md +142 -0
- package/REFERENCE.md +83 -0
- package/dist/generated/grpc/health/v1/health_pb.d.ts +115 -0
- package/dist/generated/grpc/health/v1/health_pb.d.ts.map +1 -0
- package/dist/generated/grpc/health/v1/health_pb.js +58 -0
- package/dist/generated/grpc/health/v1/health_pb.js.map +1 -0
- package/dist/generated/proto-module.d.ts +61 -0
- package/dist/generated/proto-module.d.ts.map +1 -0
- package/dist/generated/proto-module.js +315 -0
- package/dist/generated/proto-module.js.map +1 -0
- package/dist/generated/spine/auth/authenticated_subscription_pb.d.ts +47 -0
- package/dist/generated/spine/auth/authenticated_subscription_pb.d.ts.map +1 -0
- package/dist/generated/spine/auth/authenticated_subscription_pb.js +20 -0
- package/dist/generated/spine/auth/authenticated_subscription_pb.js.map +1 -0
- package/dist/generated/spine/auth/authentication_service_pb.d.ts +79 -0
- package/dist/generated/spine/auth/authentication_service_pb.d.ts.map +1 -0
- package/dist/generated/spine/auth/authentication_service_pb.js +34 -0
- package/dist/generated/spine/auth/authentication_service_pb.js.map +1 -0
- package/dist/generated/spine/base/error_pb.d.ts +69 -0
- package/dist/generated/spine/base/error_pb.d.ts.map +1 -0
- package/dist/generated/spine/base/error_pb.js +19 -0
- package/dist/generated/spine/base/error_pb.js.map +1 -0
- package/dist/generated/spine/base/field_path_pb.d.ts +50 -0
- package/dist/generated/spine/base/field_path_pb.d.ts.map +1 -0
- package/dist/generated/spine/base/field_path_pb.js +18 -0
- package/dist/generated/spine/base/field_path_pb.js.map +1 -0
- package/dist/generated/spine/client/command_service_pb.d.ts +46 -0
- package/dist/generated/spine/client/command_service_pb.d.ts.map +1 -0
- package/dist/generated/spine/client/command_service_pb.js +21 -0
- package/dist/generated/spine/client/command_service_pb.js.map +1 -0
- package/dist/generated/spine/client/entities_pb.d.ts +37 -0
- package/dist/generated/spine/client/entities_pb.d.ts.map +1 -0
- package/dist/generated/spine/client/entities_pb.js +19 -0
- package/dist/generated/spine/client/entities_pb.js.map +1 -0
- package/dist/generated/spine/client/filters_pb.d.ts +279 -0
- package/dist/generated/spine/client/filters_pb.d.ts.map +1 -0
- package/dist/generated/spine/client/filters_pb.js +126 -0
- package/dist/generated/spine/client/filters_pb.js.map +1 -0
- package/dist/generated/spine/client/query_pb.d.ts +293 -0
- package/dist/generated/spine/client/query_pb.d.ts.map +1 -0
- package/dist/generated/spine/client/query_pb.js +132 -0
- package/dist/generated/spine/client/query_pb.js.map +1 -0
- package/dist/generated/spine/client/query_service_pb.d.ts +31 -0
- package/dist/generated/spine/client/query_service_pb.d.ts.map +1 -0
- package/dist/generated/spine/client/query_service_pb.js +21 -0
- package/dist/generated/spine/client/query_service_pb.js.map +1 -0
- package/dist/generated/spine/client/subscription_pb.d.ts +361 -0
- package/dist/generated/spine/client/subscription_pb.d.ts.map +1 -0
- package/dist/generated/spine/client/subscription_pb.js +137 -0
- package/dist/generated/spine/client/subscription_pb.js.map +1 -0
- package/dist/generated/spine/client/subscription_record_pb.d.ts +90 -0
- package/dist/generated/spine/client/subscription_record_pb.d.ts.map +1 -0
- package/dist/generated/spine/client/subscription_record_pb.js +52 -0
- package/dist/generated/spine/client/subscription_record_pb.js.map +1 -0
- package/dist/generated/spine/client/subscription_service_pb.d.ts +86 -0
- package/dist/generated/spine/client/subscription_service_pb.d.ts.map +1 -0
- package/dist/generated/spine/client/subscription_service_pb.js +36 -0
- package/dist/generated/spine/client/subscription_service_pb.js.map +1 -0
- package/dist/generated/spine/core/ack_pb.d.ts +47 -0
- package/dist/generated/spine/core/ack_pb.d.ts.map +1 -0
- package/dist/generated/spine/core/ack_pb.js +20 -0
- package/dist/generated/spine/core/ack_pb.js.map +1 -0
- package/dist/generated/spine/core/actor_context_pb.d.ts +74 -0
- package/dist/generated/spine/core/actor_context_pb.d.ts.map +1 -0
- package/dist/generated/spine/core/actor_context_pb.js +23 -0
- package/dist/generated/spine/core/actor_context_pb.js.map +1 -0
- package/dist/generated/spine/core/bounded_context_pb.d.ts +35 -0
- package/dist/generated/spine/core/bounded_context_pb.d.ts.map +1 -0
- package/dist/generated/spine/core/bounded_context_pb.js +18 -0
- package/dist/generated/spine/core/bounded_context_pb.js.map +1 -0
- package/dist/generated/spine/core/command_pb.d.ts +245 -0
- package/dist/generated/spine/core/command_pb.d.ts.map +1 -0
- package/dist/generated/spine/core/command_pb.js +106 -0
- package/dist/generated/spine/core/command_pb.js.map +1 -0
- package/dist/generated/spine/core/diagnostics_pb.d.ts +97 -0
- package/dist/generated/spine/core/diagnostics_pb.d.ts.map +1 -0
- package/dist/generated/spine/core/diagnostics_pb.js +27 -0
- package/dist/generated/spine/core/diagnostics_pb.js.map +1 -0
- package/dist/generated/spine/core/enrichment_pb.d.ts +85 -0
- package/dist/generated/spine/core/enrichment_pb.d.ts.map +1 -0
- package/dist/generated/spine/core/enrichment_pb.js +25 -0
- package/dist/generated/spine/core/enrichment_pb.js.map +1 -0
- package/dist/generated/spine/core/event_pb.d.ts +307 -0
- package/dist/generated/spine/core/event_pb.d.ts.map +1 -0
- package/dist/generated/spine/core/event_pb.js +80 -0
- package/dist/generated/spine/core/event_pb.js.map +1 -0
- package/dist/generated/spine/core/response_pb.d.ts +87 -0
- package/dist/generated/spine/core/response_pb.d.ts.map +1 -0
- package/dist/generated/spine/core/response_pb.js +27 -0
- package/dist/generated/spine/core/response_pb.js.map +1 -0
- package/dist/generated/spine/core/tenant_id_pb.d.ts +64 -0
- package/dist/generated/spine/core/tenant_id_pb.d.ts.map +1 -0
- package/dist/generated/spine/core/tenant_id_pb.js +20 -0
- package/dist/generated/spine/core/tenant_id_pb.js.map +1 -0
- package/dist/generated/spine/core/user_id_pb.d.ts +33 -0
- package/dist/generated/spine/core/user_id_pb.d.ts.map +1 -0
- package/dist/generated/spine/core/user_id_pb.js +18 -0
- package/dist/generated/spine/core/user_id_pb.js.map +1 -0
- package/dist/generated/spine/core/version_pb.d.ts +44 -0
- package/dist/generated/spine/core/version_pb.d.ts.map +1 -0
- package/dist/generated/spine/core/version_pb.js +19 -0
- package/dist/generated/spine/core/version_pb.js.map +1 -0
- package/dist/generated/spine/delivery/admin/admin_service_pb.d.ts +219 -0
- package/dist/generated/spine/delivery/admin/admin_service_pb.d.ts.map +1 -0
- package/dist/generated/spine/delivery/admin/admin_service_pb.js +75 -0
- package/dist/generated/spine/delivery/admin/admin_service_pb.js.map +1 -0
- package/dist/generated/spine/delivery/commands_pb.d.ts +181 -0
- package/dist/generated/spine/delivery/commands_pb.d.ts.map +1 -0
- package/dist/generated/spine/delivery/commands_pb.js +57 -0
- package/dist/generated/spine/delivery/commands_pb.js.map +1 -0
- package/dist/generated/spine/delivery/events_pb.d.ts +230 -0
- package/dist/generated/spine/delivery/events_pb.d.ts.map +1 -0
- package/dist/generated/spine/delivery/events_pb.js +63 -0
- package/dist/generated/spine/delivery/events_pb.js.map +1 -0
- package/dist/generated/spine/delivery/message_delivery_pb.d.ts +205 -0
- package/dist/generated/spine/delivery/message_delivery_pb.d.ts.map +1 -0
- package/dist/generated/spine/delivery/message_delivery_pb.js +50 -0
- package/dist/generated/spine/delivery/message_delivery_pb.js.map +1 -0
- package/dist/generated/spine/delivery/pick_up_outcome_pb.d.ts +58 -0
- package/dist/generated/spine/delivery/pick_up_outcome_pb.d.ts.map +1 -0
- package/dist/generated/spine/delivery/pick_up_outcome_pb.js +20 -0
- package/dist/generated/spine/delivery/pick_up_outcome_pb.js.map +1 -0
- package/dist/generated/spine/delivery/rejections_pb.d.ts +95 -0
- package/dist/generated/spine/delivery/rejections_pb.d.ts.map +1 -0
- package/dist/generated/spine/delivery/rejections_pb.js +32 -0
- package/dist/generated/spine/delivery/rejections_pb.js.map +1 -0
- package/dist/generated/spine/deployment/node_discovery_pb.d.ts +102 -0
- package/dist/generated/spine/deployment/node_discovery_pb.d.ts.map +1 -0
- package/dist/generated/spine/deployment/node_discovery_pb.js +32 -0
- package/dist/generated/spine/deployment/node_discovery_pb.js.map +1 -0
- package/dist/generated/spine/net/email_address_pb.d.ts +37 -0
- package/dist/generated/spine/net/email_address_pb.d.ts.map +1 -0
- package/dist/generated/spine/net/email_address_pb.js +18 -0
- package/dist/generated/spine/net/email_address_pb.js.map +1 -0
- package/dist/generated/spine/net/internet_domain_pb.d.ts +35 -0
- package/dist/generated/spine/net/internet_domain_pb.d.ts.map +1 -0
- package/dist/generated/spine/net/internet_domain_pb.js +18 -0
- package/dist/generated/spine/net/internet_domain_pb.js.map +1 -0
- package/dist/generated/spine/options_pb.d.ts +1932 -0
- package/dist/generated/spine/options_pb.d.ts.map +1 -0
- package/dist/generated/spine/options_pb.js +960 -0
- package/dist/generated/spine/options_pb.js.map +1 -0
- package/dist/generated/spine/server/catchup/catch_up_pb.d.ts +185 -0
- package/dist/generated/spine/server/catchup/catch_up_pb.d.ts.map +1 -0
- package/dist/generated/spine/server/catchup/catch_up_pb.js +77 -0
- package/dist/generated/spine/server/catchup/catch_up_pb.js.map +1 -0
- package/dist/generated/spine/server/delivery/delivery_events_pb.d.ts +79 -0
- package/dist/generated/spine/server/delivery/delivery_events_pb.d.ts.map +1 -0
- package/dist/generated/spine/server/delivery/delivery_events_pb.js +27 -0
- package/dist/generated/spine/server/delivery/delivery_events_pb.js.map +1 -0
- package/dist/generated/spine/server/delivery/delivery_pb.d.ts +265 -0
- package/dist/generated/spine/server/delivery/delivery_pb.d.ts.map +1 -0
- package/dist/generated/spine/server/delivery/delivery_pb.js +63 -0
- package/dist/generated/spine/server/delivery/delivery_pb.js.map +1 -0
- package/dist/generated/spine/server/delivery/inbox_pb.d.ts +272 -0
- package/dist/generated/spine/server/delivery/inbox_pb.d.ts.map +1 -0
- package/dist/generated/spine/server/delivery/inbox_pb.js +139 -0
- package/dist/generated/spine/server/delivery/inbox_pb.js.map +1 -0
- package/dist/generated/spine/server/entity/entity_pb.d.ts +146 -0
- package/dist/generated/spine/server/entity/entity_pb.d.ts.map +1 -0
- package/dist/generated/spine/server/entity/entity_pb.js +62 -0
- package/dist/generated/spine/server/entity/entity_pb.js.map +1 -0
- package/dist/generated/spine/server/entity/state_key_pb.d.ts +46 -0
- package/dist/generated/spine/server/entity/state_key_pb.d.ts.map +1 -0
- package/dist/generated/spine/server/entity/state_key_pb.js +19 -0
- package/dist/generated/spine/server/entity/state_key_pb.js.map +1 -0
- package/dist/generated/spine/server/integration/broker_pb.d.ts +152 -0
- package/dist/generated/spine/server/integration/broker_pb.d.ts.map +1 -0
- package/dist/generated/spine/server/integration/broker_pb.js +65 -0
- package/dist/generated/spine/server/integration/broker_pb.js.map +1 -0
- package/dist/generated/spine/server/server_environment_pb.d.ts +65 -0
- package/dist/generated/spine/server/server_environment_pb.d.ts.map +1 -0
- package/dist/generated/spine/server/server_environment_pb.js +53 -0
- package/dist/generated/spine/server/server_environment_pb.js.map +1 -0
- package/dist/generated/spine/server/transport/transport_pb.d.ts +33 -0
- package/dist/generated/spine/server/transport/transport_pb.d.ts.map +1 -0
- package/dist/generated/spine/server/transport/transport_pb.js +18 -0
- package/dist/generated/spine/server/transport/transport_pb.js.map +1 -0
- package/dist/generated/spine/string/template_string_pb.d.ts +66 -0
- package/dist/generated/spine/string/template_string_pb.d.ts.map +1 -0
- package/dist/generated/spine/string/template_string_pb.js +18 -0
- package/dist/generated/spine/string/template_string_pb.js.map +1 -0
- package/dist/generated/spine/system/server/entity_log_events_pb.d.ts +505 -0
- package/dist/generated/spine/system/server/entity_log_events_pb.d.ts.map +1 -0
- package/dist/generated/spine/system/server/entity_log_events_pb.js +84 -0
- package/dist/generated/spine/system/server/entity_log_events_pb.js.map +1 -0
- package/dist/generated/spine/system/server/entity_type_pb.d.ts +46 -0
- package/dist/generated/spine/system/server/entity_type_pb.d.ts.map +1 -0
- package/dist/generated/spine/system/server/entity_type_pb.js +18 -0
- package/dist/generated/spine/system/server/entity_type_pb.js.map +1 -0
- package/dist/generated/spine/time/time_pb.d.ts +393 -0
- package/dist/generated/spine/time/time_pb.d.ts.map +1 -0
- package/dist/generated/spine/time/time_pb.js +184 -0
- package/dist/generated/spine/time/time_pb.js.map +1 -0
- package/dist/generated/spine/time_options_pb.d.ts +106 -0
- package/dist/generated/spine/time_options_pb.d.ts.map +1 -0
- package/dist/generated/spine/time_options_pb.js +58 -0
- package/dist/generated/spine/time_options_pb.js.map +1 -0
- package/dist/generated/spine/ui/language_pb.d.ts +1140 -0
- package/dist/generated/spine/ui/language_pb.d.ts.map +1 -0
- package/dist/generated/spine/ui/language_pb.js +1141 -0
- package/dist/generated/spine/ui/language_pb.js.map +1 -0
- package/dist/generated/spine/validation/validation_error_pb.d.ts +156 -0
- package/dist/generated/spine/validation/validation_error_pb.d.ts.map +1 -0
- package/dist/generated/spine/validation/validation_error_pb.js +27 -0
- package/dist/generated/spine/validation/validation_error_pb.js.map +1 -0
- package/dist/src/auth/index.d.ts +6 -0
- package/dist/src/auth/index.d.ts.map +1 -0
- package/dist/src/auth/index.js +19 -0
- package/dist/src/auth/index.js.map +1 -0
- package/dist/src/client/index.d.ts +12 -0
- package/dist/src/client/index.d.ts.map +1 -0
- package/dist/src/client/index.js +25 -0
- package/dist/src/client/index.js.map +1 -0
- package/dist/src/delivery/index.d.ts +7 -0
- package/dist/src/delivery/index.d.ts.map +1 -0
- package/dist/src/delivery/index.js +20 -0
- package/dist/src/delivery/index.js.map +1 -0
- package/dist/src/delivery-server/index.d.ts +11 -0
- package/dist/src/delivery-server/index.d.ts.map +1 -0
- package/dist/src/delivery-server/index.js +24 -0
- package/dist/src/delivery-server/index.js.map +1 -0
- package/dist/src/deployment/index.d.ts +5 -0
- package/dist/src/deployment/index.d.ts.map +1 -0
- package/dist/src/deployment/index.js +18 -0
- package/dist/src/deployment/index.js.map +1 -0
- package/dist/src/index.d.ts +333 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +310 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/model/proto-module.d.ts +20 -0
- package/dist/src/model/proto-module.d.ts.map +1 -0
- package/dist/src/model/proto-module.js +15 -0
- package/dist/src/model/proto-module.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/generated/.spine-proto-generation.json +1 -0
- package/generated/grpc/health/v1/health_pb.ts +141 -0
- package/generated/proto-module.ts +320 -0
- package/generated/spine/auth/authenticated_subscription_pb.ts +64 -0
- package/generated/spine/auth/authentication_service_pb.ts +103 -0
- package/generated/spine/base/error_pb.ts +86 -0
- package/generated/spine/base/field_path_pb.ts +63 -0
- package/generated/spine/client/command_service_pb.ts +60 -0
- package/generated/spine/client/entities_pb.ts +51 -0
- package/generated/spine/client/filters_pb.ts +322 -0
- package/generated/spine/client/query_pb.ts +345 -0
- package/generated/spine/client/query_service_pb.ts +45 -0
- package/generated/spine/client/subscription_pb.ts +414 -0
- package/generated/spine/client/subscription_record_pb.ts +114 -0
- package/generated/spine/client/subscription_service_pb.ts +100 -0
- package/generated/spine/core/ack_pb.ts +63 -0
- package/generated/spine/core/actor_context_pb.ts +96 -0
- package/generated/spine/core/bounded_context_pb.ts +48 -0
- package/generated/spine/core/command_pb.ts +287 -0
- package/generated/spine/core/diagnostics_pb.ts +120 -0
- package/generated/spine/core/enrichment_pb.ts +97 -0
- package/generated/spine/core/event_pb.ts +347 -0
- package/generated/spine/core/response_pb.ts +103 -0
- package/generated/spine/core/tenant_id_pb.ts +76 -0
- package/generated/spine/core/user_id_pb.ts +46 -0
- package/generated/spine/core/version_pb.ts +59 -0
- package/generated/spine/delivery/admin/admin_service_pb.ts +253 -0
- package/generated/spine/delivery/commands_pb.ts +219 -0
- package/generated/spine/delivery/events_pb.ts +276 -0
- package/generated/spine/delivery/message_delivery_pb.ts +236 -0
- package/generated/spine/delivery/pick_up_outcome_pb.ts +70 -0
- package/generated/spine/delivery/rejections_pb.ts +120 -0
- package/generated/spine/deployment/node_discovery_pb.ts +127 -0
- package/generated/spine/net/email_address_pb.ts +50 -0
- package/generated/spine/net/internet_domain_pb.ts +48 -0
- package/generated/spine/options_pb.ts +2104 -0
- package/generated/spine/server/catchup/catch_up_pb.ts +224 -0
- package/generated/spine/server/delivery/delivery_events_pb.ts +102 -0
- package/generated/spine/server/delivery/delivery_pb.ts +305 -0
- package/generated/spine/server/delivery/inbox_pb.ts +321 -0
- package/generated/spine/server/entity/entity_pb.ts +176 -0
- package/generated/spine/server/entity/state_key_pb.ts +61 -0
- package/generated/spine/server/integration/broker_pb.ts +183 -0
- package/generated/spine/server/server_environment_pb.ts +83 -0
- package/generated/spine/server/transport/transport_pb.ts +46 -0
- package/generated/spine/string/template_string_pb.ts +78 -0
- package/generated/spine/system/server/entity_log_events_pb.ts +587 -0
- package/generated/spine/system/server/entity_type_pb.ts +56 -0
- package/generated/spine/time/time_pb.ts +465 -0
- package/generated/spine/time_options_pb.ts +129 -0
- package/generated/spine/ui/language_pb.ts +1337 -0
- package/generated/spine/validation/validation_error_pb.ts +181 -0
- package/package.json +64 -0
- package/proto/README.md +81 -0
- package/proto/frozen-descriptor-set.sha256 +3 -0
- package/proto/grpc/health/v1/health.proto +63 -0
- package/proto/spine/auth/authenticated_subscription.proto +36 -0
- package/proto/spine/auth/authentication_service.proto +47 -0
- package/proto/spine/base/error.proto +68 -0
- package/proto/spine/base/field_path.proto +59 -0
- package/proto/spine/client/command_service.proto +62 -0
- package/proto/spine/client/entities.proto +48 -0
- package/proto/spine/client/filters.proto +170 -0
- package/proto/spine/client/query.proto +186 -0
- package/proto/spine/client/query_service.proto +46 -0
- package/proto/spine/client/subscription.proto +220 -0
- package/proto/spine/client/subscription_record.proto +55 -0
- package/proto/spine/client/subscription_service.proto +86 -0
- package/proto/spine/core/ack.proto +55 -0
- package/proto/spine/core/actor_context.proto +76 -0
- package/proto/spine/core/bounded_context.proto +47 -0
- package/proto/spine/core/command.proto +170 -0
- package/proto/spine/core/diagnostics.proto +86 -0
- package/proto/spine/core/enrichment.proto +70 -0
- package/proto/spine/core/event.proto +197 -0
- package/proto/spine/core/response.proto +71 -0
- package/proto/spine/core/tenant_id.proto +61 -0
- package/proto/spine/core/user_id.proto +42 -0
- package/proto/spine/core/version.proto +63 -0
- package/proto/spine/delivery/admin/admin_service.proto +110 -0
- package/proto/spine/delivery/commands.proto +86 -0
- package/proto/spine/delivery/events.proto +107 -0
- package/proto/spine/delivery/message_delivery.proto +90 -0
- package/proto/spine/delivery/pick_up_outcome.proto +40 -0
- package/proto/spine/delivery/rejections.proto +49 -0
- package/proto/spine/deployment/node_discovery.proto +59 -0
- package/proto/spine/net/email_address.proto +46 -0
- package/proto/spine/net/internet_domain.proto +43 -0
- package/proto/spine/options.proto +1628 -0
- package/proto/spine/server/catchup/catch_up.proto +123 -0
- package/proto/spine/server/delivery/delivery.proto +166 -0
- package/proto/spine/server/delivery/delivery_events.proto +72 -0
- package/proto/spine/server/delivery/inbox.proto +169 -0
- package/proto/spine/server/entity/entity.proto +105 -0
- package/proto/spine/server/entity/state_key.proto +55 -0
- package/proto/spine/server/integration/broker.proto +112 -0
- package/proto/spine/server/server_environment.proto +57 -0
- package/proto/spine/server/transport/transport.proto +42 -0
- package/proto/spine/string/template_string.proto +70 -0
- package/proto/spine/system/server/entity_log_events.proto +280 -0
- package/proto/spine/system/server/entity_type.proto +49 -0
- package/proto/spine/time/time.proto +221 -0
- package/proto/spine/time_options.proto +106 -0
- package/proto/spine/ui/language.proto +417 -0
- package/proto/spine/validation/validation_error.proto +133 -0
- package/proto/spine-sources.json +438 -0
- package/spine-proto-manifest.json +112 -0
- package/spine-proto.json +10 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026, CodeMatters. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
|
|
5
|
+
* in compliance with the License. You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
|
10
|
+
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
|
11
|
+
* or implied. See the License for the specific language governing permissions and limitations under
|
|
12
|
+
* the License.
|
|
13
|
+
*/
|
|
14
|
+
syntax = "proto3";
|
|
15
|
+
|
|
16
|
+
package spine.client;
|
|
17
|
+
|
|
18
|
+
import "google/protobuf/timestamp.proto";
|
|
19
|
+
import "spine/client/subscription.proto";
|
|
20
|
+
import "spine/options.proto";
|
|
21
|
+
|
|
22
|
+
option (type_url_prefix) = "type.spine.io";
|
|
23
|
+
option java_multiple_files = true;
|
|
24
|
+
|
|
25
|
+
// A lifecycle status of a stored subscription.
|
|
26
|
+
enum SubscriptionStatus {
|
|
27
|
+
|
|
28
|
+
// An unspecified status.
|
|
29
|
+
SS_UNSPECIFIED = 0;
|
|
30
|
+
|
|
31
|
+
// A subscription that is waiting for activation.
|
|
32
|
+
PENDING = 1;
|
|
33
|
+
|
|
34
|
+
// A subscription that delivers matching updates.
|
|
35
|
+
ACTIVE = 2;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// A stored definition of one subscription.
|
|
39
|
+
message SubscriptionRecord {
|
|
40
|
+
|
|
41
|
+
// The identifier used to store this record.
|
|
42
|
+
SubscriptionId id = 1 [(required) = true, (validate) = true];
|
|
43
|
+
|
|
44
|
+
// The subscription represented by this record.
|
|
45
|
+
Subscription subscription = 2 [(required) = true, (validate) = true];
|
|
46
|
+
|
|
47
|
+
// The current lifecycle status.
|
|
48
|
+
SubscriptionStatus status = 3 [(required) = true];
|
|
49
|
+
|
|
50
|
+
// The time when the subscription was created.
|
|
51
|
+
google.protobuf.Timestamp when_created = 4 [(required) = true];
|
|
52
|
+
|
|
53
|
+
// The deadline for activating a pending subscription.
|
|
54
|
+
google.protobuf.Timestamp when_activation_expires = 5;
|
|
55
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
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 = "SubscriptionServiceProto";
|
|
37
|
+
|
|
38
|
+
import "spine/client/subscription.proto";
|
|
39
|
+
import "spine/core/response.proto";
|
|
40
|
+
|
|
41
|
+
// A service for subscribing to receive updates by a specified topic.
|
|
42
|
+
//
|
|
43
|
+
// The subscription topic defines a type in updates of which the client code is interested, and
|
|
44
|
+
// filtering conditions (e.g. by values of fields or identity).
|
|
45
|
+
//
|
|
46
|
+
// Creating a subscription consists of two steps:
|
|
47
|
+
// * Step 1: creating a `Subscription` instance. This step verifies that the type specified in
|
|
48
|
+
// the `Topic` is available at the server, and prepares backend structures for delivering
|
|
49
|
+
// updates. Subscription is created by the `Subscribe(Topic)` call.
|
|
50
|
+
// together with the contexts of the events.
|
|
51
|
+
//
|
|
52
|
+
// * Step 2: activating the subscription. This step turns the subscription on.
|
|
53
|
+
// Activation is performed by the `Activate(Subscription)` call.
|
|
54
|
+
//
|
|
55
|
+
// The client will receive updates until the subscription is cancelled via `Cancel(Subscription)`.
|
|
56
|
+
//
|
|
57
|
+
service SubscriptionService {
|
|
58
|
+
|
|
59
|
+
// Creates the subscription to the particular read-side updates.
|
|
60
|
+
//
|
|
61
|
+
// Topic defines the target of subscription and other attributes (like field masks).
|
|
62
|
+
//
|
|
63
|
+
// NOTE: this method only creates a `Subscription` for the passed `Topic`.
|
|
64
|
+
// To start listening for updates, please call `Activate(Subscription)`.
|
|
65
|
+
//
|
|
66
|
+
rpc Subscribe(Topic) returns (Subscription);
|
|
67
|
+
|
|
68
|
+
// Activates the subscription.
|
|
69
|
+
//
|
|
70
|
+
// The client will start receiving the updates when 1) an instance of the type specified
|
|
71
|
+
// in the topic changes and 2) filtering conditions are met. See `spine.client.Target`.
|
|
72
|
+
//
|
|
73
|
+
// Cancelled subscriptions cannot be activated. Passing a cancelled subscription will result
|
|
74
|
+
// in a run-time error.
|
|
75
|
+
//
|
|
76
|
+
rpc Activate(Subscription) returns (stream SubscriptionUpdate);
|
|
77
|
+
|
|
78
|
+
// Cancels the given subscription.
|
|
79
|
+
//
|
|
80
|
+
// Clients will stop receiving the `SubscriptionUpdate` after this method is called.
|
|
81
|
+
//
|
|
82
|
+
// The subscription is destroyed as the result of this call. To restore the subscription,
|
|
83
|
+
// please call `Subscribe(Topic)` and then `Activate(Subscription)` again.
|
|
84
|
+
//
|
|
85
|
+
rpc Cancel(Subscription) returns (core.Response);
|
|
86
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2022, 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
|
+
* http://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
|
+
syntax = "proto3";
|
|
27
|
+
|
|
28
|
+
package spine.core;
|
|
29
|
+
|
|
30
|
+
import "spine/options.proto";
|
|
31
|
+
|
|
32
|
+
option (type_url_prefix) = "type.spine.io";
|
|
33
|
+
option java_package = "io.spine.core";
|
|
34
|
+
option java_multiple_files = true;
|
|
35
|
+
option java_outer_classname = "BusProto";
|
|
36
|
+
|
|
37
|
+
import "google/protobuf/any.proto";
|
|
38
|
+
|
|
39
|
+
import "spine/core/response.proto";
|
|
40
|
+
|
|
41
|
+
// An acknowledgement of posting a message for asynchronous processing at the server-side.
|
|
42
|
+
//
|
|
43
|
+
// This response means that a message was either accepted for further processing, or rejected
|
|
44
|
+
// (e.g. because of a validation error).
|
|
45
|
+
//
|
|
46
|
+
// The acknowledgement does not mean that the message was handled or even delivered to recipients.
|
|
47
|
+
//
|
|
48
|
+
message Ack {
|
|
49
|
+
|
|
50
|
+
// The ID of the message that has been posted.
|
|
51
|
+
google.protobuf.Any message_id = 1 [(required) = true];
|
|
52
|
+
|
|
53
|
+
// The response status.
|
|
54
|
+
Status status = 2 [(required) = true];
|
|
55
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2022, 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
|
+
* http://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
|
+
syntax = "proto3";
|
|
27
|
+
|
|
28
|
+
package spine.core;
|
|
29
|
+
|
|
30
|
+
import "spine/options.proto";
|
|
31
|
+
|
|
32
|
+
option (type_url_prefix) = "type.spine.io";
|
|
33
|
+
option java_package = "io.spine.core";
|
|
34
|
+
option java_multiple_files = true;
|
|
35
|
+
option java_outer_classname = "ActorContextProto";
|
|
36
|
+
|
|
37
|
+
import "google/protobuf/timestamp.proto";
|
|
38
|
+
|
|
39
|
+
import "spine/core/user_id.proto";
|
|
40
|
+
import "spine/core/tenant_id.proto";
|
|
41
|
+
import "spine/time/time.proto";
|
|
42
|
+
import "spine/ui/language.proto";
|
|
43
|
+
|
|
44
|
+
// Service metadata for the requests generated by the user.
|
|
45
|
+
message ActorContext {
|
|
46
|
+
|
|
47
|
+
// The ID of a tenant in a multi-tenant application.
|
|
48
|
+
//
|
|
49
|
+
// This field is not populated in single-tenant applications.
|
|
50
|
+
//
|
|
51
|
+
TenantId tenant_id = 1;
|
|
52
|
+
|
|
53
|
+
// The user who created the request.
|
|
54
|
+
UserId actor = 2 [(required) = true];
|
|
55
|
+
|
|
56
|
+
// The time when the request was created.
|
|
57
|
+
google.protobuf.Timestamp timestamp = 3 [(required) = true];
|
|
58
|
+
|
|
59
|
+
reserved "zone_offset";
|
|
60
|
+
reserved 4;
|
|
61
|
+
|
|
62
|
+
// The ID of the time-zone from which the request is made.
|
|
63
|
+
//
|
|
64
|
+
// Even though this field is not `required` (due to historical reasons),
|
|
65
|
+
// client applications are strongly encouraged to populate this field to preserve information
|
|
66
|
+
// for possible time calculations related to the request.
|
|
67
|
+
//
|
|
68
|
+
time.ZoneId zone_id = 6;
|
|
69
|
+
|
|
70
|
+
// The human language in which the response is expected.
|
|
71
|
+
//
|
|
72
|
+
// If this attribute is not defined, or the specified language is not supported
|
|
73
|
+
// the query will be returned in the default human language of the system.
|
|
74
|
+
//
|
|
75
|
+
ui.Language language = 5;
|
|
76
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
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.core;
|
|
30
|
+
|
|
31
|
+
import "spine/options.proto";
|
|
32
|
+
|
|
33
|
+
option (type_url_prefix) = "type.spine.io";
|
|
34
|
+
option java_package = "io.spine.core";
|
|
35
|
+
option java_multiple_files = true;
|
|
36
|
+
option java_outer_classname = "BoundedContextProto";
|
|
37
|
+
|
|
38
|
+
// A name of `BoundedContext` used to distinguish an instance of a bounded context among other
|
|
39
|
+
// bounded contexts that exist in the same application.
|
|
40
|
+
//
|
|
41
|
+
// Must be unique in scope of the application.
|
|
42
|
+
//
|
|
43
|
+
message BoundedContextName {
|
|
44
|
+
option (is).java_type = "BoundedContextNameMixin";
|
|
45
|
+
|
|
46
|
+
string value = 1 [(required) = true];
|
|
47
|
+
}
|
|
@@ -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.core;
|
|
30
|
+
|
|
31
|
+
import "spine/options.proto";
|
|
32
|
+
|
|
33
|
+
option (type_url_prefix) = "type.spine.io";
|
|
34
|
+
option java_package = "io.spine.core";
|
|
35
|
+
option java_outer_classname = "CommandProto";
|
|
36
|
+
option java_multiple_files = true;
|
|
37
|
+
|
|
38
|
+
import "google/protobuf/timestamp.proto";
|
|
39
|
+
import "google/protobuf/duration.proto";
|
|
40
|
+
import "google/protobuf/any.proto";
|
|
41
|
+
|
|
42
|
+
import "spine/core/actor_context.proto";
|
|
43
|
+
import "spine/core/diagnostics.proto";
|
|
44
|
+
|
|
45
|
+
// Command identifier.
|
|
46
|
+
message CommandId {
|
|
47
|
+
option (is).java_type = "CommandIdMixin";
|
|
48
|
+
option (SPI_type) = true;
|
|
49
|
+
|
|
50
|
+
string uuid = 1;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// `Command` is an instruction to do something.
|
|
54
|
+
//
|
|
55
|
+
// A command consists of two parts: command message and command context.
|
|
56
|
+
//
|
|
57
|
+
// The `message` is the domain model part of the command. The type of the command is defined by
|
|
58
|
+
// the type of its message. When we speak about a 'command' as a typed thing, we refer to
|
|
59
|
+
// the message of the command.
|
|
60
|
+
//
|
|
61
|
+
// The context contains attributes common for all commands.
|
|
62
|
+
//
|
|
63
|
+
// A command can hold any valid Protobuf message, but in most cases, it would be a type
|
|
64
|
+
// defined in the `commands.proto` file of the corresponding aggregate or process manager.
|
|
65
|
+
//
|
|
66
|
+
// There should be one and only one command handler associated with the type of the command.
|
|
67
|
+
//
|
|
68
|
+
message Command {
|
|
69
|
+
option (is).java_type = "CommandMixin";
|
|
70
|
+
option (SPI_type) = true;
|
|
71
|
+
|
|
72
|
+
// The ID of the command.
|
|
73
|
+
CommandId id = 1 [(required) = true];
|
|
74
|
+
|
|
75
|
+
// The message of the command wrapped into `Any`.
|
|
76
|
+
google.protobuf.Any message = 2 [(required) = true];
|
|
77
|
+
|
|
78
|
+
// Service information about the environment in which the command was created.
|
|
79
|
+
CommandContext context = 3 [(required) = true];
|
|
80
|
+
|
|
81
|
+
// Properties that may be set by the framework as the command is delivered and handled.
|
|
82
|
+
//
|
|
83
|
+
// All fields of this type are reserved for internal framework needs, and are not visible to
|
|
84
|
+
// the business logic code of an application.
|
|
85
|
+
//
|
|
86
|
+
message SystemProperties {
|
|
87
|
+
|
|
88
|
+
option (internal_type) = true;
|
|
89
|
+
|
|
90
|
+
reserved 1 to 10; // for future priority properties.
|
|
91
|
+
|
|
92
|
+
// The time when the command was scheduled.
|
|
93
|
+
//
|
|
94
|
+
// Set automatically and used only by Spine when re-scheduling a command.
|
|
95
|
+
//
|
|
96
|
+
google.protobuf.Timestamp scheduling_time = 11;
|
|
97
|
+
|
|
98
|
+
reserved 12 to 20; // for other scheduling-related properties.
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// Service information used by the framework.
|
|
102
|
+
SystemProperties system_properties = 4 [(internal) = true];
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// Meta-information about the command and the environment, which generated the command.
|
|
106
|
+
message CommandContext {
|
|
107
|
+
option (is).java_type = "CommandContextMixin";
|
|
108
|
+
option (SPI_type) = true;
|
|
109
|
+
|
|
110
|
+
// Information about the environment of the user who created the command.
|
|
111
|
+
ActorContext actor_context = 1 [(required) = true];
|
|
112
|
+
|
|
113
|
+
// The version of the entity for which this command is intended.
|
|
114
|
+
//
|
|
115
|
+
// A client app may not fill in this attribute if the command applies to
|
|
116
|
+
// any version of the entity.
|
|
117
|
+
//
|
|
118
|
+
int32 target_version = 2;
|
|
119
|
+
|
|
120
|
+
// Domain-specific attributes of a command.
|
|
121
|
+
//
|
|
122
|
+
// One of the usage scenarios for this field is adding attributes common for several commands.
|
|
123
|
+
//
|
|
124
|
+
map<string, google.protobuf.Any> attributes = 3;
|
|
125
|
+
|
|
126
|
+
// A command may be scheduled. This type defines scheduling options.
|
|
127
|
+
message Schedule {
|
|
128
|
+
|
|
129
|
+
// The delay between the moment of receiving a command at the server
|
|
130
|
+
// and its delivery to the target.
|
|
131
|
+
google.protobuf.Duration delay = 1;
|
|
132
|
+
|
|
133
|
+
// See: https://github.com/SpineEventEngine/core-java/issues/994
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// The schedule to execute the command.
|
|
137
|
+
Schedule schedule = 4;
|
|
138
|
+
|
|
139
|
+
Origin origin = 5 [(required) = false, (validate) = true];
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// Enumeration of possible errors when validating a command.
|
|
143
|
+
enum CommandValidationError {
|
|
144
|
+
|
|
145
|
+
// Reserved value.
|
|
146
|
+
UNKNOWN = 0;
|
|
147
|
+
|
|
148
|
+
// The command type is not supported by the server.
|
|
149
|
+
UNSUPPORTED_COMMAND = 1;
|
|
150
|
+
|
|
151
|
+
// The command message is invalid according to custom Protobuf options set.
|
|
152
|
+
INVALID_COMMAND = 2;
|
|
153
|
+
|
|
154
|
+
// The command context does not have `tenant_id` attribute defined
|
|
155
|
+
// in a multi-tenant application.
|
|
156
|
+
TENANT_UNKNOWN = 3;
|
|
157
|
+
|
|
158
|
+
// The command context has non-default value of `tenant_id` in the command sent
|
|
159
|
+
// to a single-tenant application.
|
|
160
|
+
TENANT_INAPPLICABLE = 4;
|
|
161
|
+
|
|
162
|
+
// The scheduled command was not delivered to the target in time.
|
|
163
|
+
EXPIRED = 5;
|
|
164
|
+
|
|
165
|
+
// The command is a duplicate of the command that was already dispatched.
|
|
166
|
+
//
|
|
167
|
+
// A command is considered a duplicate if its ID matches the ID of another command.
|
|
168
|
+
//
|
|
169
|
+
DUPLICATE_COMMAND = 6;
|
|
170
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
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.core;
|
|
30
|
+
|
|
31
|
+
import "spine/options.proto";
|
|
32
|
+
|
|
33
|
+
option (type_url_prefix) = "type.spine.io";
|
|
34
|
+
option java_package = "io.spine.core";
|
|
35
|
+
option java_outer_classname = "DiagnosticsProto";
|
|
36
|
+
option java_multiple_files = true;
|
|
37
|
+
|
|
38
|
+
import "google/protobuf/any.proto";
|
|
39
|
+
|
|
40
|
+
import "spine/core/actor_context.proto";
|
|
41
|
+
import "spine/core/version.proto";
|
|
42
|
+
|
|
43
|
+
// An identifier of a domain message, such as a signal, or an entity state.
|
|
44
|
+
message MessageId {
|
|
45
|
+
option (is).java_type = "io.spine.core.MessageIdMixin";
|
|
46
|
+
|
|
47
|
+
// The ID of the message.
|
|
48
|
+
//
|
|
49
|
+
// If the message is a signal (an event or a command), `id` has the value of the signal ID (an
|
|
50
|
+
// `EventId` or a `CommandId`).
|
|
51
|
+
//
|
|
52
|
+
// If the message is an entity state, `id` has the value of the entity identifier.
|
|
53
|
+
//
|
|
54
|
+
google.protobuf.Any id = 1 [(required) = true, (validate) = true];
|
|
55
|
+
|
|
56
|
+
// The type of the message.
|
|
57
|
+
string type_url = 2 [(required) = true];
|
|
58
|
+
|
|
59
|
+
// The version associated with this message.
|
|
60
|
+
//
|
|
61
|
+
// If the message is a command, the version is absent.
|
|
62
|
+
// If the message is an event, this is the `EventContext.version`.
|
|
63
|
+
// If the message is an entity state, this is the version of the entity.
|
|
64
|
+
//
|
|
65
|
+
core.Version version = 3 [(required) = false, (validate) = true];
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// An origin of a message.
|
|
69
|
+
//
|
|
70
|
+
// Describes the message chain that led to the associated message being produced.
|
|
71
|
+
//
|
|
72
|
+
message Origin {
|
|
73
|
+
option (is).java_type = "io.spine.core.OriginMixin";
|
|
74
|
+
|
|
75
|
+
// The messageId of the direct parent of the message.
|
|
76
|
+
MessageId message = 1 [(required) = true, (validate) = true];
|
|
77
|
+
|
|
78
|
+
// The origin of the direct parent of the message.
|
|
79
|
+
Origin grand_origin = 2 [(required) = false, (validate) = true];
|
|
80
|
+
|
|
81
|
+
// The actor of the message.
|
|
82
|
+
//
|
|
83
|
+
// The actor context is shared among all the messages in the chain.
|
|
84
|
+
//
|
|
85
|
+
ActorContext actor_context = 3 [(validate) = true];
|
|
86
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
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.core;
|
|
30
|
+
|
|
31
|
+
import "spine/options.proto";
|
|
32
|
+
|
|
33
|
+
option (type_url_prefix) = "type.spine.io";
|
|
34
|
+
option java_package = "io.spine.core";
|
|
35
|
+
option java_multiple_files = true;
|
|
36
|
+
option java_outer_classname = "EnrichmentProto";
|
|
37
|
+
|
|
38
|
+
import "google/protobuf/any.proto";
|
|
39
|
+
|
|
40
|
+
// Attributes with additional information (enrichment) for an outer message.
|
|
41
|
+
//
|
|
42
|
+
// A message can be enriched with one or more messages. For example, an `Event` can be enriched with
|
|
43
|
+
// information for easier building of user interface projections. A `Rejection` can be enriched with
|
|
44
|
+
// additional information on why the command was rejected.
|
|
45
|
+
//
|
|
46
|
+
// If message enrichment should not be performed (e.g. because of performance or security
|
|
47
|
+
// considerations), it can be disabled by setting the `do_not_enrich` attribute to `true`.
|
|
48
|
+
//
|
|
49
|
+
message Enrichment {
|
|
50
|
+
|
|
51
|
+
oneof mode {
|
|
52
|
+
|
|
53
|
+
// The instruction not to enrich the outer message.
|
|
54
|
+
bool do_not_enrich = 1;
|
|
55
|
+
|
|
56
|
+
// The container for the enrichments.
|
|
57
|
+
Container container = 2;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// A container for event enrichments.
|
|
61
|
+
//
|
|
62
|
+
// This wrapper type is required because maps are not allowed in `oneof`s.
|
|
63
|
+
//
|
|
64
|
+
message Container {
|
|
65
|
+
|
|
66
|
+
// A map from a fully-qualified Protobuf type name of an enrichment,
|
|
67
|
+
// to its wrapped instance.
|
|
68
|
+
map<string, google.protobuf.Any> items = 1;
|
|
69
|
+
}
|
|
70
|
+
}
|