@spine-event-engine/proto 2.0.0-snapshot.25 → 2.0.0-snapshot.26
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/dist/generated/proto-module.d.ts +2 -1
- package/dist/generated/proto-module.d.ts.map +1 -1
- package/dist/generated/proto-module.js +59 -53
- package/dist/generated/proto-module.js.map +1 -1
- package/dist/generated/spine/auth/authenticated_subscription_pb.d.ts +7 -0
- package/dist/generated/spine/auth/authenticated_subscription_pb.d.ts.map +1 -1
- package/dist/generated/spine/auth/authenticated_subscription_pb.js +2 -1
- package/dist/generated/spine/auth/authenticated_subscription_pb.js.map +1 -1
- package/dist/generated/spine/client/app_query_pb.d.ts +75 -0
- package/dist/generated/spine/client/app_query_pb.d.ts.map +1 -0
- package/dist/generated/spine/client/app_query_pb.js +28 -0
- package/dist/generated/spine/client/app_query_pb.js.map +1 -0
- package/dist/generated/spine/client/filters_pb.d.ts.map +1 -1
- package/dist/generated/spine/client/filters_pb.js +1 -1
- package/dist/generated/spine/client/filters_pb.js.map +1 -1
- package/dist/generated/spine/client/query_service_pb.d.ts +11 -0
- package/dist/generated/spine/client/query_service_pb.d.ts.map +1 -1
- package/dist/generated/spine/client/query_service_pb.js +2 -1
- package/dist/generated/spine/client/query_service_pb.js.map +1 -1
- package/dist/generated/spine/client/subscription_record_pb.d.ts +46 -1
- package/dist/generated/spine/client/subscription_record_pb.d.ts.map +1 -1
- package/dist/generated/spine/client/subscription_record_pb.js +9 -3
- package/dist/generated/spine/client/subscription_record_pb.js.map +1 -1
- package/dist/src/client/index.d.ts +1 -0
- package/dist/src/client/index.d.ts.map +1 -1
- package/dist/src/client/index.js +1 -0
- package/dist/src/client/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/generated/.spine-proto-generation.json +1 -1
- package/generated/proto-module.ts +59 -53
- package/generated/spine/auth/authenticated_subscription_pb.ts +10 -1
- package/generated/spine/client/app_query_pb.ts +98 -0
- package/generated/spine/client/filters_pb.ts +1 -1
- package/generated/spine/client/query_service_pb.ts +13 -1
- package/generated/spine/client/subscription_record_pb.ts +50 -4
- package/package.json +1 -1
- package/proto/spine/auth/authenticated_subscription.proto +16 -7
- package/proto/spine/client/app_query.proto +55 -0
- package/proto/spine/client/filters.proto +1 -1
- package/proto/spine/client/query_service.proto +4 -0
- package/proto/spine/client/subscription_record.proto +37 -17
- package/proto/spine-sources.json +16 -4
- package/spine-proto-manifest.json +4 -2
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Generated by Spine TypeScript. Do not edit manually.
|
|
3
|
+
* Source Proto: spine/client/app_query.proto
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
// @generated by protoc-gen-es v2.12.1 with parameter "target=ts,import_extension=js"
|
|
9
|
+
// @generated from file spine/client/app_query.proto (package spine.client, syntax proto3)
|
|
10
|
+
/* eslint-disable */
|
|
11
|
+
|
|
12
|
+
import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
|
|
13
|
+
import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
|
|
14
|
+
import type { Any } from "@bufbuild/protobuf/wkt";
|
|
15
|
+
import { file_google_protobuf_any } from "@bufbuild/protobuf/wkt";
|
|
16
|
+
import type { QueryId } from "./query_pb.js";
|
|
17
|
+
import { file_spine_client_query } from "./query_pb.js";
|
|
18
|
+
import type { ActorContext } from "../core/actor_context_pb.js";
|
|
19
|
+
import { file_spine_core_actor_context } from "../core/actor_context_pb.js";
|
|
20
|
+
import type { Response } from "../core/response_pb.js";
|
|
21
|
+
import { file_spine_core_response } from "../core/response_pb.js";
|
|
22
|
+
import { file_spine_options } from "../options_pb.js";
|
|
23
|
+
import type { Message } from "@bufbuild/protobuf";
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Describes the file spine/client/app_query.proto.
|
|
27
|
+
* Generated from Proto: spine/client/app_query.proto.
|
|
28
|
+
*/
|
|
29
|
+
export const file_spine_client_app_query: GenFile = /*@__PURE__*/
|
|
30
|
+
fileDesc("ChxzcGluZS9jbGllbnQvYXBwX3F1ZXJ5LnByb3RvEgxzcGluZS5jbGllbnQimQEKCEFwcFF1ZXJ5EisKAmlkGAEgASgLMhUuc3BpbmUuY2xpZW50LlF1ZXJ5SWRCCKCFJAHohSQBEisKB21lc3NhZ2UYAiABKAsyFC5nb29nbGUucHJvdG9idWYuQW55QgSghSQBEjMKB2NvbnRleHQYAyABKAsyGC5zcGluZS5jb3JlLkFjdG9yQ29udGV4dEIIoIUkAeiFJAEiZwoQQXBwUXVlcnlSZXNwb25zZRIsCghyZXNwb25zZRgBIAEoCzIULnNwaW5lLmNvcmUuUmVzcG9uc2VCBKCFJAESJQoHbWVzc2FnZRgCIAMoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlCMwoPaW8uc3BpbmUuY2xpZW50Qg1BcHBRdWVyeVByb3RvUAGqjSQNdHlwZS5zcGluZS5pb2IGcHJvdG8z", [file_google_protobuf_any, file_spine_client_query, file_spine_core_actor_context, file_spine_core_response, file_spine_options]);
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* One application-defined read request.
|
|
34
|
+
*
|
|
35
|
+
* @generated from message spine.client.AppQuery
|
|
36
|
+
* Generated from Proto: spine/client/app_query.proto.
|
|
37
|
+
*/
|
|
38
|
+
export type AppQuery = Message<"spine.client.AppQuery"> & {
|
|
39
|
+
/**
|
|
40
|
+
* Identifies this read request for response correlation.
|
|
41
|
+
*
|
|
42
|
+
* @generated from field: spine.client.QueryId id = 1;
|
|
43
|
+
*/
|
|
44
|
+
id?: QueryId | undefined;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Carries the application-defined Query message.
|
|
48
|
+
*
|
|
49
|
+
* @generated from field: google.protobuf.Any message = 2;
|
|
50
|
+
*/
|
|
51
|
+
message?: Any | undefined;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Records the actor and time admitted for this request.
|
|
55
|
+
*
|
|
56
|
+
* @generated from field: spine.core.ActorContext context = 3;
|
|
57
|
+
*/
|
|
58
|
+
context?: ActorContext | undefined;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Describes the message spine.client.AppQuery.
|
|
63
|
+
* Use `create(AppQuerySchema)` to create a new message.
|
|
64
|
+
* Generated from Proto: spine/client/app_query.proto.
|
|
65
|
+
*/
|
|
66
|
+
export const AppQuerySchema: GenMessage<AppQuery> = /*@__PURE__*/
|
|
67
|
+
messageDesc(file_spine_client_app_query, 0);
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* The transport response for an application-defined read.
|
|
71
|
+
*
|
|
72
|
+
* @generated from message spine.client.AppQueryResponse
|
|
73
|
+
* Generated from Proto: spine/client/app_query.proto.
|
|
74
|
+
*/
|
|
75
|
+
export type AppQueryResponse = Message<"spine.client.AppQueryResponse"> & {
|
|
76
|
+
/**
|
|
77
|
+
* Reports whether the application read completed or failed.
|
|
78
|
+
*
|
|
79
|
+
* @generated from field: spine.core.Response response = 1;
|
|
80
|
+
*/
|
|
81
|
+
response?: Response | undefined;
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Contains the paired application Response after a successful read.
|
|
85
|
+
*
|
|
86
|
+
* @generated from field: repeated google.protobuf.Any message = 2;
|
|
87
|
+
*/
|
|
88
|
+
message: Any[];
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Describes the message spine.client.AppQueryResponse.
|
|
93
|
+
* Use `create(AppQueryResponseSchema)` to create a new message.
|
|
94
|
+
* Generated from Proto: spine/client/app_query.proto.
|
|
95
|
+
*/
|
|
96
|
+
export const AppQueryResponseSchema: GenMessage<AppQueryResponse> = /*@__PURE__*/
|
|
97
|
+
messageDesc(file_spine_client_app_query, 1);
|
|
98
|
+
|
|
@@ -23,7 +23,7 @@ import type { Message } from "@bufbuild/protobuf";
|
|
|
23
23
|
* Generated from Proto: spine/client/filters.proto.
|
|
24
24
|
*/
|
|
25
25
|
export const file_spine_client_filters: GenFile = /*@__PURE__*/
|
|
26
|
-
fileDesc("
|
|
26
|
+
fileDesc("ChpzcGluZS9jbGllbnQvZmlsdGVycy5wcm90bxIMc3BpbmUuY2xpZW50IpEBCgZUYXJnZXQSEgoEdHlwZRgBIAEoCUIEoIUkARIVCgtpbmNsdWRlX2FsbBgCIAEoCEgAEjQKB2ZpbHRlcnMYAyABKAsyGy5zcGluZS5jbGllbnQuVGFyZ2V0RmlsdGVyc0IE6IUkAUgAOhHaiyQNCgtUYXJnZXRNaXhpbkITCgljcml0ZXJpb24SBqKKJAIIASKNAQoNVGFyZ2V0RmlsdGVycxIvCglpZF9maWx0ZXIYASABKAsyFi5zcGluZS5jbGllbnQuSWRGaWx0ZXJCBOiFJAESMwoGZmlsdGVyGAIgAygLMh0uc3BpbmUuY2xpZW50LkNvbXBvc2l0ZUZpbHRlckIE6IUkAToWoowkEgoQaWRfZmlsdGVyfGZpbHRlciKhAgoPQ29tcG9zaXRlRmlsdGVyEioKBmZpbHRlchgBIAMoCzIULnNwaW5lLmNsaWVudC5GaWx0ZXJCBOiFJAESRwoIb3BlcmF0b3IYAiABKA4yLy5zcGluZS5jbGllbnQuQ29tcG9zaXRlRmlsdGVyLkNvbXBvc2l0ZU9wZXJhdG9yQgSghSQBEj0KEGNvbXBvc2l0ZV9maWx0ZXIYAyADKAsyHS5zcGluZS5jbGllbnQuQ29tcG9zaXRlRmlsdGVyQgTohSQBIj4KEUNvbXBvc2l0ZU9wZXJhdG9yEhQKEENDRl9DT19VTkRFRklORUQQABIHCgNBTEwQARIKCgZFSVRIRVIQAjoa2oskFgoUQ29tcG9zaXRlRmlsdGVyTWl4aW4iogIKBkZpbHRlchIvCgpmaWVsZF9wYXRoGAEgASgLMhUuc3BpbmUuYmFzZS5GaWVsZFBhdGhCBKCFJAESKQoFdmFsdWUYAiABKAsyFC5nb29nbGUucHJvdG9idWYuQW55QgSghSQBEjUKCG9wZXJhdG9yGAMgASgOMh0uc3BpbmUuY2xpZW50LkZpbHRlci5PcGVyYXRvckIEoIUkASJyCghPcGVyYXRvchIRCg1DRk9fVU5ERUZJTkVEEAASCQoFRVFVQUwQARIQCgxHUkVBVEVSX1RIQU4QAhINCglMRVNTX1RIQU4QBBIUChBHUkVBVEVSX09SX0VRVUFMEAUSEQoNTEVTU19PUl9FUVVBTBAGOhHaiyQNCgtGaWx0ZXJNaXhpbiI2CghJZEZpbHRlchIqCgJpZBgBIAMoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlCCKCFJAHohSQBQjIKD2lvLnNwaW5lLmNsaWVudEIMRmlsdGVyc1Byb3RvUAGqjSQNdHlwZS5zcGluZS5pb2IGcHJvdG8z", [file_spine_options, file_google_protobuf_any, file_spine_base_field_path]);
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
29
|
* Defines the target type and filters.
|
|
@@ -14,6 +14,8 @@ import { fileDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
|
|
|
14
14
|
import { file_spine_options } from "../options_pb.js";
|
|
15
15
|
import type { QueryResponseSchema, QuerySchema } from "./query_pb.js";
|
|
16
16
|
import { file_spine_client_query } from "./query_pb.js";
|
|
17
|
+
import type { AppQueryResponseSchema, AppQuerySchema } from "./app_query_pb.js";
|
|
18
|
+
import { file_spine_client_app_query } from "./app_query_pb.js";
|
|
17
19
|
import { file_google_protobuf_type } from "@bufbuild/protobuf/wkt";
|
|
18
20
|
|
|
19
21
|
/**
|
|
@@ -21,7 +23,7 @@ import { file_google_protobuf_type } from "@bufbuild/protobuf/wkt";
|
|
|
21
23
|
* Generated from Proto: spine/client/query_service.proto.
|
|
22
24
|
*/
|
|
23
25
|
export const file_spine_client_query_service: GenFile = /*@__PURE__*/
|
|
24
|
-
fileDesc("
|
|
26
|
+
fileDesc("CiBzcGluZS9jbGllbnQvcXVlcnlfc2VydmljZS5wcm90bxIMc3BpbmUuY2xpZW50MosBCgxRdWVyeVNlcnZpY2USOAoEUmVhZBITLnNwaW5lLmNsaWVudC5RdWVyeRobLnNwaW5lLmNsaWVudC5RdWVyeVJlc3BvbnNlEkEKB0V4ZWN1dGUSFi5zcGluZS5jbGllbnQuQXBwUXVlcnkaHi5zcGluZS5jbGllbnQuQXBwUXVlcnlSZXNwb25zZUI8ChRpby5zcGluZS5jbGllbnQuZ3JwY0IRUXVlcnlTZXJ2aWNlUHJvdG9QAaqNJA10eXBlLnNwaW5lLmlvYgZwcm90bzM", [file_spine_options, file_spine_client_query, file_spine_client_app_query, file_google_protobuf_type]);
|
|
25
27
|
|
|
26
28
|
/**
|
|
27
29
|
* A service for querying the read-side from clients.
|
|
@@ -40,6 +42,16 @@ export const QueryService: GenService<{
|
|
|
40
42
|
input: typeof QuerySchema;
|
|
41
43
|
output: typeof QueryResponseSchema;
|
|
42
44
|
},
|
|
45
|
+
/**
|
|
46
|
+
* Executes an application-defined Query and returns its paired Response.
|
|
47
|
+
*
|
|
48
|
+
* @generated from rpc spine.client.QueryService.Execute
|
|
49
|
+
*/
|
|
50
|
+
execute: {
|
|
51
|
+
methodKind: "unary";
|
|
52
|
+
input: typeof AppQuerySchema;
|
|
53
|
+
output: typeof AppQueryResponseSchema;
|
|
54
|
+
},
|
|
43
55
|
}> = /*@__PURE__*/
|
|
44
56
|
serviceDesc(file_spine_client_query_service, 0);
|
|
45
57
|
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
|
|
12
12
|
import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
|
|
13
13
|
import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
|
|
14
|
-
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
15
|
-
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
|
14
|
+
import type { Empty, Timestamp } from "@bufbuild/protobuf/wkt";
|
|
15
|
+
import { file_google_protobuf_empty, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
|
16
16
|
import type { Subscription, SubscriptionId } from "./subscription_pb.js";
|
|
17
17
|
import { file_spine_client_subscription } from "./subscription_pb.js";
|
|
18
18
|
import { file_spine_options } from "../options_pb.js";
|
|
@@ -23,7 +23,46 @@ import type { Message } from "@bufbuild/protobuf";
|
|
|
23
23
|
* Generated from Proto: spine/client/subscription_record.proto.
|
|
24
24
|
*/
|
|
25
25
|
export const file_spine_client_subscription_record: GenFile = /*@__PURE__*/
|
|
26
|
-
fileDesc("
|
|
26
|
+
fileDesc("CiZzcGluZS9jbGllbnQvc3Vic2NyaXB0aW9uX3JlY29yZC5wcm90bxIMc3BpbmUuY2xpZW50ImwKGVN1YnNjcmlwdGlvblJlYWRlckJpbmRpbmcSFgoMcHJpbmNpcGFsX2lkGAEgASgJSAASKwoJYW5vbnltb3VzGAIgASgLMhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5SABCCgoIaWRlbnRpdHki6gIKElN1YnNjcmlwdGlvblJlY29yZBIyCgJpZBgBIAEoCzIcLnNwaW5lLmNsaWVudC5TdWJzY3JpcHRpb25JZEIIoIUkAeiFJAESOgoMc3Vic2NyaXB0aW9uGAIgASgLMhouc3BpbmUuY2xpZW50LlN1YnNjcmlwdGlvbkIIoIUkAeiFJAESNgoGc3RhdHVzGAMgASgOMiAuc3BpbmUuY2xpZW50LlN1YnNjcmlwdGlvblN0YXR1c0IEoIUkARI2Cgx3aGVuX2NyZWF0ZWQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgSghSQBEjsKF3doZW5fYWN0aXZhdGlvbl9leHBpcmVzGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI3CgZyZWFkZXIYBiABKAsyJy5zcGluZS5jbGllbnQuU3Vic2NyaXB0aW9uUmVhZGVyQmluZGluZypBChJTdWJzY3JpcHRpb25TdGF0dXMSEgoOU1NfVU5TUEVDSUZJRUQQABILCgdQRU5ESU5HEAESCgoGQUNUSVZFEAJCE1ABqo0kDXR5cGUuc3BpbmUuaW9iBnByb3RvMw", [file_google_protobuf_empty, file_google_protobuf_timestamp, file_spine_client_subscription, file_spine_options]);
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Stable verified reader identity retained with a subscription definition.
|
|
30
|
+
*
|
|
31
|
+
* @generated from message spine.client.SubscriptionReaderBinding
|
|
32
|
+
* Generated from Proto: spine/client/subscription_record.proto.
|
|
33
|
+
*/
|
|
34
|
+
export type SubscriptionReaderBinding = Message<"spine.client.SubscriptionReaderBinding"> & {
|
|
35
|
+
/**
|
|
36
|
+
* Exactly one admitted reader identity; absence cannot establish reader access.
|
|
37
|
+
*
|
|
38
|
+
* @generated from oneof spine.client.SubscriptionReaderBinding.identity
|
|
39
|
+
*/
|
|
40
|
+
identity: {
|
|
41
|
+
/**
|
|
42
|
+
* Application-authenticated principal ID, never ActorContext or provider credentials.
|
|
43
|
+
*
|
|
44
|
+
* @generated from field: string principal_id = 1;
|
|
45
|
+
*/
|
|
46
|
+
value: string;
|
|
47
|
+
case: "principalId";
|
|
48
|
+
} | {
|
|
49
|
+
/**
|
|
50
|
+
* Explicit admission without a principal or provider authority facts.
|
|
51
|
+
*
|
|
52
|
+
* @generated from field: google.protobuf.Empty anonymous = 2;
|
|
53
|
+
*/
|
|
54
|
+
value: Empty;
|
|
55
|
+
case: "anonymous";
|
|
56
|
+
} | { case: undefined; value?: undefined };
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Describes the message spine.client.SubscriptionReaderBinding.
|
|
61
|
+
* Use `create(SubscriptionReaderBindingSchema)` to create a new message.
|
|
62
|
+
* Generated from Proto: spine/client/subscription_record.proto.
|
|
63
|
+
*/
|
|
64
|
+
export const SubscriptionReaderBindingSchema: GenMessage<SubscriptionReaderBinding> = /*@__PURE__*/
|
|
65
|
+
messageDesc(file_spine_client_subscription_record, 0);
|
|
27
66
|
|
|
28
67
|
/**
|
|
29
68
|
* A stored definition of one subscription.
|
|
@@ -66,6 +105,13 @@ export type SubscriptionRecord = Message<"spine.client.SubscriptionRecord"> & {
|
|
|
66
105
|
* @generated from field: google.protobuf.Timestamp when_activation_expires = 5;
|
|
67
106
|
*/
|
|
68
107
|
whenActivationExpires?: Timestamp | undefined;
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Stable reader identity admitted when this definition was created.
|
|
111
|
+
*
|
|
112
|
+
* @generated from field: spine.client.SubscriptionReaderBinding reader = 6;
|
|
113
|
+
*/
|
|
114
|
+
reader?: SubscriptionReaderBinding | undefined;
|
|
69
115
|
};
|
|
70
116
|
|
|
71
117
|
/**
|
|
@@ -74,7 +120,7 @@ export type SubscriptionRecord = Message<"spine.client.SubscriptionRecord"> & {
|
|
|
74
120
|
* Generated from Proto: spine/client/subscription_record.proto.
|
|
75
121
|
*/
|
|
76
122
|
export const SubscriptionRecordSchema: GenMessage<SubscriptionRecord> = /*@__PURE__*/
|
|
77
|
-
messageDesc(file_spine_client_subscription_record,
|
|
123
|
+
messageDesc(file_spine_client_subscription_record, 1);
|
|
78
124
|
|
|
79
125
|
/**
|
|
80
126
|
* A lifecycle status of a stored subscription.
|
package/package.json
CHANGED
|
@@ -17,20 +17,29 @@ package spine.auth;
|
|
|
17
17
|
|
|
18
18
|
import "google/protobuf/timestamp.proto";
|
|
19
19
|
import "spine/client/subscription.proto";
|
|
20
|
+
import "spine/client/subscription_record.proto";
|
|
20
21
|
import "spine/options.proto";
|
|
21
22
|
|
|
22
|
-
option (type_url_prefix) = "type.spine.io";
|
|
23
23
|
option java_multiple_files = true;
|
|
24
|
+
option (type_url_prefix) = "type.spine.io";
|
|
24
25
|
|
|
25
26
|
// A subscription accepted through an authenticated Gateway request.
|
|
26
27
|
message GatewayAuthenticatedSubscription {
|
|
28
|
+
// The identifier used to store this record.
|
|
29
|
+
spine.client.SubscriptionId id = 1 [
|
|
30
|
+
(required) = true,
|
|
31
|
+
(validate) = true
|
|
32
|
+
];
|
|
27
33
|
|
|
28
|
-
|
|
29
|
-
|
|
34
|
+
// The authenticated subscription, including its Actor and Tenant context.
|
|
35
|
+
spine.client.Subscription subscription = 2 [
|
|
36
|
+
(required) = true,
|
|
37
|
+
(validate) = true
|
|
38
|
+
];
|
|
30
39
|
|
|
31
|
-
|
|
32
|
-
|
|
40
|
+
// The time after which the authenticated subscription is no longer valid.
|
|
41
|
+
google.protobuf.Timestamp when_expires = 3 [(required) = true];
|
|
33
42
|
|
|
34
|
-
|
|
35
|
-
|
|
43
|
+
// Verified reader identity required to reuse this subscription.
|
|
44
|
+
spine.client.SubscriptionReaderBinding reader = 4;
|
|
36
45
|
}
|
|
@@ -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
|
+
|
|
15
|
+
syntax = "proto3";
|
|
16
|
+
|
|
17
|
+
package spine.client;
|
|
18
|
+
|
|
19
|
+
import "google/protobuf/any.proto";
|
|
20
|
+
import "spine/client/query.proto";
|
|
21
|
+
import "spine/core/actor_context.proto";
|
|
22
|
+
import "spine/core/response.proto";
|
|
23
|
+
import "spine/options.proto";
|
|
24
|
+
|
|
25
|
+
option java_multiple_files = true;
|
|
26
|
+
option java_outer_classname = "AppQueryProto";
|
|
27
|
+
option java_package = "io.spine.client";
|
|
28
|
+
option (type_url_prefix) = "type.spine.io";
|
|
29
|
+
|
|
30
|
+
// One application-defined read request.
|
|
31
|
+
message AppQuery {
|
|
32
|
+
// Identifies this read request for response correlation.
|
|
33
|
+
QueryId id = 1 [
|
|
34
|
+
(required) = true,
|
|
35
|
+
(validate) = true
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
// Carries the application-defined Query message.
|
|
39
|
+
google.protobuf.Any message = 2 [(required) = true];
|
|
40
|
+
|
|
41
|
+
// Records the actor and time admitted for this request.
|
|
42
|
+
spine.core.ActorContext context = 3 [
|
|
43
|
+
(required) = true,
|
|
44
|
+
(validate) = true
|
|
45
|
+
];
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// The transport response for an application-defined read.
|
|
49
|
+
message AppQueryResponse {
|
|
50
|
+
// Reports whether the application read completed or failed.
|
|
51
|
+
spine.core.Response response = 1 [(required) = true];
|
|
52
|
+
|
|
53
|
+
// Contains the paired application Response after a successful read.
|
|
54
|
+
repeated google.protobuf.Any message = 2;
|
|
55
|
+
}
|
|
@@ -72,7 +72,7 @@ message Target {
|
|
|
72
72
|
|
|
73
73
|
// The set of filters to narrow down the query results/subscription updates.
|
|
74
74
|
message TargetFilters {
|
|
75
|
-
option (
|
|
75
|
+
option (require).fields = "id_filter|filter";
|
|
76
76
|
|
|
77
77
|
// Match objects by their IDs.
|
|
78
78
|
IdFilter id_filter = 1 [(validate) = true];
|
|
@@ -36,6 +36,7 @@ option java_multiple_files = true;
|
|
|
36
36
|
option java_outer_classname = "QueryServiceProto";
|
|
37
37
|
|
|
38
38
|
import "spine/client/query.proto";
|
|
39
|
+
import "spine/client/app_query.proto";
|
|
39
40
|
import "google/protobuf/type.proto";
|
|
40
41
|
|
|
41
42
|
// A service for querying the read-side from clients.
|
|
@@ -43,4 +44,7 @@ service QueryService {
|
|
|
43
44
|
|
|
44
45
|
// Reads certain data from the read-side by setting the criteria via Query.
|
|
45
46
|
rpc Read(Query) returns (QueryResponse);
|
|
47
|
+
|
|
48
|
+
// Executes an application-defined Query and returns its paired Response.
|
|
49
|
+
rpc Execute(AppQuery) returns (AppQueryResponse);
|
|
46
50
|
}
|
|
@@ -15,41 +15,61 @@ syntax = "proto3";
|
|
|
15
15
|
|
|
16
16
|
package spine.client;
|
|
17
17
|
|
|
18
|
+
import "google/protobuf/empty.proto";
|
|
18
19
|
import "google/protobuf/timestamp.proto";
|
|
19
20
|
import "spine/client/subscription.proto";
|
|
20
21
|
import "spine/options.proto";
|
|
21
22
|
|
|
22
|
-
option (type_url_prefix) = "type.spine.io";
|
|
23
23
|
option java_multiple_files = true;
|
|
24
|
+
option (type_url_prefix) = "type.spine.io";
|
|
24
25
|
|
|
25
26
|
// A lifecycle status of a stored subscription.
|
|
26
27
|
enum SubscriptionStatus {
|
|
28
|
+
// An unspecified status.
|
|
29
|
+
SS_UNSPECIFIED = 0;
|
|
27
30
|
|
|
28
|
-
|
|
29
|
-
|
|
31
|
+
// A subscription that is waiting for activation.
|
|
32
|
+
PENDING = 1;
|
|
33
|
+
|
|
34
|
+
// A subscription that delivers matching updates.
|
|
35
|
+
ACTIVE = 2;
|
|
36
|
+
}
|
|
30
37
|
|
|
31
|
-
|
|
32
|
-
|
|
38
|
+
// Stable verified reader identity retained with a subscription definition.
|
|
39
|
+
message SubscriptionReaderBinding {
|
|
40
|
+
// Exactly one admitted reader identity; absence cannot establish reader access.
|
|
41
|
+
oneof identity {
|
|
42
|
+
// Application-authenticated principal ID, never ActorContext or provider credentials.
|
|
43
|
+
string principal_id = 1;
|
|
33
44
|
|
|
34
|
-
//
|
|
35
|
-
|
|
45
|
+
// Explicit admission without a principal or provider authority facts.
|
|
46
|
+
google.protobuf.Empty anonymous = 2;
|
|
47
|
+
}
|
|
36
48
|
}
|
|
37
49
|
|
|
38
50
|
// A stored definition of one subscription.
|
|
39
51
|
message SubscriptionRecord {
|
|
52
|
+
// The identifier used to store this record.
|
|
53
|
+
SubscriptionId id = 1 [
|
|
54
|
+
(required) = true,
|
|
55
|
+
(validate) = true
|
|
56
|
+
];
|
|
40
57
|
|
|
41
|
-
|
|
42
|
-
|
|
58
|
+
// The subscription represented by this record.
|
|
59
|
+
Subscription subscription = 2 [
|
|
60
|
+
(required) = true,
|
|
61
|
+
(validate) = true
|
|
62
|
+
];
|
|
43
63
|
|
|
44
|
-
|
|
45
|
-
|
|
64
|
+
// The current lifecycle status.
|
|
65
|
+
SubscriptionStatus status = 3 [(required) = true];
|
|
46
66
|
|
|
47
|
-
|
|
48
|
-
|
|
67
|
+
// The time when the subscription was created.
|
|
68
|
+
google.protobuf.Timestamp when_created = 4 [(required) = true];
|
|
49
69
|
|
|
50
|
-
|
|
51
|
-
|
|
70
|
+
// The deadline for activating a pending subscription.
|
|
71
|
+
google.protobuf.Timestamp when_activation_expires = 5;
|
|
52
72
|
|
|
53
|
-
|
|
54
|
-
|
|
73
|
+
// Stable reader identity admitted when this definition was created.
|
|
74
|
+
SubscriptionReaderBinding reader = 6;
|
|
55
75
|
}
|
package/proto/spine-sources.json
CHANGED
|
@@ -54,7 +54,11 @@
|
|
|
54
54
|
"upstreamPath": "client/src/main/proto/spine/client/filters.proto",
|
|
55
55
|
"sourceUrl": "https://github.com/SpineEventEngine/core-java/blob/a408b0d70dafd603efc55b89c8b4b6f3e8c19d3b/client/src/main/proto/spine/client/filters.proto",
|
|
56
56
|
"rawUrl": "https://raw.githubusercontent.com/SpineEventEngine/core-java/a408b0d70dafd603efc55b89c8b4b6f3e8c19d3b/client/src/main/proto/spine/client/filters.proto",
|
|
57
|
-
"sha256": "e2b4eef3d4e873cb5f0bc80896c19e538442182cddb54fa796d0ec640dcca6a5"
|
|
57
|
+
"sha256": "e2b4eef3d4e873cb5f0bc80896c19e538442182cddb54fa796d0ec640dcca6a5",
|
|
58
|
+
"localAdaptation": {
|
|
59
|
+
"kind": "target-filters-require",
|
|
60
|
+
"sha256": "6655d6d56b5e42d4e38bd630970aa2b43e52a1589dbbaed1c0d6ea4304adcc9e"
|
|
61
|
+
}
|
|
58
62
|
},
|
|
59
63
|
{
|
|
60
64
|
"localPath": "packages/proto/proto/spine/client/query_service.proto",
|
|
@@ -63,7 +67,11 @@
|
|
|
63
67
|
"upstreamPath": "client/src/main/proto/spine/client/query_service.proto",
|
|
64
68
|
"sourceUrl": "https://github.com/SpineEventEngine/core-java/blob/a408b0d70dafd603efc55b89c8b4b6f3e8c19d3b/client/src/main/proto/spine/client/query_service.proto",
|
|
65
69
|
"rawUrl": "https://raw.githubusercontent.com/SpineEventEngine/core-java/a408b0d70dafd603efc55b89c8b4b6f3e8c19d3b/client/src/main/proto/spine/client/query_service.proto",
|
|
66
|
-
"sha256": "8ad31ac9e18d17c38ed3419f80210f60e7d1b4b1bfc94f0949ba993e19934f41"
|
|
70
|
+
"sha256": "8ad31ac9e18d17c38ed3419f80210f60e7d1b4b1bfc94f0949ba993e19934f41",
|
|
71
|
+
"localAdaptation": {
|
|
72
|
+
"kind": "query-service-execute",
|
|
73
|
+
"sha256": "af2ad517cb1db9b415390e56573d553a040f3ce62a0fe12c13f535d363ad8636"
|
|
74
|
+
}
|
|
67
75
|
},
|
|
68
76
|
{
|
|
69
77
|
"localPath": "packages/proto/proto/spine/client/query.proto",
|
|
@@ -418,13 +426,17 @@
|
|
|
418
426
|
}
|
|
419
427
|
],
|
|
420
428
|
"ownedSources": [
|
|
429
|
+
{
|
|
430
|
+
"localPath": "packages/proto/proto/spine/client/app_query.proto",
|
|
431
|
+
"sha256": "b5b334232dc724f7de606e6655aefde7856a8be1e9742311aa3c23a3ae206140"
|
|
432
|
+
},
|
|
421
433
|
{
|
|
422
434
|
"localPath": "packages/proto/proto/spine/server/agent/acceptance_receipt.proto",
|
|
423
435
|
"sha256": "daa0f8e724849523cb539b9b6a7503aa8eab0de3f23d926d1aa9d117bd44f007"
|
|
424
436
|
},
|
|
425
437
|
{
|
|
426
438
|
"localPath": "packages/proto/proto/spine/auth/authenticated_subscription.proto",
|
|
427
|
-
"sha256": "
|
|
439
|
+
"sha256": "da3f4c1ff9a0b968bfed0193c8b43deb0bfd71d126b375ab8832532625d15553"
|
|
428
440
|
},
|
|
429
441
|
{
|
|
430
442
|
"localPath": "packages/proto/proto/spine/auth/authentication_service.proto",
|
|
@@ -432,7 +444,7 @@
|
|
|
432
444
|
},
|
|
433
445
|
{
|
|
434
446
|
"localPath": "packages/proto/proto/spine/client/subscription_record.proto",
|
|
435
|
-
"sha256": "
|
|
447
|
+
"sha256": "614caf2608bf3fc36a419f887305ae6b7b1cfad657800b5bc3a5d886d396bd86"
|
|
436
448
|
},
|
|
437
449
|
{
|
|
438
450
|
"localPath": "packages/proto/proto/spine/deployment/node_discovery.proto",
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"formatVersion": 2,
|
|
3
3
|
"packageName": "@spine-event-engine/proto",
|
|
4
|
-
"packageVersion": "2.0.0-snapshot.
|
|
4
|
+
"packageVersion": "2.0.0-snapshot.26",
|
|
5
5
|
"protoFiles": [
|
|
6
6
|
"grpc/health/v1/health.proto",
|
|
7
7
|
"spine/auth/authenticated_subscription.proto",
|
|
8
8
|
"spine/auth/authentication_service.proto",
|
|
9
9
|
"spine/base/error.proto",
|
|
10
10
|
"spine/base/field_path.proto",
|
|
11
|
+
"spine/client/app_query.proto",
|
|
11
12
|
"spine/client/command_service.proto",
|
|
12
13
|
"spine/client/entities.proto",
|
|
13
14
|
"spine/client/filters.proto",
|
|
@@ -67,6 +68,7 @@
|
|
|
67
68
|
"spine/auth/authentication_service.proto": "generated/spine/auth/authentication_service_pb.js",
|
|
68
69
|
"spine/base/error.proto": "generated/spine/base/error_pb.js",
|
|
69
70
|
"spine/base/field_path.proto": "generated/spine/base/field_path_pb.js",
|
|
71
|
+
"spine/client/app_query.proto": "generated/spine/client/app_query_pb.js",
|
|
70
72
|
"spine/client/command_service.proto": "generated/spine/client/command_service_pb.js",
|
|
71
73
|
"spine/client/entities.proto": "generated/spine/client/entities_pb.js",
|
|
72
74
|
"spine/client/filters.proto": "generated/spine/client/filters_pb.js",
|
|
@@ -122,5 +124,5 @@
|
|
|
122
124
|
},
|
|
123
125
|
"dependencies": [],
|
|
124
126
|
"moduleExport": "spineProtoModule",
|
|
125
|
-
"generationId": "
|
|
127
|
+
"generationId": "bd8cdb457b84a777fe525af300d80944f312fa9b37406bfe5c2501ccb2606076"
|
|
126
128
|
}
|