@apibara/protocol 0.1.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.
Files changed (74) hide show
  1. package/LICENSE.txt +202 -0
  2. package/README.md +61 -0
  3. package/dist/index.d.ts +24 -0
  4. package/dist/index.js +35 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/node.proto +96 -0
  7. package/dist/proto/apibara/node/v1alpha1/ConnectRequest.d.ts +7 -0
  8. package/dist/proto/apibara/node/v1alpha1/ConnectRequest.js +4 -0
  9. package/dist/proto/apibara/node/v1alpha1/ConnectRequest.js.map +1 -0
  10. package/dist/proto/apibara/node/v1alpha1/ConnectResponse.d.ts +12 -0
  11. package/dist/proto/apibara/node/v1alpha1/ConnectResponse.js +4 -0
  12. package/dist/proto/apibara/node/v1alpha1/ConnectResponse.js.map +1 -0
  13. package/dist/proto/apibara/node/v1alpha1/Data.d.ts +10 -0
  14. package/dist/proto/apibara/node/v1alpha1/Data.js +4 -0
  15. package/dist/proto/apibara/node/v1alpha1/Data.js.map +1 -0
  16. package/dist/proto/apibara/node/v1alpha1/Heartbeat.d.ts +4 -0
  17. package/dist/proto/apibara/node/v1alpha1/Heartbeat.js +4 -0
  18. package/dist/proto/apibara/node/v1alpha1/Heartbeat.js.map +1 -0
  19. package/dist/proto/apibara/node/v1alpha1/InputSyncingStatus.d.ts +9 -0
  20. package/dist/proto/apibara/node/v1alpha1/InputSyncingStatus.js +4 -0
  21. package/dist/proto/apibara/node/v1alpha1/InputSyncingStatus.js.map +1 -0
  22. package/dist/proto/apibara/node/v1alpha1/Invalidate.d.ts +7 -0
  23. package/dist/proto/apibara/node/v1alpha1/Invalidate.js +4 -0
  24. package/dist/proto/apibara/node/v1alpha1/Invalidate.js.map +1 -0
  25. package/dist/proto/apibara/node/v1alpha1/Node.d.ts +28 -0
  26. package/dist/proto/apibara/node/v1alpha1/Node.js +4 -0
  27. package/dist/proto/apibara/node/v1alpha1/Node.js.map +1 -0
  28. package/dist/proto/apibara/node/v1alpha1/NotStartedStatus.d.ts +4 -0
  29. package/dist/proto/apibara/node/v1alpha1/NotStartedStatus.js +4 -0
  30. package/dist/proto/apibara/node/v1alpha1/NotStartedStatus.js.map +1 -0
  31. package/dist/proto/apibara/node/v1alpha1/StatusRequest.d.ts +4 -0
  32. package/dist/proto/apibara/node/v1alpha1/StatusRequest.js +4 -0
  33. package/dist/proto/apibara/node/v1alpha1/StatusRequest.js.map +1 -0
  34. package/dist/proto/apibara/node/v1alpha1/StatusResponse.d.ts +15 -0
  35. package/dist/proto/apibara/node/v1alpha1/StatusResponse.js +4 -0
  36. package/dist/proto/apibara/node/v1alpha1/StatusResponse.js.map +1 -0
  37. package/dist/proto/apibara/node/v1alpha1/StreamMessagesRequest.d.ts +7 -0
  38. package/dist/proto/apibara/node/v1alpha1/StreamMessagesRequest.js +4 -0
  39. package/dist/proto/apibara/node/v1alpha1/StreamMessagesRequest.js.map +1 -0
  40. package/dist/proto/apibara/node/v1alpha1/StreamMessagesResponse.d.ts +15 -0
  41. package/dist/proto/apibara/node/v1alpha1/StreamMessagesResponse.js +4 -0
  42. package/dist/proto/apibara/node/v1alpha1/StreamMessagesResponse.js.map +1 -0
  43. package/dist/proto/apibara/node/v1alpha1/SyncedStatus.d.ts +7 -0
  44. package/dist/proto/apibara/node/v1alpha1/SyncedStatus.js +4 -0
  45. package/dist/proto/apibara/node/v1alpha1/SyncedStatus.js.map +1 -0
  46. package/dist/proto/apibara/node/v1alpha1/SyncingStatus.d.ts +10 -0
  47. package/dist/proto/apibara/node/v1alpha1/SyncingStatus.js +4 -0
  48. package/dist/proto/apibara/node/v1alpha1/SyncingStatus.js.map +1 -0
  49. package/dist/proto/google/protobuf/Any.d.ts +10 -0
  50. package/dist/proto/google/protobuf/Any.js +4 -0
  51. package/dist/proto/google/protobuf/Any.js.map +1 -0
  52. package/dist/proto/node.d.ts +36 -0
  53. package/dist/proto/node.js +3 -0
  54. package/dist/proto/node.js.map +1 -0
  55. package/dist/proto/node.proto +96 -0
  56. package/package.json +28 -0
  57. package/src/index.ts +41 -0
  58. package/src/proto/apibara/node/v1alpha1/ConnectRequest.ts +11 -0
  59. package/src/proto/apibara/node/v1alpha1/ConnectResponse.ts +16 -0
  60. package/src/proto/apibara/node/v1alpha1/Data.ts +14 -0
  61. package/src/proto/apibara/node/v1alpha1/Heartbeat.ts +8 -0
  62. package/src/proto/apibara/node/v1alpha1/InputSyncingStatus.ts +13 -0
  63. package/src/proto/apibara/node/v1alpha1/Invalidate.ts +11 -0
  64. package/src/proto/apibara/node/v1alpha1/Node.ts +37 -0
  65. package/src/proto/apibara/node/v1alpha1/NotStartedStatus.ts +8 -0
  66. package/src/proto/apibara/node/v1alpha1/StatusRequest.ts +8 -0
  67. package/src/proto/apibara/node/v1alpha1/StatusResponse.ts +19 -0
  68. package/src/proto/apibara/node/v1alpha1/StreamMessagesRequest.ts +11 -0
  69. package/src/proto/apibara/node/v1alpha1/StreamMessagesResponse.ts +19 -0
  70. package/src/proto/apibara/node/v1alpha1/SyncedStatus.ts +11 -0
  71. package/src/proto/apibara/node/v1alpha1/SyncingStatus.ts +14 -0
  72. package/src/proto/google/protobuf/Any.ts +13 -0
  73. package/src/proto/node.proto +96 -0
  74. package/src/proto/node.ts +37 -0
@@ -0,0 +1,96 @@
1
+ // # Apibara Node service.
2
+ syntax = "proto3";
3
+
4
+ package apibara.node.v1alpha1;
5
+
6
+ import "google/protobuf/any.proto";
7
+
8
+ service Node {
9
+ // Get information about the node and its status.
10
+ rpc Status(StatusRequest) returns (StatusResponse);
11
+
12
+ // Stream messages from the node.
13
+ rpc StreamMessages(StreamMessagesRequest) returns (stream StreamMessagesResponse);
14
+ }
15
+
16
+ // Status request. It's empty.
17
+ message StatusRequest {
18
+ }
19
+
20
+ // Status response. Returns information about the node's stream.
21
+ message StatusResponse {
22
+ oneof message {
23
+ SyncingStatus syncing = 1;
24
+ SyncedStatus synced = 2;
25
+ NotStartedStatus not_started = 3;
26
+ }
27
+ }
28
+
29
+ // Node is syncing with their sources.
30
+ message SyncingStatus {
31
+ // The latest sequence number.
32
+ uint64 sequence = 1;
33
+ // The syncing status of each input.
34
+ repeated InputSyncingStatus inputs = 2;
35
+ }
36
+
37
+ // Syncing status of the node's input.
38
+ message InputSyncingStatus {
39
+ // Latest sequence number.
40
+ uint64 head = 1;
41
+ // Latest indexed sequenced number.
42
+ uint64 indexed = 2;
43
+ }
44
+
45
+ // Node is fully synced.
46
+ message SyncedStatus {
47
+ // The latest sequence number.
48
+ uint64 sequence = 1;
49
+ }
50
+
51
+ // Node didn't start syncing.
52
+ message NotStartedStatus {
53
+ }
54
+
55
+ // Message sent from the client to the node.
56
+ message ConnectRequest {
57
+ // Start streaming from the provided sequence number.
58
+ uint64 starting_sequence = 1;
59
+ }
60
+
61
+ // Message sent from the node to the client.
62
+ message ConnectResponse {
63
+ oneof message {
64
+ Invalidate invalidate = 1;
65
+ Data data = 2;
66
+ }
67
+ }
68
+
69
+ // Message sent from the client to the node.
70
+ message StreamMessagesRequest {
71
+ // Start streaming from the provided sequence number.
72
+ uint64 starting_sequence = 1;
73
+ }
74
+
75
+ // Message sent from the node to the client.
76
+ message StreamMessagesResponse {
77
+ oneof message {
78
+ Invalidate invalidate = 1;
79
+ Data data = 2;
80
+ Heartbeat heartbeat = 3;
81
+ }
82
+ }
83
+
84
+ // Invalidate data after (inclusive) the given sequence number.
85
+ message Invalidate {
86
+ uint64 sequence = 1;
87
+ }
88
+
89
+ message Data {
90
+ uint64 sequence = 1;
91
+ google.protobuf.Any data = 2;
92
+ }
93
+
94
+ // Sent to clients to check if stream is still connected.
95
+ message Heartbeat {
96
+ }
@@ -0,0 +1,37 @@
1
+ import type * as grpc from '@grpc/grpc-js';
2
+ import type { MessageTypeDefinition } from '@grpc/proto-loader';
3
+
4
+ import type { NodeClient as _apibara_node_v1alpha1_NodeClient, NodeDefinition as _apibara_node_v1alpha1_NodeDefinition } from './apibara/node/v1alpha1/Node';
5
+
6
+ type SubtypeConstructor<Constructor extends new (...args: any) => any, Subtype> = {
7
+ new(...args: ConstructorParameters<Constructor>): Subtype;
8
+ };
9
+
10
+ export interface ProtoGrpcType {
11
+ apibara: {
12
+ node: {
13
+ v1alpha1: {
14
+ ConnectRequest: MessageTypeDefinition
15
+ ConnectResponse: MessageTypeDefinition
16
+ Data: MessageTypeDefinition
17
+ Heartbeat: MessageTypeDefinition
18
+ InputSyncingStatus: MessageTypeDefinition
19
+ Invalidate: MessageTypeDefinition
20
+ Node: SubtypeConstructor<typeof grpc.Client, _apibara_node_v1alpha1_NodeClient> & { service: _apibara_node_v1alpha1_NodeDefinition }
21
+ NotStartedStatus: MessageTypeDefinition
22
+ StatusRequest: MessageTypeDefinition
23
+ StatusResponse: MessageTypeDefinition
24
+ StreamMessagesRequest: MessageTypeDefinition
25
+ StreamMessagesResponse: MessageTypeDefinition
26
+ SyncedStatus: MessageTypeDefinition
27
+ SyncingStatus: MessageTypeDefinition
28
+ }
29
+ }
30
+ }
31
+ google: {
32
+ protobuf: {
33
+ Any: MessageTypeDefinition
34
+ }
35
+ }
36
+ }
37
+