@dxos/protocols 0.1.1 → 0.1.3

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 (125) hide show
  1. package/dist/src/proto/gen/dxos/bot.d.ts +11 -11
  2. package/dist/src/proto/gen/dxos/bot.d.ts.map +1 -1
  3. package/dist/src/proto/gen/dxos/client/services.d.ts +247 -0
  4. package/dist/src/proto/gen/dxos/client/services.d.ts.map +1 -0
  5. package/dist/src/proto/gen/dxos/client/services.js +32 -0
  6. package/dist/src/proto/gen/dxos/client/services.js.map +1 -0
  7. package/dist/src/proto/gen/dxos/client.d.ts +49 -68
  8. package/dist/src/proto/gen/dxos/client.d.ts.map +1 -1
  9. package/dist/src/proto/gen/dxos/config.d.ts +0 -16
  10. package/dist/src/proto/gen/dxos/config.d.ts.map +1 -1
  11. package/dist/src/proto/gen/dxos/config.js +0 -12
  12. package/dist/src/proto/gen/dxos/config.js.map +1 -1
  13. package/dist/src/proto/gen/dxos/devtools/host.d.ts +52 -21
  14. package/dist/src/proto/gen/dxos/devtools/host.d.ts.map +1 -1
  15. package/dist/src/proto/gen/dxos/devtools/{swarmLog.d.ts → swarm.d.ts} +4 -4
  16. package/dist/src/proto/gen/dxos/devtools/swarm.d.ts.map +1 -0
  17. package/dist/src/proto/gen/dxos/devtools/{swarmLog.js → swarm.js} +1 -1
  18. package/dist/src/proto/gen/dxos/devtools/swarm.js.map +1 -0
  19. package/dist/src/proto/gen/dxos/echo/feed.d.ts.map +1 -1
  20. package/dist/src/proto/gen/dxos/echo/metadata.d.ts +5 -5
  21. package/dist/src/proto/gen/dxos/echo/metadata.d.ts.map +1 -1
  22. package/dist/src/proto/gen/dxos/echo/service.d.ts +3 -3
  23. package/dist/src/proto/gen/dxos/echo/service.d.ts.map +1 -1
  24. package/dist/src/proto/gen/dxos/echo/snapshot.d.ts +2 -2
  25. package/dist/src/proto/gen/dxos/halo/credentials/auth.d.ts +3 -3
  26. package/dist/src/proto/gen/dxos/halo/credentials/greet.d.ts +1 -1
  27. package/dist/src/proto/gen/dxos/halo/credentials.d.ts +25 -27
  28. package/dist/src/proto/gen/dxos/halo/credentials.d.ts.map +1 -1
  29. package/dist/src/proto/gen/dxos/halo/credentials.js +5 -5
  30. package/dist/src/proto/gen/dxos/halo/invitations.d.ts +10 -44
  31. package/dist/src/proto/gen/dxos/halo/invitations.d.ts.map +1 -1
  32. package/dist/src/proto/gen/dxos/halo/invitations.js +0 -13
  33. package/dist/src/proto/gen/dxos/halo/invitations.js.map +1 -1
  34. package/dist/src/proto/gen/dxos/halo/keys.d.ts +2 -2
  35. package/dist/src/proto/gen/dxos/halo/keys.js +1 -1
  36. package/dist/src/proto/gen/dxos/halo/signed.d.ts +1 -1
  37. package/dist/src/proto/gen/dxos/service/publisher.d.ts +1 -0
  38. package/dist/src/proto/gen/dxos/service/publisher.d.ts.map +1 -1
  39. package/dist/src/proto/gen/dxos/service/scheduler.d.ts +1 -1
  40. package/dist/src/proto/gen/dxos/service/scheduler.d.ts.map +1 -1
  41. package/dist/src/proto/gen/index.d.ts +56 -41
  42. package/dist/src/proto/gen/index.d.ts.map +1 -1
  43. package/dist/src/proto/gen/index.js +1 -1
  44. package/dist/src/proto/gen/index.js.map +1 -1
  45. package/package.json +5 -5
  46. package/proto/dxos/client/services.d.ts +2 -0
  47. package/proto/dxos/{devtools/swarmLog.d.ts.map → client/services.d.ts.map} +2 -2
  48. package/proto/dxos/client/services.js +2 -0
  49. package/proto/dxos/devtools/diagnostics.d.ts +2 -0
  50. package/proto/dxos/devtools/diagnostics.d.ts.map +10 -0
  51. package/proto/dxos/devtools/diagnostics.js +2 -0
  52. package/proto/dxos/devtools/swarm.d.ts +2 -0
  53. package/proto/dxos/{halo/credentials/party.d.ts.map → devtools/swarm.d.ts.map} +2 -2
  54. package/proto/dxos/devtools/{swarmLog.js → swarm.js} +1 -1
  55. package/src/proto/dxos/bot.proto +11 -11
  56. package/src/proto/dxos/client/services.proto +197 -0
  57. package/src/proto/dxos/client.proto +49 -55
  58. package/src/proto/dxos/config.proto +2 -15
  59. package/src/proto/dxos/devtools/diagnostics.proto +28 -0
  60. package/src/proto/dxos/devtools/host.proto +21 -23
  61. package/src/proto/dxos/devtools/{swarmLog.proto → swarm.proto} +1 -1
  62. package/src/proto/dxos/echo/metadata.proto +6 -6
  63. package/src/proto/dxos/echo/service.proto +3 -3
  64. package/src/proto/dxos/echo/snapshot.proto +5 -5
  65. package/src/proto/dxos/echo/timeframe.proto +1 -1
  66. package/src/proto/dxos/halo/credentials/auth.proto +3 -3
  67. package/src/proto/dxos/halo/credentials/greet.proto +19 -19
  68. package/src/proto/dxos/halo/credentials.proto +21 -20
  69. package/src/proto/dxos/halo/invitations.proto +9 -27
  70. package/src/proto/dxos/halo/keys.proto +2 -2
  71. package/src/proto/dxos/halo/signed.proto +1 -1
  72. package/src/proto/dxos/service/publisher.proto +1 -0
  73. package/src/proto/dxos/service/scheduler.proto +1 -1
  74. package/src/proto/gen/dxos/bot.ts +12 -12
  75. package/src/proto/gen/dxos/client/services.ts +283 -0
  76. package/src/proto/gen/dxos/client.ts +50 -69
  77. package/src/proto/gen/dxos/config.ts +2 -18
  78. package/src/proto/gen/dxos/devtools/host.ts +53 -22
  79. package/src/proto/gen/dxos/devtools/{swarmLog.ts → swarm.ts} +4 -4
  80. package/src/proto/gen/dxos/echo/feed.ts +2 -2
  81. package/src/proto/gen/dxos/echo/metadata.ts +7 -7
  82. package/src/proto/gen/dxos/echo/model/messenger.ts +2 -2
  83. package/src/proto/gen/dxos/echo/model/object.ts +2 -2
  84. package/src/proto/gen/dxos/echo/model/text.ts +2 -2
  85. package/src/proto/gen/dxos/echo/service.ts +5 -5
  86. package/src/proto/gen/dxos/echo/snapshot.ts +4 -4
  87. package/src/proto/gen/dxos/echo/timeframe.ts +2 -2
  88. package/src/proto/gen/dxos/halo/credentials/auth.ts +5 -5
  89. package/src/proto/gen/dxos/halo/credentials/greet.ts +3 -3
  90. package/src/proto/gen/dxos/halo/credentials/identity.ts +2 -2
  91. package/src/proto/gen/dxos/halo/credentials.ts +27 -29
  92. package/src/proto/gen/dxos/halo/invitations.ts +12 -46
  93. package/src/proto/gen/dxos/halo/keyring.ts +2 -2
  94. package/src/proto/gen/dxos/halo/keys.ts +4 -4
  95. package/src/proto/gen/dxos/halo/signed.ts +3 -3
  96. package/src/proto/gen/dxos/iframe.ts +2 -2
  97. package/src/proto/gen/dxos/keys.ts +2 -2
  98. package/src/proto/gen/dxos/mesh/bridge.ts +2 -2
  99. package/src/proto/gen/dxos/mesh/broadcast.ts +2 -2
  100. package/src/proto/gen/dxos/mesh/messaging.ts +2 -2
  101. package/src/proto/gen/dxos/mesh/presence.ts +2 -2
  102. package/src/proto/gen/dxos/mesh/protocol.ts +2 -2
  103. package/src/proto/gen/dxos/mesh/replicator.ts +2 -2
  104. package/src/proto/gen/dxos/mesh/signal.ts +2 -2
  105. package/src/proto/gen/dxos/mesh/swarm.ts +2 -2
  106. package/src/proto/gen/dxos/registry.ts +2 -2
  107. package/src/proto/gen/dxos/rpc.ts +2 -2
  108. package/src/proto/gen/dxos/service/publisher.ts +3 -2
  109. package/src/proto/gen/dxos/service/scheduler.ts +3 -3
  110. package/src/proto/gen/dxos/type.ts +2 -2
  111. package/src/proto/gen/example/testing/data.ts +2 -2
  112. package/src/proto/gen/example/testing/rpc.ts +2 -2
  113. package/src/proto/gen/google/protobuf.ts +2 -2
  114. package/src/proto/gen/index.ts +57 -42
  115. package/dist/src/proto/gen/dxos/devtools/swarmLog.d.ts.map +0 -1
  116. package/dist/src/proto/gen/dxos/devtools/swarmLog.js.map +0 -1
  117. package/dist/src/proto/gen/dxos/halo/credentials/party.d.ts +0 -82
  118. package/dist/src/proto/gen/dxos/halo/credentials/party.d.ts.map +0 -1
  119. package/dist/src/proto/gen/dxos/halo/credentials/party.js +0 -19
  120. package/dist/src/proto/gen/dxos/halo/credentials/party.js.map +0 -1
  121. package/proto/dxos/devtools/swarmLog.d.ts +0 -2
  122. package/proto/dxos/halo/credentials/party.d.ts +0 -2
  123. package/proto/dxos/halo/credentials/party.js +0 -2
  124. package/src/proto/dxos/halo/credentials/party.proto +0 -127
  125. package/src/proto/gen/dxos/halo/credentials/party.ts +0 -119
@@ -4,8 +4,6 @@
4
4
 
5
5
  syntax = "proto3";
6
6
 
7
- import "dxos/devtools/swarmLog.proto";
8
-
9
7
  import "dxos/echo/timeframe.proto";
10
8
  import "google/protobuf/empty.proto";
11
9
 
@@ -50,13 +48,13 @@ service DevtoolsHost {
50
48
  // ECHO
51
49
  //
52
50
 
53
- rpc SubscribeToParties(SubscribeToPartiesRequest) returns (stream SubscribeToPartiesResponse);
51
+ rpc SubscribeToSpaces(SubscribeToSpacesRequest) returns (stream SubscribeToSpacesResponse);
54
52
  rpc SubscribeToItems(SubscribeToItemsRequest) returns (stream SubscribeToItemsResponse);
55
53
  rpc SubscribeToFeeds(SubscribeToFeedsRequest) returns (stream SubscribeToFeedsResponse);
56
54
  rpc SubscribeToFeedBlocks(SubscribeToFeedBlocksRequest) returns (stream SubscribeToFeedBlocksResponse);
57
55
 
58
- rpc GetPartySnapshot(GetPartySnapshotRequest) returns (GetPartySnapshotResponse);
59
- rpc SavePartySnapshot(SavePartySnapshotRequest) returns (SavePartySnapshotResponse);
56
+ rpc GetSpaceSnapshot(GetSpaceSnapshotRequest) returns (GetSpaceSnapshotResponse);
57
+ rpc SaveSpaceSnapshot(SaveSpaceSnapshotRequest) returns (SaveSpaceSnapshotResponse);
60
58
  rpc ClearSnapshots(ClearSnapshotsRequest) returns (google.protobuf.Empty);
61
59
 
62
60
  //
@@ -114,7 +112,7 @@ message SubscribeToKeyringKeysResponse {
114
112
  // SubscribeToCredential
115
113
 
116
114
  message SubscribeToCredentialMessagesRequest {
117
- optional dxos.keys.PublicKey party_key = 1;
115
+ optional dxos.keys.PublicKey space_key = 1;
118
116
  }
119
117
 
120
118
  message SubscribeToCredentialMessagesResponse {
@@ -144,14 +142,14 @@ message GetNetworkPeersResponse {
144
142
  repeated PeerInfo peers = 1;
145
143
  }
146
144
 
147
- // SubscribeToParties
145
+ // SubscribeToSpaces
148
146
 
149
- message SubscribeToPartiesRequest {
150
- repeated dxos.keys.PublicKey party_keys = 1;
147
+ message SubscribeToSpacesRequest {
148
+ repeated dxos.keys.PublicKey space_keys = 1;
151
149
  }
152
150
 
153
- message SubscribeToPartiesResponse {
154
- message PartyInfo {
151
+ message SubscribeToSpacesResponse {
152
+ message SpaceInfo {
155
153
  dxos.keys.PublicKey key = 1;
156
154
  bool is_open = 2;
157
155
  dxos.echo.timeframe.TimeframeVector timeframe = 3;
@@ -160,7 +158,7 @@ message SubscribeToPartiesResponse {
160
158
  dxos.keys.PublicKey dataFeed = 6;
161
159
  }
162
160
 
163
- repeated PartyInfo parties = 1;
161
+ repeated SpaceInfo spaces = 1;
164
162
  }
165
163
 
166
164
  // SubscribeToItems
@@ -190,7 +188,7 @@ message SubscribeToFeedsResponse {
190
188
  // SubscribeToFeedMessages
191
189
 
192
190
  message SubscribeToFeedBlocksRequest {
193
- optional dxos.keys.PublicKey party_key = 1;
191
+ optional dxos.keys.PublicKey space_key = 1;
194
192
  optional dxos.keys.PublicKey feed_key = 2;
195
193
  optional int32 max_blocks = 3;
196
194
  }
@@ -205,24 +203,24 @@ message SubscribeToFeedBlocksResponse {
205
203
  repeated Block blocks = 1;
206
204
  }
207
205
 
208
- // GetPartySnapshot
206
+ // GetSpaceSnapshot
209
207
 
210
- message GetPartySnapshotRequest {
211
- dxos.keys.PublicKey party_key = 1;
208
+ message GetSpaceSnapshotRequest {
209
+ dxos.keys.PublicKey space_key = 1;
212
210
  }
213
211
 
214
- message GetPartySnapshotResponse {
215
- optional dxos.echo.snapshot.PartySnapshot snapshot = 1;
212
+ message GetSpaceSnapshotResponse {
213
+ optional dxos.echo.snapshot.SpaceSnapshot snapshot = 1;
216
214
  }
217
215
 
218
- // SavePartySnapshot
216
+ // SaveSpaceSnapshot
219
217
 
220
- message SavePartySnapshotRequest {
221
- dxos.keys.PublicKey party_key = 1;
218
+ message SaveSpaceSnapshotRequest {
219
+ dxos.keys.PublicKey space_key = 1;
222
220
  }
223
221
 
224
- message SavePartySnapshotResponse {
225
- optional dxos.echo.snapshot.PartySnapshot snapshot = 1;
222
+ message SaveSpaceSnapshotResponse {
223
+ optional dxos.echo.snapshot.SpaceSnapshot snapshot = 1;
226
224
  }
227
225
 
228
226
  // ClearSnapshots
@@ -6,7 +6,7 @@ syntax = "proto3";
6
6
 
7
7
  import "dxos/keys.proto";
8
8
 
9
- package dxos.devtools.swarmLog;
9
+ package dxos.devtools.swarm;
10
10
 
11
11
  message SwarmInfo {
12
12
  dxos.keys.PublicKey id = 1;
@@ -26,13 +26,13 @@ message EchoMetadata {
26
26
  // TODO(dmaretskyi): Store the device key associated with the identity.
27
27
  optional dxos.halo.credentials.IdentityRecord identity = 10;
28
28
 
29
- /// List of the data parties.
30
- repeated PartyMetadata parties = 11;
29
+ /// List of the data spaces.
30
+ repeated SpaceMetadata spaces = 11;
31
31
  }
32
32
 
33
33
  // TODO(dmaretskyi): Cleanup numbering.
34
- message PartyMetadata {
35
- /// Party key.
34
+ message SpaceMetadata {
35
+ /// Space key.
36
36
  dxos.keys.PublicKey key = 1;
37
37
 
38
38
  optional dxos.keys.PublicKey genesis_feed_key = 6;
@@ -40,12 +40,12 @@ message PartyMetadata {
40
40
  /// Key of the wriatable control feed.
41
41
  optional dxos.keys.PublicKey control_feed_key = 4;
42
42
 
43
- /// List of all feed associated with the party.
43
+ /// List of all feed associated with the space.
44
44
  repeated dxos.keys.PublicKey feed_keys = 2;
45
45
 
46
46
  /// Key of the wriatable data feed.
47
47
  optional dxos.keys.PublicKey data_feed_key = 3;
48
48
 
49
- // Latest timeframe reached while processing party messages.
49
+ // Latest timeframe reached while processing space messages.
50
50
  optional timeframe.TimeframeVector latest_timeframe = 5;
51
51
  }
@@ -12,7 +12,7 @@ import "dxos/keys.proto";
12
12
  package dxos.echo.service;
13
13
 
14
14
  message SubscribeEntitySetRequest {
15
- dxos.keys.PublicKey party_key = 1;
15
+ dxos.keys.PublicKey space_key = 1;
16
16
  }
17
17
 
18
18
  message SubscribeEntitySetResponse {
@@ -22,7 +22,7 @@ message SubscribeEntitySetResponse {
22
22
  }
23
23
 
24
24
  message SubscribeEntityStreamRequest {
25
- dxos.keys.PublicKey party_key = 1;
25
+ dxos.keys.PublicKey space_key = 1;
26
26
  string item_id = 2;
27
27
  }
28
28
 
@@ -47,7 +47,7 @@ message SubscribeEntityStreamResponse {
47
47
  }
48
48
 
49
49
  message WriteRequest {
50
- dxos.keys.PublicKey party_key = 1;
50
+ dxos.keys.PublicKey space_key = 1;
51
51
  feed.EchoEnvelope mutation = 2;
52
52
  }
53
53
 
@@ -11,16 +11,16 @@ import "dxos/keys.proto";
11
11
  package dxos.echo.snapshot;
12
12
 
13
13
  //
14
- // Snapshots define full party state at a given point in time.
15
- // They must have enough information to be able to recover the party state without reading the feed messages.
14
+ // Snapshots define full space state at a given point in time.
15
+ // They must have enough information to be able to recover the space state without reading the feed messages.
16
16
  //
17
- // Each snapshot is identified by a party key and a timeframe.
17
+ // Each snapshot is identified by a space key and a timeframe.
18
18
  // The timeframe defines the set of feed messages that have already been processed.
19
19
  // When loading from the snapshot, application would skip all of the feed messages up to (and including) the provided timeframe.
20
20
  //
21
21
 
22
- message PartySnapshot {
23
- bytes party_key = 1;
22
+ message SpaceSnapshot {
23
+ bytes space_key = 1;
24
24
  optional timeframe.TimeframeVector timeframe = 2;
25
25
 
26
26
  // Unix timestamp of the snapshot creation time. For information purposes only.
@@ -12,7 +12,7 @@ package dxos.echo.timeframe;
12
12
  message TimeframeVector {
13
13
  message Frame {
14
14
  // TODO(dmaretskyi): Compress using numeric feed indexes.
15
- // TODO(burdon): Determine if admit DAG can be ordered. Requires party messages to be ordered (by lexical feed key).
15
+ // TODO(burdon): Determine if admit DAG can be ordered. Requires space messages to be ordered (by lexical feed key).
16
16
  bytes feed_key = 1;
17
17
  int32 seq = 3;
18
18
  }
@@ -14,8 +14,8 @@ package dxos.halo.credentials.auth;
14
14
  * The payload for a SignedMessage sent during handshake for replication authentication.
15
15
  */
16
16
  message Auth {
17
- /// The publicKey of the target Party for these credentials.
18
- dxos.keys.PublicKey party_key = 1;
17
+ /// The publicKey of the target Space for these credentials.
18
+ dxos.keys.PublicKey space_key = 1;
19
19
 
20
20
  /// The publicKey of the authenticating Device.
21
21
  dxos.keys.PublicKey device_key = 2;
@@ -26,6 +26,6 @@ message Auth {
26
26
  /// The publicKey of the authenticating Identity.
27
27
  optional dxos.keys.PublicKey feed_key = 4;
28
28
 
29
- /// FeedAdmit message to the should be written to a control feed in case the `feed_key` is not admitted to the party.
29
+ /// FeedAdmit message to the should be written to a control feed in case the `feed_key` is not admitted to the space.
30
30
  optional google.protobuf.Any feed_admit = 5;
31
31
  }
@@ -20,26 +20,26 @@ package dxos.halo.credentials.greet;
20
20
  //
21
21
  // 1) An invitation is generated for the Invitee with a unique ID, known to the Greeter.
22
22
  // 2) The Invitee connects to the Greeter over an *open* Topic, using the invitation ID as their peer ID.
23
- // This is NOT the Topic of the Party they wish to join, it is one used for Greeting.
23
+ // This is NOT the Topic of the Space they wish to join, it is one used for Greeting.
24
24
  // 3) The Invitee sends a Command message of type BEGIN. This signals the arrival of the invitee, and if necessary,
25
25
  // triggers creation or retrieval of an auth secret for the rest of the process. This secret is normally
26
26
  // communicated out-of-band (eg, voice, IM, etc.). The Greeter responds with a BeginResponse message, acknowledging
27
27
  // the request and indicating the Invitee should proceed to the next step:
28
28
  // 4) The Invitee sends a Command message of type HANDSHAKE which includes their secret (eg, PIN, AuthMessage).
29
29
  // 5) The Greeter validates the contents (it's genuine, hasn't already been redeemed, the secret matches, etc.)
30
- // 6) The Greeter returns a HandshakeResponse message with the Party public key and challenge nonce.
30
+ // 6) The Greeter returns a HandshakeResponse message with the Space public key and challenge nonce.
31
31
  // 7) The Invitee generates one or more AdmitKey and AdmitFeed messages, including the nonce from step (5) then signs
32
32
  // the contents in a SignedMessage.
33
33
  // 8) The Invitee sends the SignedMessages in a Command message of type NOTARIZE.
34
34
  // 9) The Greeter checks credentials presented and validates the SignedMessage signatures and nonce values.
35
- // If all the checks pass then the Admit messages may be published on the Greeter's feed for the target Party,
35
+ // If all the checks pass then the Admit messages may be published on the Greeter's feed for the target Space,
36
36
  // placed in Envelope messages signed by the Greeter.
37
37
  // 10) After writing the messages, the Greeter marks the invitation as having been redeemed, so that it cannot be
38
38
  // used again.
39
39
  // 11) The Greeter sends copies of the Greeter-signed Envelope messages to the Invitee in a NotarizeResponse message,
40
- // as well as a list of "hints" regarding keys and feeds which are enrolled in the Party. The Invitee uses thes
41
- // "hints" to construct its initial view of Party membership, necessary to participate in mutual authentication
42
- // for Party feed replication.
40
+ // as well as a list of "hints" regarding keys and feeds which are enrolled in the Space. The Invitee uses thes
41
+ // "hints" to construct its initial view of Space membership, necessary to participate in mutual authentication
42
+ // for Space feed replication.
43
43
  // 12) The Invitee sends the Greeter a FINISH command to acknowledge receipt.
44
44
 
45
45
  /**
@@ -75,46 +75,46 @@ message BeginResponse {
75
75
 
76
76
  //
77
77
  // The next command is 'HANDSHAKE', the invitee sends the `secret` for authentication, and if successful, the
78
- // Greeter returns the `party_key` and a `nonce` which the invitee will need to use for the Party credential messages.
78
+ // Greeter returns the `space_key` and a `nonce` which the invitee will need to use for the Space credential messages.
79
79
  //
80
80
  message HandshakeResponse {
81
81
  // Random bytes which must be included in the signed portion of messages submitted in a 'NOTARIZE' command
82
82
  // (proving ownership of the keys in question).
83
83
  bytes nonce = 1;
84
84
 
85
- // The public key of the party.
86
- dxos.keys.PublicKey party_key = 2;
85
+ // The public key of the space.
86
+ dxos.keys.PublicKey space_key = 2;
87
87
  };
88
88
 
89
89
  //
90
- // The 'NOTARIZE' command takes an array of SignedMessages which the invitee would like added to the Party. The
90
+ // The 'NOTARIZE' command takes an array of SignedMessages which the invitee would like added to the Space. The
91
91
  // standard case would be a message admitting an Identity (or Device) key and a message admitting a feed.
92
92
  //
93
93
  message NotarizeResponse {
94
- // A copy of each of the messages as written to the Party (now in an Envelope signed by the Greeter) and the Feed
95
- // and key hints necessary to bootstrap the invitee into the Party.
94
+ // A copy of each of the messages as written to the Space (now in an Envelope signed by the Greeter) and the Feed
95
+ // and key hints necessary to bootstrap the invitee into the Space.
96
96
  repeated google.protobuf.Any copies = 1;
97
97
 
98
98
  dxos.keys.PublicKey genesis_feed = 3;
99
99
  };
100
100
 
101
- // TODO(dmaretskyi): Verify if this is valid. Wouldn't the knowledge of the party's public key be enough to verify the rest of credential messages?
101
+ // TODO(dmaretskyi): Verify if this is valid. Wouldn't the knowledge of the space's public key be enough to verify the rest of credential messages?
102
102
  //
103
- // Feed and key hints are by the invitee, because even though the Party members now trust it, it does not trust
104
- // them. Until it has a chance to replicate, it cannot construct its own understanding of the Party from party.*
103
+ // Feed and key hints are by the invitee, because even though the Space members now trust it, it does not trust
104
+ // them. Until it has a chance to replicate, it cannot construct its own understanding of the Space from space.*
105
105
  // messages, but neither can it replicate unless it trusts its peers. The Hints break this cycle by providing an
106
106
  // initial set of keys and Feeds to trust.
107
107
  //
108
108
  message KeyHint {
109
- // TODO(telackey): These should be changed to be the full set of signed party messages, so the recipient can build
110
- // and verify the party structure just as it would if it had obtained them from the feeds.
109
+ // TODO(telackey): These should be changed to be the full set of signed space messages, so the recipient can build
110
+ // and verify the space structure just as it would if it had obtained them from the feeds.
111
111
  dxos.keys.PublicKey public_key = 1;
112
112
  keys.KeyType type = 2;
113
113
  }
114
114
 
115
115
  //
116
- // The 'CLAIM' command is used to trigger the Greeting flow by "claiming" a PartyInvitation which was replicated
117
- // to the Party or presented as a "proof".
116
+ // The 'CLAIM' command is used to trigger the Greeting flow by "claiming" a SpaceInvitation which was replicated
117
+ // to the Space or presented as a "proof".
118
118
  //
119
119
  // The ClaimResponse provides the invitee with information about the interactive invitation triggered by the "claim",
120
120
  // such as the invitation ID and the swarm key to use to connect to the Greeter.
@@ -13,19 +13,19 @@ import "dxos/keys.proto";
13
13
 
14
14
  //
15
15
  // TODO(burdon): Move these notes to the design doc commentary.
16
- // Peers maintain Feeds that are admitted to HALO and ECHO Parties.
16
+ // Peers maintain Feeds that are admitted to HALO and ECHO Spaces.
17
17
  // Peers act as Verifiers for Credentials that may be Presented from other Peers.
18
18
  // Since Feeds implement a signed hash-linked data structure, they constitute a chain-of-authority for chained Credentials.
19
- // Credentials written to HALO Feeds may be Presented to Peers Verifying ECHO Parties.
19
+ // Credentials written to HALO Feeds may be Presented to Peers Verifying ECHO Spaces.
20
20
  //
21
21
 
22
22
  //
23
- // **PartyGenesis** -
24
- // First message written to initial Feed in a new Party.
23
+ // **SpaceGenesis** -
24
+ // First message written to initial Feed in a new Space.
25
25
  //
26
26
 
27
- message PartyGenesis {
28
- dxos.keys.PublicKey party_key = 1; // Feeds belong to Parties.
27
+ message SpaceGenesis {
28
+ dxos.keys.PublicKey space_key = 1; // Feeds belong to Spaces.
29
29
  }
30
30
 
31
31
  //
@@ -34,8 +34,9 @@ message PartyGenesis {
34
34
  // Claims can be written directly to a feed or used within Credentials.
35
35
  //
36
36
 
37
- // Agent is authorized to access Party.
38
- message PartyMember {
37
+ // TODO(burdon): Reconcile with dxos.client.SpaceMember.
38
+ // Agent is authorized to access Space.
39
+ message SpaceMember {
39
40
  // TODO(burdon): Consider permissions (e.g., for Bots).
40
41
  enum Role {
41
42
  INVALID = 0;
@@ -47,7 +48,7 @@ message PartyMember {
47
48
  READER = 3;
48
49
  }
49
50
 
50
- dxos.keys.PublicKey party_key = 1;
51
+ dxos.keys.PublicKey space_key = 1;
51
52
  Role role = 2;
52
53
  }
53
54
 
@@ -58,8 +59,8 @@ message AuthorizedDevice {
58
59
  dxos.keys.PublicKey device_key = 2; // Existing authorized device.
59
60
  }
60
61
 
61
- // Feed is admitted to the Party for replication.
62
- // NOTE: Feeds are Admitted to Parties.
62
+ // Feed is admitted to the Space for replication.
63
+ // NOTE: Feeds are Admitted to Spaces.
63
64
  message AdmittedFeed {
64
65
  enum Designation {
65
66
  /// Classic general purpose feeds for both HALO and ECHO messages together. To be deprecated.
@@ -70,7 +71,7 @@ message AdmittedFeed {
70
71
  DATA = 2;
71
72
  }
72
73
 
73
- dxos.keys.PublicKey party_key = 1;
74
+ dxos.keys.PublicKey space_key = 1;
74
75
 
75
76
  /// Owning identity.
76
77
  dxos.keys.PublicKey identity_key = 2; // Could be derived.
@@ -95,12 +96,13 @@ message IdentityRecovery {
95
96
  dxos.keys.PublicKey recovery_key = 2;
96
97
  }
97
98
 
99
+ message ProfileDocument {
100
+ optional string display_name = 1;
101
+ optional string avatar_cid = 2;
102
+ }
103
+
98
104
  /// Sets profile information.
99
105
  message IdentityProfile {
100
- message ProfileDocument {
101
- optional string display_name = 1;
102
- optional string avatar_cid = 2;
103
- }
104
106
 
105
107
  // TODO(dmaretskyi): This could also be a DXNS link or stored in user's public HALO (we could also index the public HALO in the DMG).
106
108
  ProfileDocument profile = 1;
@@ -137,7 +139,7 @@ message Claim {
137
139
  message Proof {
138
140
  string type = 1; // Type of proof (e.g., "Ed25519Signature2020").
139
141
  google.protobuf.Timestamp creation_date = 2;
140
- dxos.keys.PublicKey signer = 3; // Entity that created the proof (e.g., Agent, Device, Party).
142
+ dxos.keys.PublicKey signer = 3; // Entity that created the proof (e.g., Agent, Device, Space).
141
143
  optional bytes nonce = 4; // Used in Presentations to protect against replay attacks.
142
144
 
143
145
  /// Signature (excluded from signed data).
@@ -176,7 +178,7 @@ message Chain {
176
178
 
177
179
  message Credential {
178
180
  optional dxos.keys.PublicKey id = 1; // Credential identifier (e.g., for storage indexing).
179
- dxos.keys.PublicKey issuer = 2; // key = { Party (genesis) | Identity (genesis) | (authorized) Device }
181
+ dxos.keys.PublicKey issuer = 2; // key = { Space (genesis) | Identity (genesis) | (authorized) Device }
180
182
  google.protobuf.Timestamp issuance_date = 3;
181
183
  optional google.protobuf.Timestamp expiration_date = 4;
182
184
  optional bytes expiration_ref = 5; // Could reference blockchain or epoch number.
@@ -227,6 +229,5 @@ message IdentityRecord {
227
229
  optional SpaceRecord profile_space = 4;
228
230
 
229
231
  /// Cached profile.
230
- optional IdentityProfile.ProfileDocument profile = 5;
232
+ optional ProfileDocument profile = 5;
231
233
  }
232
-
@@ -10,27 +10,8 @@ import "dxos/keys.proto";
10
10
 
11
11
  package dxos.halo.invitations;
12
12
 
13
- message InvitationDescriptor {
14
- enum Type {
15
- /// Both peers online at the same time.
16
- INTERACTIVE = 0;
17
- /// Invited peer's public key is known and invitation can be accepted by any valid peer.
18
- OFFLINE = 1;
19
- }
20
-
21
- Type type = 1;
22
-
23
- /// Topic for network handshake.
24
- bytes swarm_key = 2;
25
-
26
- /// TODO(burdon): Remove?
27
- bytes invitation = 3;
28
-
29
- /// Only present if type === OFFLINE.
30
- optional bytes identity_key = 4;
31
-
32
- /// Must be stripped out when passing to another peer.
33
- optional bytes secret = 5;
13
+ message AuthenticationRequest {
14
+ string authentication_code = 1;
34
15
  }
35
16
 
36
17
  //
@@ -80,11 +61,12 @@ message SpaceAdmissionOffer {
80
61
  }
81
62
 
82
63
  service SpaceHostService {
83
- /// Process admission request from guest.
84
- rpc PresentAdmissionCredentials(SpaceAdmissionCredentials) returns (google.protobuf.Empty);
85
- }
64
+ /// Process admission request.
65
+ rpc RequestAdmission(google.protobuf.Empty) returns (SpaceAdmissionOffer);
86
66
 
87
- service SpaceGuestService {
88
- /// Process admission offer from host.
89
- rpc PresentAdmissionOffer(SpaceAdmissionOffer) returns (google.protobuf.Empty);
67
+ /// Authenticate request.
68
+ rpc Authenticate(AuthenticationRequest) returns (google.protobuf.Empty);
69
+
70
+ /// Process admission credentials.
71
+ rpc PresentAdmissionCredentials(SpaceAdmissionCredentials) returns (google.protobuf.Empty);
90
72
  }
@@ -19,7 +19,7 @@ enum KeyType {
19
19
  UNKNOWN = 0;
20
20
  IDENTITY = 1;
21
21
  DEVICE = 2;
22
- PARTY = 3;
22
+ SPACE = 3;
23
23
  FEED = 4;
24
24
  DXNS_ADDRESS = 5;
25
25
  }
@@ -47,7 +47,7 @@ message KeyRecord {
47
47
 
48
48
  /**
49
49
  * Determines if this is our key?
50
- * Usually true if `secret_key` is present; may be false for "inception keys" such as the Party key.
50
+ * Usually true if `secret_key` is present; may be false for "inception keys" such as the Space key.
51
51
  */
52
52
  optional bool own = 5; // TODO(burdon): Rename "local" or "private".
53
53
 
@@ -18,7 +18,7 @@ message Message {
18
18
  }
19
19
 
20
20
  /**
21
- * A generic container message used whenever messages are signed (e.g. PartyCredential)
21
+ * A generic container message used whenever messages are signed (e.g. SpaceCredential)
22
22
  */
23
23
  message SignedMessage {
24
24
  //
@@ -14,6 +14,7 @@ option go_package = "github.com/dxos/kube/publisher/pb";
14
14
 
15
15
  message PublishRequest {
16
16
  dxos.config.Package package = 1;
17
+ bool skip_existing = 2;
17
18
  }
18
19
 
19
20
  message PublishResponse {
@@ -20,7 +20,7 @@ enum State {
20
20
  message Bot {
21
21
  message Spec {
22
22
  message Echo {
23
- bytes party_key = 1;
23
+ bytes space_key = 1;
24
24
 
25
25
  google.protobuf.Any invitation = 2;
26
26
  }
@@ -1,9 +1,10 @@
1
1
  import type { Stream } from "@dxos/codec-protobuf";
2
2
  import substitutions from "../../substitutions";
3
3
  import * as dxos_client from "./client";
4
+ import * as dxos_client_services from "./client/services";
4
5
  import * as dxos_config from "./config";
5
6
  import * as dxos_devtools_host from "./devtools/host";
6
- import * as dxos_devtools_swarmLog from "./devtools/swarmLog";
7
+ import * as dxos_devtools_swarm from "./devtools/swarm";
7
8
  import * as dxos_echo_feed from "./echo/feed";
8
9
  import * as dxos_echo_metadata from "./echo/metadata";
9
10
  import * as dxos_echo_model_messenger from "./echo/model/messenger";
@@ -16,7 +17,6 @@ import * as dxos_halo_credentials from "./halo/credentials";
16
17
  import * as dxos_halo_credentials_auth from "./halo/credentials/auth";
17
18
  import * as dxos_halo_credentials_greet from "./halo/credentials/greet";
18
19
  import * as dxos_halo_credentials_identity from "./halo/credentials/identity";
19
- import * as dxos_halo_credentials_party from "./halo/credentials/party";
20
20
  import * as dxos_halo_invitations from "./halo/invitations";
21
21
  import * as dxos_halo_keyring from "./halo/keyring";
22
22
  import * as dxos_halo_keys from "./halo/keys";
@@ -88,7 +88,7 @@ export interface Bot {
88
88
  * Options:
89
89
  * - proto3_optional = true
90
90
  */
91
- partyKey?: ReturnType<(typeof substitutions)["dxos.keys.PublicKey"]["decode"]>;
91
+ spaceKey?: ReturnType<(typeof substitutions)["dxos.keys.PublicKey"]["decode"]>;
92
92
  /**
93
93
  * Options:
94
94
  * - proto3_optional = true
@@ -152,19 +152,19 @@ export interface SpawnBotRequest {
152
152
  */
153
153
  package?: BotPackageSpecifier;
154
154
  /**
155
- * Invitation for the bot to join the target party.
155
+ * Invitation for the bot to join the target space.
156
156
  *
157
157
  * Options:
158
158
  * - proto3_optional = true
159
159
  */
160
- invitation?: dxos_halo_invitations.InvitationDescriptor;
160
+ invitation?: dxos_client_services.Invitation;
161
161
  /**
162
- * Key of the party bot is invited to.
162
+ * Key of the space bot is invited to.
163
163
  *
164
164
  * Options:
165
165
  * - proto3_optional = true
166
166
  */
167
- partyKey?: ReturnType<(typeof substitutions)["dxos.keys.PublicKey"]["decode"]>;
167
+ spaceKey?: ReturnType<(typeof substitutions)["dxos.keys.PublicKey"]["decode"]>;
168
168
  }
169
169
  /**
170
170
  * Defined in:
@@ -213,12 +213,12 @@ export interface GetLogsRequest {
213
213
  */
214
214
  export interface BotReport {
215
215
  /**
216
- * Details of the party the bot was spawned for.
216
+ * Details of the space the bot was spawned for.
217
217
  *
218
218
  * Options:
219
219
  * - proto3_optional = true
220
220
  */
221
- partyDetails?: dxos_client.PartyDetails;
221
+ spaceDetails?: dxos_client.SpaceDetails;
222
222
  }
223
223
  /**
224
224
  * Service that is used by clients to communicate with bot factory.
@@ -249,12 +249,12 @@ export interface InitializeRequest {
249
249
  */
250
250
  config?: dxos_config.Config;
251
251
  /**
252
- * Invitation for the bot to join the target party.
252
+ * Invitation for the bot to join the target space.
253
253
  *
254
254
  * Options:
255
255
  * - proto3_optional = true
256
256
  */
257
- invitation?: dxos_halo_invitations.InvitationDescriptor;
257
+ invitation?: dxos_client_services.Invitation;
258
258
  /**
259
259
  * ID of the bot.
260
260
  *
@@ -281,7 +281,7 @@ export interface StartRequest {
281
281
  */
282
282
  export interface BotService {
283
283
  /**
284
- * Initialize Client, create profile, and join a party.
284
+ * Initialize Client, create profile, and join a space.
285
285
  */
286
286
  initialize: (request: InitializeRequest) => Promise<void>;
287
287
  /**