@arcforges/proto 1.0.0-ci.101.1

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.
@@ -0,0 +1,248 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ syntax = "proto3";
3
+
4
+ package arcforges.foundation.v1;
5
+
6
+ option csharp_namespace = "ArcForges.Contracts.Foundation.V1";
7
+ option java_package = "io.github.arcforges.contracts.foundation.v1";
8
+ option java_multiple_files = true;
9
+ option java_outer_classname = "FoundationProto";
10
+
11
+ // Complete selected registry04 records; shape constraints are owned beside this schema.
12
+ message Id { optional bytes value = 1 [json_name = "value"]; }
13
+ message Revision { optional int64 value = 1 [json_name = "value"]; }
14
+ message LocalNotesVersion {
15
+ Revision acked_rev = 1 [json_name = "ackedRev"];
16
+ optional uint64 head_local_seq = 2 [json_name = "headLocalSeq"];
17
+ }
18
+ message NativeContentRev { optional uint64 value = 1 [json_name = "value"]; }
19
+ message Instant {
20
+ optional sint64 unix_seconds = 1 [json_name = "unixSeconds"];
21
+ optional uint32 nanos = 2 [json_name = "nanos"];
22
+ }
23
+ message Decimal { optional string value = 1 [json_name = "value"]; }
24
+ message AggregateRef {
25
+ optional string kind = 1 [json_name = "kind"];
26
+ Id id = 2 [json_name = "id"];
27
+ }
28
+ message VersionedRef {
29
+ AggregateRef root = 1 [json_name = "root"];
30
+ Revision revision = 2 [json_name = "revision"];
31
+ optional string sha256 = 3 [json_name = "sha256"];
32
+ }
33
+ enum EffectCertainty {
34
+ EFFECT_CERTAINTY_UNSPECIFIED = 0;
35
+ EFFECT_CERTAINTY_DID_NOT_HAPPEN = 1;
36
+ EFFECT_CERTAINTY_HAPPENED = 2;
37
+ EFFECT_CERTAINTY_UNKNOWN = 3;
38
+ }
39
+ enum RetryMode {
40
+ RETRY_MODE_UNSPECIFIED = 0;
41
+ RETRY_MODE_NEVER = 1;
42
+ RETRY_MODE_SAME_COMMAND = 2;
43
+ RETRY_MODE_AFTER_TIME = 3;
44
+ RETRY_MODE_RECONCILE = 4;
45
+ }
46
+ enum ErrorCategory {
47
+ ERROR_CATEGORY_UNSPECIFIED = 0;
48
+ ERROR_CATEGORY_VALIDATION = 1;
49
+ ERROR_CATEGORY_AUTHENTICATION = 2;
50
+ ERROR_CATEGORY_AUTHORIZATION = 3;
51
+ ERROR_CATEGORY_ENTITLEMENT = 4;
52
+ ERROR_CATEGORY_CONFLICT = 5;
53
+ ERROR_CATEGORY_STATE = 6;
54
+ ERROR_CATEGORY_RESOURCE = 7;
55
+ ERROR_CATEGORY_EXECUTION = 8;
56
+ ERROR_CATEGORY_INTERNAL = 9;
57
+ }
58
+ message Receipt {
59
+ Id command_id = 1 [json_name = "commandId"];
60
+ Revision result_revision = 2 [json_name = "resultRevision"];
61
+ optional EffectCertainty effect = 3 [json_name = "effect"];
62
+ }
63
+ message ApplicationScope {
64
+ optional string product_id = 1 [json_name = "productId"];
65
+ Id installation_id = 2 [json_name = "installationId"];
66
+ }
67
+ message RequestMeta {
68
+ Id command_id = 1 [json_name = "commandId"];
69
+ Revision expected_rev = 2 [json_name = "expectedRev"];
70
+ Id correlation_id = 3 [json_name = "correlationId"];
71
+ Id workspace_id = 4 [json_name = "workspaceId"];
72
+ LocalNotesVersion expected_local = 5 [json_name = "expectedLocal"];
73
+ NativeContentRev expected_native = 6 [json_name = "expectedNative"];
74
+ optional uint64 recovery_generation = 7 [json_name = "recoveryGeneration"];
75
+ ApplicationScope application_scope = 8 [json_name = "applicationScope"];
76
+ }
77
+ message ResponseMeta {
78
+ Revision result_rev = 1 [json_name = "resultRev"];
79
+ optional int64 entitlement_version = 2 [json_name = "entitlementVersion"];
80
+ repeated string warnings = 3 [json_name = "warnings"];
81
+ Id correlation_id = 4 [json_name = "correlationId"];
82
+ optional uint64 recovery_generation = 5 [json_name = "recoveryGeneration"];
83
+ }
84
+ message ArcError {
85
+ optional string code = 1 [json_name = "code"];
86
+ optional ErrorCategory category = 2 [json_name = "category"];
87
+ optional string message_key = 3 [json_name = "messageKey"];
88
+ RetryAdvice retry = 4 [json_name = "retry"];
89
+ optional EffectCertainty effect = 5 [json_name = "effect"];
90
+ Id correlation_id = 6 [json_name = "correlationId"];
91
+ ErrorDetails details = 7 [json_name = "details"];
92
+ }
93
+ message RetryAdvice {
94
+ optional RetryMode mode = 1 [json_name = "mode"];
95
+ Instant retry_at = 2 [json_name = "retryAt"];
96
+ optional string reconciliation_operation = 3 [json_name = "reconciliationOperation"];
97
+ }
98
+ message ErrorDetails {
99
+ oneof detail {
100
+ RevisionConflict revision = 1 [json_name = "revision"];
101
+ LimitFailure limit = 2 [json_name = "limit"];
102
+ VersionFailure upgrade = 3 [json_name = "upgrade"];
103
+ StateFailure state = 4 [json_name = "state"];
104
+ }
105
+ }
106
+ message RevisionConflict {
107
+ Revision expected = 1 [json_name = "expected"];
108
+ Revision actual = 2 [json_name = "actual"];
109
+ Id conflict_id = 3 [json_name = "conflictId"];
110
+ }
111
+ message LimitFailure {
112
+ optional string limit_name = 1 [json_name = "limitName"];
113
+ Decimal maximum = 2 [json_name = "maximum"];
114
+ Decimal available = 3 [json_name = "available"];
115
+ Instant recovery_at = 4 [json_name = "recoveryAt"];
116
+ }
117
+ message VersionFailure {
118
+ optional string min_readable = 1 [json_name = "minReadable"];
119
+ optional string min_writable = 2 [json_name = "minWritable"];
120
+ optional string received = 3 [json_name = "received"];
121
+ }
122
+ message StateFailure {
123
+ optional string state = 1 [json_name = "state"];
124
+ optional string reason = 2 [json_name = "reason"];
125
+ AggregateRef resource = 3 [json_name = "resource"];
126
+ LocalNotesVersion local = 4 [json_name = "local"];
127
+ NativeContentRev native = 5 [json_name = "native"];
128
+ }
129
+
130
+ enum ResourceAvailability {
131
+ RESOURCE_AVAILABILITY_UNSPECIFIED = 0;
132
+ RESOURCE_AVAILABILITY_ALWAYS_KEEP = 1;
133
+ RESOURCE_AVAILABILITY_AVAILABLE_OFFLINE = 2;
134
+ RESOURCE_AVAILABILITY_ON_DEMAND = 3;
135
+ RESOURCE_AVAILABILITY_CLOUD_ONLY = 4;
136
+ RESOURCE_AVAILABILITY_MISSING_EXTERNAL = 5;
137
+ }
138
+
139
+ // registry04: ActorChain; complete selected WP03.01 projection.
140
+ message ActorChain {
141
+ Id initiator = 1 [json_name = "initiator"];
142
+ Id owner = 2 [json_name = "owner"];
143
+ optional string actor_kind = 3 [json_name = "actorKind"];
144
+ Id delegation_id = 4 [json_name = "delegationId"];
145
+ Id device_id = 5 [json_name = "deviceId"];
146
+ }
147
+
148
+ // registry04: ArtifactRef; complete selected WP03.01 projection.
149
+ message ArtifactRef {
150
+ Id artifact_id = 1 [json_name = "artifactId"];
151
+ optional string kind = 2 [json_name = "kind"];
152
+ AggregateRef owner = 3 [json_name = "owner"];
153
+ ResourceRef resource = 4 [json_name = "resource"];
154
+ Id job_id = 5 [json_name = "jobId"];
155
+ ContentOrigin origin = 6 [json_name = "origin"];
156
+ Id producing_task_id = 7 [json_name = "producingTaskId"];
157
+ Id producing_run_id = 8 [json_name = "producingRunId"];
158
+ ActorChain actor = 9 [json_name = "actor"];
159
+ Instant created_at = 10 [json_name = "createdAt"];
160
+ optional string availability = 11 [json_name = "availability"];
161
+ repeated VersionedRef provenance = 12 [json_name = "provenance"];
162
+ }
163
+
164
+ // registry04: BlobRef; complete selected WP03.01 projection.
165
+ message BlobRef {
166
+ Id blob_id = 1 [json_name = "blobId"];
167
+ optional string content_hash = 2 [json_name = "contentHash"];
168
+ optional uint64 size_bytes = 3 [json_name = "sizeBytes"];
169
+ }
170
+
171
+ // registry04: ByteRange; complete selected WP03.01 projection.
172
+ message ByteRange {
173
+ optional uint64 offset = 1 [json_name = "offset"];
174
+ optional uint64 length = 2 [json_name = "length"];
175
+ }
176
+
177
+ // registry04: ContentOrigin; complete selected WP03.01 projection.
178
+ message ContentOrigin {
179
+ optional string profile = 1 [json_name = "profile"];
180
+ Id origin_id = 2 [json_name = "originId"];
181
+ Id content_unit_id = 3 [json_name = "contentUnitId"];
182
+ repeated string kinds = 4 [json_name = "kinds"];
183
+ optional string payload_sha256 = 5 [json_name = "payloadSha256"];
184
+ optional string producer_kind = 6 [json_name = "producerKind"];
185
+ Instant created_at = 7 [json_name = "createdAt"];
186
+ repeated Id parent_origin_ids = 8 [json_name = "parentOriginIds"];
187
+ optional uint32 omitted_parent_count = 9 [json_name = "omittedParentCount"];
188
+ }
189
+
190
+ // registry04: MediaRange; complete selected WP03.01 projection.
191
+ message MediaRange {
192
+ MediaTime start = 1 [json_name = "start"];
193
+ MediaTime duration = 2 [json_name = "duration"];
194
+ }
195
+
196
+ // registry04: MediaTime; complete selected WP03.01 projection.
197
+ message MediaTime {
198
+ optional sint64 ticks = 1 [json_name = "ticks"];
199
+ Rational rate = 2 [json_name = "rate"];
200
+ }
201
+
202
+ // registry04: PageRequest; complete selected WP03.01 projection.
203
+ message PageRequest {
204
+ optional string cursor = 1 [json_name = "cursor"];
205
+ optional int32 limit = 2 [json_name = "limit"];
206
+ }
207
+
208
+ // registry04: PageState; complete selected WP03.01 projection.
209
+ message PageState {
210
+ optional string next_cursor = 1 [json_name = "nextCursor"];
211
+ optional bool has_more = 2 [json_name = "hasMore"];
212
+ }
213
+
214
+ // registry04: Rational; complete selected WP03.01 projection.
215
+ message Rational {
216
+ optional sint64 numerator = 1 [json_name = "numerator"];
217
+ optional uint64 denominator = 2 [json_name = "denominator"];
218
+ }
219
+
220
+ // registry04: ResourceRef; complete selected WP03.01 projection.
221
+ message ResourceRef {
222
+ Id realm_id = 1 [json_name = "realmId"];
223
+ Id workspace_id = 2 [json_name = "workspaceId"];
224
+ optional string owner_app_id = 3 [json_name = "ownerAppId"];
225
+ optional string resource_kind = 4 [json_name = "resourceKind"];
226
+ Id resource_id = 5 [json_name = "resourceId"];
227
+ optional string display_hint = 6 [json_name = "displayHint"];
228
+ optional ResourceAvailability availability = 7 [json_name = "availability"];
229
+ Id holding_device_id = 8 [json_name = "holdingDeviceId"];
230
+ }
231
+
232
+ // registry04: ResourceVersionRef; complete selected WP03.01 projection.
233
+ message ResourceVersionRef {
234
+ ResourceRef resource = 1 [json_name = "resource"];
235
+ optional string content_hash = 5 [json_name = "contentHash"];
236
+ BlobRef blob = 6 [json_name = "blob"];
237
+ oneof revision {
238
+ Revision cloud = 2 [json_name = "cloud"];
239
+ NativeContentRev native = 3 [json_name = "native"];
240
+ LocalNotesVersion local = 4 [json_name = "local"];
241
+ }
242
+ }
243
+
244
+ // registry04: TimeRangeUtc; complete selected WP03.01 projection.
245
+ message TimeRangeUtc {
246
+ Instant from = 1 [json_name = "from"];
247
+ Instant until = 2 [json_name = "until"];
248
+ }
@@ -0,0 +1,23 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ syntax = "proto3";
3
+
4
+ package arcforges.hello.v1;
5
+
6
+ option csharp_namespace = "ArcForges.Contracts.Hello.V1";
7
+ option java_package = "io.github.arcforges.contracts.hello.v1";
8
+ option java_multiple_files = true;
9
+ option java_outer_classname = "HelloProto";
10
+
11
+ // Packaging and transport demonstration, not a product API.
12
+ service HelloService {
13
+ // Returns "Hello, <name>!". An empty name returns INVALID_ARGUMENT.
14
+ rpc SayHello(SayHelloRequest) returns (SayHelloResponse);
15
+ }
16
+
17
+ message SayHelloRequest {
18
+ string name = 1;
19
+ }
20
+
21
+ message SayHelloResponse {
22
+ string message = 1;
23
+ }