diff --git a/buf.gen.yaml b/buf.gen.yaml index 1926b9b6..ef1e78bf 100644 --- a/buf.gen.yaml +++ b/buf.gen.yaml @@ -1,4 +1,6 @@ version: v2 +managed: + enabled: true plugins: - local: ./node_modules/ts-proto/protoc-gen-ts_proto strategy: directory @@ -6,8 +8,3 @@ plugins: opt: - esModuleInterop=true - fileSuffix=_pb -inputs: - - directory: ./packages - exclude_paths: - - packages/network/node_modules - - packages/object/node_modules diff --git a/buf.lock b/buf.lock new file mode 100644 index 00000000..4f98143f --- /dev/null +++ b/buf.lock @@ -0,0 +1,2 @@ +# Generated by buf. DO NOT EDIT. +version: v2 diff --git a/buf.yaml b/buf.yaml new file mode 100644 index 00000000..bb492421 --- /dev/null +++ b/buf.yaml @@ -0,0 +1,14 @@ +version: v2 +modules: + - path: packages + - includes: + - packages/network + - packages/object + - excludes: + - node_modules + - packages/network/node_modules + - packages/object/node_modules + - examples/canvas/node_modules + - examples/chat/node_modules +deps: + - buf.build/googleapis/googleapis diff --git a/packages/node/package.json b/packages/node/package.json index 0573c956..062dc5c7 100644 --- a/packages/node/package.json +++ b/packages/node/package.json @@ -41,6 +41,7 @@ "@topology-foundation/network": "0.2.0", "@topology-foundation/object": "0.2.0", "commander": "^12.1.0", + "google-protobuf": "^3.21.2", "it-length-prefixed": "^9.1.0" } } diff --git a/packages/node/src/proto/rpc.proto b/packages/node/src/proto/rpc.proto new file mode 100644 index 00000000..a3ba5406 --- /dev/null +++ b/packages/node/src/proto/rpc.proto @@ -0,0 +1,43 @@ +syntax = "proto3"; +package topology.rpc; +import "google/api/http.proto"; +import "google/api/annotations.proto"; + +service Rpc { + rpc subscribeCro (SubscribeCroRequest ) returns (SubscribeCroResponse ) { + option (google.api.http).get = "/topopology/cro/subscribe/{cro_id}"; + }; + rpc unsubscribeCro (UnsubscribeCroRequest ) returns (UnsubscribeCroRequest ) { + option (google.api.http).get = "/topopology/cro/subscribe/{cro_id}"; + }; + rpc getCroHashGraph (GetCroHashGraphRequest ) returns (GetCroHashGraphResponse ) { + option (google.api.http).get = "/topopology/cro/subscribe/{cro_id}"; + }; +} + +message SubscribeCroRequest { + string cro_id = 1; +} + +message SubscribeCroResponse { + // can return error codes if different than 0 + int return_code = 1; +} + +message UnsubscribeCroRequest { + string cro_id = 1; +} + +message UnsubscribeCroResponse { + // can return error codes if different than 0 + int return_code = 1; +} + +message getCroHashGraphRequest { + string cro_id = 1; +} + +message getCroHashGraphResponse { + // linearized vertices hashes + repeated string vertices_hashes = 1; +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d224d9a7..e8ae290c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,16 +45,16 @@ importers: examples/canvas: dependencies: '@topology-foundation/blueprints': - specifier: 0.1.1 + specifier: 0.2.0 version: link:../../packages/blueprints '@topology-foundation/network': - specifier: 0.1.1 + specifier: 0.2.0 version: link:../../packages/network '@topology-foundation/node': - specifier: 0.1.1 + specifier: 0.2.0 version: link:../../packages/node '@topology-foundation/object': - specifier: 0.1.1 + specifier: 0.2.0 version: link:../../packages/object crypto-browserify: specifier: ^3.12.0 @@ -91,16 +91,16 @@ importers: examples/chat: dependencies: '@topology-foundation/blueprints': - specifier: 0.1.1 + specifier: 0.2.0 version: link:../../packages/blueprints '@topology-foundation/network': - specifier: 0.1.1 + specifier: 0.2.0 version: link:../../packages/network '@topology-foundation/node': - specifier: 0.1.1 + specifier: 0.2.0 version: link:../../packages/node '@topology-foundation/object': - specifier: 0.1.1 + specifier: 0.2.0 version: link:../../packages/object assemblyscript: specifier: ^0.27.29 @@ -146,13 +146,13 @@ importers: examples/grid: dependencies: '@topology-foundation/network': - specifier: 0.1.1 + specifier: 0.2.0 version: link:../../packages/network '@topology-foundation/node': - specifier: 0.1.1 + specifier: 0.2.0 version: link:../../packages/node '@topology-foundation/object': - specifier: 0.1.1 + specifier: 0.2.0 version: link:../../packages/object assemblyscript: specifier: ^0.27.29 @@ -205,7 +205,7 @@ importers: version: 4.0.3 devDependencies: '@topology-foundation/object': - specifier: 0.1.1 + specifier: 0.2.0 version: link:../object assemblyscript: specifier: ^0.27.29 @@ -305,17 +305,20 @@ importers: specifier: ^1.7.0 version: 1.7.0 '@topology-foundation/blueprints': - specifier: 0.1.1 + specifier: 0.2.0 version: link:../blueprints '@topology-foundation/network': - specifier: 0.1.1 + specifier: 0.2.0 version: link:../network '@topology-foundation/object': - specifier: 0.1.1 + specifier: 0.2.0 version: link:../object commander: specifier: ^12.1.0 version: 12.1.0 + google-protobuf: + specifier: ^3.21.2 + version: 3.21.4 it-length-prefixed: specifier: ^9.1.0 version: 9.1.0 @@ -3216,6 +3219,9 @@ packages: globrex@0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + google-protobuf@3.21.4: + resolution: {integrity: sha512-MnG7N936zcKTco4Jd2PX2U96Kf9PxygAPKBug+74LHzmHXmceN16MmRcdgZv+DGef/S9YvQAfRsNCn4cjf9yyQ==} + gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} @@ -9130,6 +9136,8 @@ snapshots: globrex@0.1.2: {} + google-protobuf@3.21.4: {} + gopd@1.0.1: dependencies: get-intrinsic: 1.2.4