@spine-event-engine/proto 2.0.0-snapshot.25 → 2.0.0-snapshot.28
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/README.md +18 -0
- package/REFERENCE.md +13 -1
- package/dist/generated/proto-module.d.ts +7 -1
- package/dist/generated/proto-module.d.ts.map +1 -1
- package/dist/generated/proto-module.js +93 -57
- package/dist/generated/proto-module.js.map +1 -1
- package/dist/generated/spine/auth/authenticated_principal_pb.d.ts +61 -0
- package/dist/generated/spine/auth/authenticated_principal_pb.d.ts.map +1 -0
- package/dist/generated/spine/auth/authenticated_principal_pb.js +24 -0
- package/dist/generated/spine/auth/authenticated_principal_pb.js.map +1 -0
- 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/auth/oidc_flow_pb.d.ts +139 -0
- package/dist/generated/spine/auth/oidc_flow_pb.d.ts.map +1 -0
- package/dist/generated/spine/auth/oidc_flow_pb.js +26 -0
- package/dist/generated/spine/auth/oidc_flow_pb.js.map +1 -0
- package/dist/generated/spine/auth/opaque_session_pb.d.ts +53 -0
- package/dist/generated/spine/auth/opaque_session_pb.d.ts.map +1 -0
- package/dist/generated/spine/auth/opaque_session_pb.js +20 -0
- package/dist/generated/spine/auth/opaque_session_pb.js.map +1 -0
- package/dist/generated/spine/auth/token_revocation_pb.d.ts +58 -0
- package/dist/generated/spine/auth/token_revocation_pb.d.ts.map +1 -0
- package/dist/generated/spine/auth/token_revocation_pb.js +19 -0
- package/dist/generated/spine/auth/token_revocation_pb.js.map +1 -0
- 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/generated/spine/server/tenant/tenant_pb.d.ts +41 -0
- package/dist/generated/spine/server/tenant/tenant_pb.d.ts.map +1 -0
- package/dist/generated/spine/server/tenant/tenant_pb.js +20 -0
- package/dist/generated/spine/server/tenant/tenant_pb.js.map +1 -0
- package/dist/src/auth/index.d.ts +4 -0
- package/dist/src/auth/index.d.ts.map +1 -1
- package/dist/src/auth/index.js +4 -0
- package/dist/src/auth/index.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/src/index.d.ts +10 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +9 -0
- package/dist/src/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/generated/.spine-proto-generation.json +1 -1
- package/generated/proto-module.ts +93 -57
- package/generated/spine/auth/authenticated_principal_pb.ts +76 -0
- package/generated/spine/auth/authenticated_subscription_pb.ts +10 -1
- package/generated/spine/auth/oidc_flow_pb.ts +171 -0
- package/generated/spine/auth/opaque_session_pb.ts +71 -0
- package/generated/spine/auth/token_revocation_pb.ts +76 -0
- 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/generated/spine/server/tenant/tenant_pb.ts +57 -0
- package/package.json +1 -1
- package/proto/spine/auth/authenticated_principal.proto +36 -0
- package/proto/spine/auth/authenticated_subscription.proto +16 -7
- package/proto/spine/auth/oidc_flow.proto +77 -0
- package/proto/spine/auth/opaque_session.proto +38 -0
- package/proto/spine/auth/token_revocation.proto +40 -0
- 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/server/tenant/tenant.proto +31 -0
- package/proto/spine-sources.json +38 -6
- package/spine-proto-manifest.json +14 -2
|
@@ -0,0 +1,36 @@
|
|
|
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.auth;
|
|
17
|
+
|
|
18
|
+
import "spine/options.proto";
|
|
19
|
+
|
|
20
|
+
option java_multiple_files = true;
|
|
21
|
+
option (type_url_prefix) = "type.spine.io";
|
|
22
|
+
|
|
23
|
+
// A complete authenticated identity used by application session and grant records.
|
|
24
|
+
message AuthenticatedPrincipal {
|
|
25
|
+
// The application principal identifier.
|
|
26
|
+
string id = 1;
|
|
27
|
+
|
|
28
|
+
// Optional claims; an empty present message differs from absent claims.
|
|
29
|
+
PrincipalAttributes attributes = 2;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// Application-defined string claims with explicit message presence.
|
|
33
|
+
message PrincipalAttributes {
|
|
34
|
+
// Claim names and their values.
|
|
35
|
+
map<string, string> values = 1;
|
|
36
|
+
}
|
|
@@ -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,77 @@
|
|
|
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.auth;
|
|
17
|
+
|
|
18
|
+
import "google/protobuf/timestamp.proto";
|
|
19
|
+
import "spine/auth/authenticated_principal.proto";
|
|
20
|
+
import "spine/options.proto";
|
|
21
|
+
|
|
22
|
+
option java_multiple_files = true;
|
|
23
|
+
option (type_url_prefix) = "type.spine.io";
|
|
24
|
+
|
|
25
|
+
// One flow-qualified authorization-code transaction, consumed before provider exchange.
|
|
26
|
+
message OidcLoginTransaction {
|
|
27
|
+
// SHA-256 lookup digest bound to the flow and browser state.
|
|
28
|
+
string lookup_digest = 1;
|
|
29
|
+
|
|
30
|
+
// Application-selected identity of the login flow.
|
|
31
|
+
string flow_id = 2;
|
|
32
|
+
|
|
33
|
+
// Trusted issuer selected when the flow was started.
|
|
34
|
+
string provider_issuer = 3;
|
|
35
|
+
|
|
36
|
+
// OAuth client configured for the provider exchange.
|
|
37
|
+
string client_id = 4;
|
|
38
|
+
|
|
39
|
+
// Exact registered callback URI, including static query parameters.
|
|
40
|
+
string callback_uri = 5;
|
|
41
|
+
|
|
42
|
+
// Random nonce expected in the verified ID token.
|
|
43
|
+
string nonce = 6;
|
|
44
|
+
|
|
45
|
+
// Provider PKCE verifier retained only until callback consumption.
|
|
46
|
+
string provider_code_verifier = 7;
|
|
47
|
+
|
|
48
|
+
// Browser PKCE challenge required before application-session issuance.
|
|
49
|
+
string browser_code_challenge = 8;
|
|
50
|
+
|
|
51
|
+
// Application redirect selected from the flow allowlist.
|
|
52
|
+
string post_login_redirect = 9;
|
|
53
|
+
|
|
54
|
+
// Exact deadline for accepting the callback.
|
|
55
|
+
google.protobuf.Timestamp when_expires = 10;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// One flow-qualified application grant, consumed before session issuance.
|
|
59
|
+
message OidcLoginGrant {
|
|
60
|
+
// SHA-256 lookup digest bound to the flow and random grant.
|
|
61
|
+
string lookup_digest = 1;
|
|
62
|
+
|
|
63
|
+
// Application-selected identity of the login flow.
|
|
64
|
+
string flow_id = 2;
|
|
65
|
+
|
|
66
|
+
// Complete mapped principal with optional attributes presence.
|
|
67
|
+
AuthenticatedPrincipal principal = 3;
|
|
68
|
+
|
|
69
|
+
// Browser PKCE challenge copied from the consumed transaction.
|
|
70
|
+
string browser_code_challenge = 4;
|
|
71
|
+
|
|
72
|
+
// Allowlisted application redirect from the consumed transaction.
|
|
73
|
+
string post_login_redirect = 5;
|
|
74
|
+
|
|
75
|
+
// Exact deadline for exchanging the application grant.
|
|
76
|
+
google.protobuf.Timestamp when_expires = 6;
|
|
77
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
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.auth;
|
|
17
|
+
|
|
18
|
+
import "google/protobuf/timestamp.proto";
|
|
19
|
+
import "spine/auth/authenticated_principal.proto";
|
|
20
|
+
import "spine/options.proto";
|
|
21
|
+
|
|
22
|
+
option java_multiple_files = true;
|
|
23
|
+
option (type_url_prefix) = "type.spine.io";
|
|
24
|
+
|
|
25
|
+
// Durable state behind one stable opaque-session reference.
|
|
26
|
+
message OpaqueSessionRecord {
|
|
27
|
+
// Stable random session reference used as the storage slot identifier.
|
|
28
|
+
string id = 1;
|
|
29
|
+
|
|
30
|
+
// Random credential generation changed by each successful rotation.
|
|
31
|
+
string generation = 2;
|
|
32
|
+
|
|
33
|
+
// Complete authenticated principal, including optional claims presence.
|
|
34
|
+
AuthenticatedPrincipal principal = 3;
|
|
35
|
+
|
|
36
|
+
// Exact authoritative application deadline.
|
|
37
|
+
google.protobuf.Timestamp when_expires = 4;
|
|
38
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
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.auth;
|
|
17
|
+
|
|
18
|
+
import "google/protobuf/timestamp.proto";
|
|
19
|
+
import "spine/options.proto";
|
|
20
|
+
|
|
21
|
+
option java_multiple_files = true;
|
|
22
|
+
option (type_url_prefix) = "type.spine.io";
|
|
23
|
+
|
|
24
|
+
// One scoped signed-token revocation retained through its last acceptance instant.
|
|
25
|
+
message TokenRevocation {
|
|
26
|
+
// SHA-256 storage identity of the issuer, audience and token ID tuple.
|
|
27
|
+
string id = 1;
|
|
28
|
+
|
|
29
|
+
// Exact issuing service identity used to scope the token ID.
|
|
30
|
+
string issuer = 2;
|
|
31
|
+
|
|
32
|
+
// Exact intended recipient identity used to scope the token ID.
|
|
33
|
+
string audience = 3;
|
|
34
|
+
|
|
35
|
+
// Token identifier retained for immediate revocation.
|
|
36
|
+
string token_id = 4;
|
|
37
|
+
|
|
38
|
+
// Inclusive last instant at which the token may still be accepted.
|
|
39
|
+
google.protobuf.Timestamp when_expires = 5;
|
|
40
|
+
}
|
|
@@ -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
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
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.server.tenant;
|
|
17
|
+
|
|
18
|
+
import "google/protobuf/timestamp.proto";
|
|
19
|
+
import "spine/core/tenant_id.proto";
|
|
20
|
+
import "spine/options.proto";
|
|
21
|
+
|
|
22
|
+
option (type_url_prefix) = "type.spine.io";
|
|
23
|
+
|
|
24
|
+
// A tenant registered in the application directory.
|
|
25
|
+
message Tenant {
|
|
26
|
+
// Complete application tenant identity.
|
|
27
|
+
spine.core.TenantId id = 1 [(required) = true];
|
|
28
|
+
|
|
29
|
+
// The time of the first successful registration.
|
|
30
|
+
google.protobuf.Timestamp when_created = 2 [(required) = true];
|
|
31
|
+
}
|
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",
|
|
@@ -419,25 +427,45 @@
|
|
|
419
427
|
],
|
|
420
428
|
"ownedSources": [
|
|
421
429
|
{
|
|
422
|
-
"localPath": "packages/proto/proto/spine/
|
|
423
|
-
"sha256": "
|
|
430
|
+
"localPath": "packages/proto/proto/spine/auth/authenticated_principal.proto",
|
|
431
|
+
"sha256": "09a4c8d755293fd522e1ff4c8305d49ef6bdb681e0de6a4e1bf311db1c9412db"
|
|
424
432
|
},
|
|
425
433
|
{
|
|
426
434
|
"localPath": "packages/proto/proto/spine/auth/authenticated_subscription.proto",
|
|
427
|
-
"sha256": "
|
|
435
|
+
"sha256": "da3f4c1ff9a0b968bfed0193c8b43deb0bfd71d126b375ab8832532625d15553"
|
|
428
436
|
},
|
|
429
437
|
{
|
|
430
438
|
"localPath": "packages/proto/proto/spine/auth/authentication_service.proto",
|
|
431
439
|
"sha256": "dcd178e057a13d4d044ac9fb1ba487b5a27203b0686191d5955ee928852822d7"
|
|
432
440
|
},
|
|
441
|
+
{
|
|
442
|
+
"localPath": "packages/proto/proto/spine/auth/oidc_flow.proto",
|
|
443
|
+
"sha256": "30f35a0b3cc4f3e84b91af49b632ad71067e54ac34b618cfdaca0c6ab509c07a"
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
"localPath": "packages/proto/proto/spine/auth/opaque_session.proto",
|
|
447
|
+
"sha256": "04aa832423e9595cdaa73e0689276803ff749e56d4a8d963f30729fa8780dfe6"
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
"localPath": "packages/proto/proto/spine/auth/token_revocation.proto",
|
|
451
|
+
"sha256": "a13278fd19469a5e3cd542edf29ba7015570d4dc03e176ab2a365485b4e9982c"
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
"localPath": "packages/proto/proto/spine/client/app_query.proto",
|
|
455
|
+
"sha256": "b5b334232dc724f7de606e6655aefde7856a8be1e9742311aa3c23a3ae206140"
|
|
456
|
+
},
|
|
433
457
|
{
|
|
434
458
|
"localPath": "packages/proto/proto/spine/client/subscription_record.proto",
|
|
435
|
-
"sha256": "
|
|
459
|
+
"sha256": "614caf2608bf3fc36a419f887305ae6b7b1cfad657800b5bc3a5d886d396bd86"
|
|
436
460
|
},
|
|
437
461
|
{
|
|
438
462
|
"localPath": "packages/proto/proto/spine/deployment/node_discovery.proto",
|
|
439
463
|
"sha256": "7c300d215a1757c17b7bd1a89cebb4825df28a58fcc119f2aa6d5535d7520073"
|
|
440
464
|
},
|
|
465
|
+
{
|
|
466
|
+
"localPath": "packages/proto/proto/spine/server/agent/acceptance_receipt.proto",
|
|
467
|
+
"sha256": "daa0f8e724849523cb539b9b6a7503aa8eab0de3f23d926d1aa9d117bd44f007"
|
|
468
|
+
},
|
|
441
469
|
{
|
|
442
470
|
"localPath": "packages/proto/proto/spine/server/agent/history_record.proto",
|
|
443
471
|
"sha256": "24ed282bc0cd901a3b38748ea7b516e972a87b2a7f69db99a2b094458d48e38a"
|
|
@@ -446,6 +474,10 @@
|
|
|
446
474
|
"localPath": "packages/proto/proto/spine/server/agent/model_preferences_record.proto",
|
|
447
475
|
"sha256": "33b7f805be70c5435b6d2f7ef558e0fab5dfed34a699ce87734f3c9b2b6f00d5"
|
|
448
476
|
},
|
|
477
|
+
{
|
|
478
|
+
"localPath": "packages/proto/proto/spine/server/tenant/tenant.proto",
|
|
479
|
+
"sha256": "f6d2785fd6dbeed03d40fcef4aec294e82df3557bac3d7e63c75d6344847462a"
|
|
480
|
+
},
|
|
449
481
|
{
|
|
450
482
|
"localPath": "packages/proto/proto/spine/ts/agent/content.proto",
|
|
451
483
|
"sha256": "f4242677c02f546724dbffe9dabb93bdf8d5a63f8d3357e91fab3765e41e058a"
|
|
@@ -1,13 +1,18 @@
|
|
|
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.28",
|
|
5
5
|
"protoFiles": [
|
|
6
6
|
"grpc/health/v1/health.proto",
|
|
7
|
+
"spine/auth/authenticated_principal.proto",
|
|
7
8
|
"spine/auth/authenticated_subscription.proto",
|
|
8
9
|
"spine/auth/authentication_service.proto",
|
|
10
|
+
"spine/auth/oidc_flow.proto",
|
|
11
|
+
"spine/auth/opaque_session.proto",
|
|
12
|
+
"spine/auth/token_revocation.proto",
|
|
9
13
|
"spine/base/error.proto",
|
|
10
14
|
"spine/base/field_path.proto",
|
|
15
|
+
"spine/client/app_query.proto",
|
|
11
16
|
"spine/client/command_service.proto",
|
|
12
17
|
"spine/client/entities.proto",
|
|
13
18
|
"spine/client/filters.proto",
|
|
@@ -48,6 +53,7 @@
|
|
|
48
53
|
"spine/server/entity/state_key.proto",
|
|
49
54
|
"spine/server/integration/broker.proto",
|
|
50
55
|
"spine/server/server_environment.proto",
|
|
56
|
+
"spine/server/tenant/tenant.proto",
|
|
51
57
|
"spine/server/transport/transport.proto",
|
|
52
58
|
"spine/string/template_string.proto",
|
|
53
59
|
"spine/system/server/entity_log_events.proto",
|
|
@@ -63,10 +69,15 @@
|
|
|
63
69
|
],
|
|
64
70
|
"generatedExports": {
|
|
65
71
|
"grpc/health/v1/health.proto": "generated/grpc/health/v1/health_pb.js",
|
|
72
|
+
"spine/auth/authenticated_principal.proto": "generated/spine/auth/authenticated_principal_pb.js",
|
|
66
73
|
"spine/auth/authenticated_subscription.proto": "generated/spine/auth/authenticated_subscription_pb.js",
|
|
67
74
|
"spine/auth/authentication_service.proto": "generated/spine/auth/authentication_service_pb.js",
|
|
75
|
+
"spine/auth/oidc_flow.proto": "generated/spine/auth/oidc_flow_pb.js",
|
|
76
|
+
"spine/auth/opaque_session.proto": "generated/spine/auth/opaque_session_pb.js",
|
|
77
|
+
"spine/auth/token_revocation.proto": "generated/spine/auth/token_revocation_pb.js",
|
|
68
78
|
"spine/base/error.proto": "generated/spine/base/error_pb.js",
|
|
69
79
|
"spine/base/field_path.proto": "generated/spine/base/field_path_pb.js",
|
|
80
|
+
"spine/client/app_query.proto": "generated/spine/client/app_query_pb.js",
|
|
70
81
|
"spine/client/command_service.proto": "generated/spine/client/command_service_pb.js",
|
|
71
82
|
"spine/client/entities.proto": "generated/spine/client/entities_pb.js",
|
|
72
83
|
"spine/client/filters.proto": "generated/spine/client/filters_pb.js",
|
|
@@ -107,6 +118,7 @@
|
|
|
107
118
|
"spine/server/entity/state_key.proto": "generated/spine/server/entity/state_key_pb.js",
|
|
108
119
|
"spine/server/integration/broker.proto": "generated/spine/server/integration/broker_pb.js",
|
|
109
120
|
"spine/server/server_environment.proto": "generated/spine/server/server_environment_pb.js",
|
|
121
|
+
"spine/server/tenant/tenant.proto": "generated/spine/server/tenant/tenant_pb.js",
|
|
110
122
|
"spine/server/transport/transport.proto": "generated/spine/server/transport/transport_pb.js",
|
|
111
123
|
"spine/string/template_string.proto": "generated/spine/string/template_string_pb.js",
|
|
112
124
|
"spine/system/server/entity_log_events.proto": "generated/spine/system/server/entity_log_events_pb.js",
|
|
@@ -122,5 +134,5 @@
|
|
|
122
134
|
},
|
|
123
135
|
"dependencies": [],
|
|
124
136
|
"moduleExport": "spineProtoModule",
|
|
125
|
-
"generationId": "
|
|
137
|
+
"generationId": "4a7c4a6383575365917391a88d8f9174fd0f240a404967a4a779bbfeb7648123"
|
|
126
138
|
}
|