@dxos/protocols 0.4.10-main.fa5a270 → 0.4.10-main.fd8ea31

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 (184) hide show
  1. package/dist/cjs/src/indexing.d.ts +7 -3
  2. package/dist/cjs/src/indexing.d.ts.map +1 -1
  3. package/dist/cjs/src/indexing.js.map +1 -1
  4. package/dist/cjs/src/proto/gen/dxos/agent/dashboard.d.ts.map +1 -1
  5. package/dist/cjs/src/proto/gen/dxos/bot.d.ts.map +1 -1
  6. package/dist/cjs/src/proto/gen/dxos/client/services.d.ts +38 -14
  7. package/dist/cjs/src/proto/gen/dxos/client/services.d.ts.map +1 -1
  8. package/dist/cjs/src/proto/gen/dxos/client/services.js +3 -1
  9. package/dist/cjs/src/proto/gen/dxos/client/services.js.map +1 -1
  10. package/dist/cjs/src/proto/gen/dxos/config.d.ts +5 -5
  11. package/dist/cjs/src/proto/gen/dxos/config.d.ts.map +1 -1
  12. package/dist/cjs/src/proto/gen/dxos/config.js.map +1 -1
  13. package/dist/cjs/src/proto/gen/dxos/devtools/host.d.ts.map +1 -1
  14. package/dist/cjs/src/proto/gen/dxos/echo/feed.d.ts.map +1 -1
  15. package/dist/cjs/src/proto/gen/dxos/echo/filter.d.ts.map +1 -1
  16. package/dist/cjs/src/proto/gen/dxos/echo/metadata.d.ts.map +1 -1
  17. package/dist/cjs/src/proto/gen/dxos/echo/model/document.d.ts +0 -1
  18. package/dist/cjs/src/proto/gen/dxos/echo/model/document.d.ts.map +1 -1
  19. package/dist/cjs/src/proto/gen/dxos/echo/model/document.js.map +1 -1
  20. package/dist/cjs/src/proto/gen/dxos/echo/query.d.ts +49 -0
  21. package/dist/cjs/src/proto/gen/dxos/echo/query.d.ts.map +1 -0
  22. package/dist/cjs/src/proto/gen/dxos/echo/query.js.map +1 -0
  23. package/dist/cjs/src/proto/gen/dxos/echo/service.d.ts +9 -1
  24. package/dist/cjs/src/proto/gen/dxos/echo/service.d.ts.map +1 -1
  25. package/dist/cjs/src/proto/gen/dxos/echo/snapshot.d.ts.map +1 -1
  26. package/dist/cjs/src/proto/gen/dxos/halo/credentials.d.ts +7 -0
  27. package/dist/cjs/src/proto/gen/dxos/halo/credentials.d.ts.map +1 -1
  28. package/dist/cjs/src/proto/gen/dxos/halo/credentials.js.map +1 -1
  29. package/dist/cjs/src/proto/gen/dxos/halo/invitations.d.ts +53 -2
  30. package/dist/cjs/src/proto/gen/dxos/halo/invitations.d.ts.map +1 -1
  31. package/dist/cjs/src/proto/gen/dxos/halo/invitations.js +1 -0
  32. package/dist/cjs/src/proto/gen/dxos/halo/invitations.js.map +1 -1
  33. package/dist/cjs/src/proto/gen/dxos/iframe.d.ts +17 -5
  34. package/dist/cjs/src/proto/gen/dxos/iframe.d.ts.map +1 -1
  35. package/dist/cjs/src/proto/gen/dxos/iframe.js +7 -5
  36. package/dist/cjs/src/proto/gen/dxos/iframe.js.map +1 -1
  37. package/dist/cjs/src/proto/gen/dxos/mesh/signal.d.ts +10 -0
  38. package/dist/cjs/src/proto/gen/dxos/mesh/signal.d.ts.map +1 -1
  39. package/dist/cjs/src/proto/gen/dxos/mesh/signal.js.map +1 -1
  40. package/dist/cjs/src/proto/gen/dxos/mesh/swarm.d.ts +6 -2
  41. package/dist/cjs/src/proto/gen/dxos/mesh/swarm.d.ts.map +1 -1
  42. package/dist/cjs/src/proto/gen/dxos/service/publisher.d.ts.map +1 -1
  43. package/dist/cjs/src/proto/gen/dxos/service/supervisor.d.ts.map +1 -1
  44. package/dist/cjs/src/proto/gen/dxos/tracing.d.ts.map +1 -1
  45. package/dist/cjs/src/proto/gen/google/protobuf.d.ts +4 -4
  46. package/dist/cjs/src/proto/gen/google/protobuf.d.ts.map +1 -1
  47. package/dist/cjs/src/proto/gen/index.d.ts +8 -5
  48. package/dist/cjs/src/proto/gen/index.d.ts.map +1 -1
  49. package/dist/cjs/src/proto/gen/index.js +1 -1
  50. package/dist/cjs/src/proto/gen/index.js.map +1 -1
  51. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  52. package/dist/esm/src/indexing.d.ts +7 -3
  53. package/dist/esm/src/indexing.d.ts.map +1 -1
  54. package/dist/esm/src/indexing.js.map +1 -1
  55. package/dist/esm/src/proto/gen/dxos/agent/dashboard.d.ts.map +1 -1
  56. package/dist/esm/src/proto/gen/dxos/bot.d.ts.map +1 -1
  57. package/dist/esm/src/proto/gen/dxos/client/services.d.ts +38 -14
  58. package/dist/esm/src/proto/gen/dxos/client/services.d.ts.map +1 -1
  59. package/dist/esm/src/proto/gen/dxos/client/services.js +3 -1
  60. package/dist/esm/src/proto/gen/dxos/client/services.js.map +1 -1
  61. package/dist/esm/src/proto/gen/dxos/config.d.ts +5 -5
  62. package/dist/esm/src/proto/gen/dxos/config.d.ts.map +1 -1
  63. package/dist/esm/src/proto/gen/dxos/config.js.map +1 -1
  64. package/dist/esm/src/proto/gen/dxos/devtools/host.d.ts.map +1 -1
  65. package/dist/esm/src/proto/gen/dxos/echo/feed.d.ts.map +1 -1
  66. package/dist/esm/src/proto/gen/dxos/echo/filter.d.ts.map +1 -1
  67. package/dist/esm/src/proto/gen/dxos/echo/metadata.d.ts.map +1 -1
  68. package/dist/esm/src/proto/gen/dxos/echo/model/document.d.ts +0 -1
  69. package/dist/esm/src/proto/gen/dxos/echo/model/document.d.ts.map +1 -1
  70. package/dist/esm/src/proto/gen/dxos/echo/model/document.js.map +1 -1
  71. package/dist/esm/src/proto/gen/dxos/echo/query.d.ts +49 -0
  72. package/dist/esm/src/proto/gen/dxos/echo/query.d.ts.map +1 -0
  73. package/dist/esm/src/proto/gen/dxos/echo/query.js.map +1 -0
  74. package/dist/esm/src/proto/gen/dxos/echo/service.d.ts +9 -1
  75. package/dist/esm/src/proto/gen/dxos/echo/service.d.ts.map +1 -1
  76. package/dist/esm/src/proto/gen/dxos/echo/snapshot.d.ts.map +1 -1
  77. package/dist/esm/src/proto/gen/dxos/halo/credentials.d.ts +7 -0
  78. package/dist/esm/src/proto/gen/dxos/halo/credentials.d.ts.map +1 -1
  79. package/dist/esm/src/proto/gen/dxos/halo/credentials.js.map +1 -1
  80. package/dist/esm/src/proto/gen/dxos/halo/invitations.d.ts +53 -2
  81. package/dist/esm/src/proto/gen/dxos/halo/invitations.d.ts.map +1 -1
  82. package/dist/esm/src/proto/gen/dxos/halo/invitations.js +1 -0
  83. package/dist/esm/src/proto/gen/dxos/halo/invitations.js.map +1 -1
  84. package/dist/esm/src/proto/gen/dxos/iframe.d.ts +17 -5
  85. package/dist/esm/src/proto/gen/dxos/iframe.d.ts.map +1 -1
  86. package/dist/esm/src/proto/gen/dxos/iframe.js +7 -5
  87. package/dist/esm/src/proto/gen/dxos/iframe.js.map +1 -1
  88. package/dist/esm/src/proto/gen/dxos/mesh/signal.d.ts +10 -0
  89. package/dist/esm/src/proto/gen/dxos/mesh/signal.d.ts.map +1 -1
  90. package/dist/esm/src/proto/gen/dxos/mesh/signal.js.map +1 -1
  91. package/dist/esm/src/proto/gen/dxos/mesh/swarm.d.ts +6 -2
  92. package/dist/esm/src/proto/gen/dxos/mesh/swarm.d.ts.map +1 -1
  93. package/dist/esm/src/proto/gen/dxos/service/publisher.d.ts.map +1 -1
  94. package/dist/esm/src/proto/gen/dxos/service/supervisor.d.ts.map +1 -1
  95. package/dist/esm/src/proto/gen/dxos/tracing.d.ts.map +1 -1
  96. package/dist/esm/src/proto/gen/google/protobuf.d.ts +4 -4
  97. package/dist/esm/src/proto/gen/google/protobuf.d.ts.map +1 -1
  98. package/dist/esm/src/proto/gen/index.d.ts +8 -5
  99. package/dist/esm/src/proto/gen/index.d.ts.map +1 -1
  100. package/dist/esm/src/proto/gen/index.js +1 -1
  101. package/dist/esm/src/proto/gen/index.js.map +1 -1
  102. package/package.json +5 -5
  103. package/src/indexing.ts +8 -3
  104. package/src/proto/dxos/client/services.proto +26 -15
  105. package/src/proto/dxos/config.proto +8 -3
  106. package/src/proto/dxos/echo/model/document.proto +0 -3
  107. package/src/proto/dxos/echo/query.proto +37 -0
  108. package/src/proto/dxos/echo/service.proto +5 -1
  109. package/src/proto/dxos/halo/credentials.proto +3 -0
  110. package/src/proto/dxos/halo/invitations.proto +25 -1
  111. package/src/proto/dxos/iframe.proto +10 -5
  112. package/src/proto/dxos/mesh/signal.proto +4 -0
  113. package/src/proto/dxos/mesh/swarm.proto +11 -3
  114. package/src/proto/gen/dxos/agent/dashboard.ts +1 -1
  115. package/src/proto/gen/dxos/agent/echoproxy.ts +1 -1
  116. package/src/proto/gen/dxos/agent/epoch.ts +1 -1
  117. package/src/proto/gen/dxos/agent/functions.ts +1 -1
  118. package/src/proto/gen/dxos/bot.ts +1 -1
  119. package/src/proto/gen/dxos/client/services.ts +39 -13
  120. package/src/proto/gen/dxos/config.ts +6 -6
  121. package/src/proto/gen/dxos/devtools/host.ts +1 -1
  122. package/src/proto/gen/dxos/devtools/swarm.ts +1 -1
  123. package/src/proto/gen/dxos/echo/blob.ts +1 -1
  124. package/src/proto/gen/dxos/echo/feed.ts +1 -1
  125. package/src/proto/gen/dxos/echo/filter.ts +1 -1
  126. package/src/proto/gen/dxos/echo/indexing.ts +1 -1
  127. package/src/proto/gen/dxos/echo/metadata.ts +1 -1
  128. package/src/proto/gen/dxos/echo/model/document.ts +1 -2
  129. package/src/proto/gen/dxos/echo/model/messenger.ts +1 -1
  130. package/src/proto/gen/dxos/echo/model/text.ts +1 -1
  131. package/src/proto/gen/dxos/echo/object.ts +1 -1
  132. package/src/proto/gen/dxos/{agent → echo}/query.ts +28 -19
  133. package/src/proto/gen/dxos/echo/service.ts +10 -2
  134. package/src/proto/gen/dxos/echo/snapshot.ts +1 -1
  135. package/src/proto/gen/dxos/echo/timeframe.ts +1 -1
  136. package/src/proto/gen/dxos/error.ts +1 -1
  137. package/src/proto/gen/dxos/gravity.ts +1 -1
  138. package/src/proto/gen/dxos/halo/credentials/auth.ts +1 -1
  139. package/src/proto/gen/dxos/halo/credentials/greet.ts +1 -1
  140. package/src/proto/gen/dxos/halo/credentials/identity.ts +1 -1
  141. package/src/proto/gen/dxos/halo/credentials.ts +8 -1
  142. package/src/proto/gen/dxos/halo/invitations.ts +54 -3
  143. package/src/proto/gen/dxos/halo/keyring.ts +1 -1
  144. package/src/proto/gen/dxos/halo/keys.ts +1 -1
  145. package/src/proto/gen/dxos/halo/signed.ts +1 -1
  146. package/src/proto/gen/dxos/iframe.ts +18 -6
  147. package/src/proto/gen/dxos/keys.ts +1 -1
  148. package/src/proto/gen/dxos/mesh/bridge.ts +1 -1
  149. package/src/proto/gen/dxos/mesh/broadcast.ts +1 -1
  150. package/src/proto/gen/dxos/mesh/messaging.ts +1 -1
  151. package/src/proto/gen/dxos/mesh/muxer.ts +1 -1
  152. package/src/proto/gen/dxos/mesh/presence.ts +1 -1
  153. package/src/proto/gen/dxos/mesh/protocol.ts +1 -1
  154. package/src/proto/gen/dxos/mesh/replicator.ts +1 -1
  155. package/src/proto/gen/dxos/mesh/signal.ts +11 -1
  156. package/src/proto/gen/dxos/mesh/swarm.ts +7 -3
  157. package/src/proto/gen/dxos/mesh/teleport/auth.ts +1 -1
  158. package/src/proto/gen/dxos/mesh/teleport/automerge.ts +1 -1
  159. package/src/proto/gen/dxos/mesh/teleport/blobsync.ts +1 -1
  160. package/src/proto/gen/dxos/mesh/teleport/control.ts +1 -1
  161. package/src/proto/gen/dxos/mesh/teleport/gossip.ts +1 -1
  162. package/src/proto/gen/dxos/mesh/teleport/notarization.ts +1 -1
  163. package/src/proto/gen/dxos/mesh/teleport/replicator.ts +1 -1
  164. package/src/proto/gen/dxos/registry.ts +1 -1
  165. package/src/proto/gen/dxos/rpc.ts +1 -1
  166. package/src/proto/gen/dxos/service/publisher.ts +1 -1
  167. package/src/proto/gen/dxos/service/supervisor.ts +1 -1
  168. package/src/proto/gen/dxos/service/tunnel.ts +1 -1
  169. package/src/proto/gen/dxos/tracing.ts +1 -1
  170. package/src/proto/gen/dxos/type.ts +1 -1
  171. package/src/proto/gen/dxos/value.ts +1 -1
  172. package/src/proto/gen/example/testing/data.ts +1 -1
  173. package/src/proto/gen/example/testing/rpc.ts +1 -1
  174. package/src/proto/gen/google/protobuf.ts +5 -5
  175. package/src/proto/gen/index.ts +9 -6
  176. package/dist/cjs/src/proto/gen/dxos/agent/query.d.ts +0 -38
  177. package/dist/cjs/src/proto/gen/dxos/agent/query.d.ts.map +0 -1
  178. package/dist/cjs/src/proto/gen/dxos/agent/query.js.map +0 -1
  179. package/dist/esm/src/proto/gen/dxos/agent/query.d.ts +0 -38
  180. package/dist/esm/src/proto/gen/dxos/agent/query.d.ts.map +0 -1
  181. package/dist/esm/src/proto/gen/dxos/agent/query.js.map +0 -1
  182. package/src/proto/dxos/agent/query.proto +0 -28
  183. /package/dist/cjs/src/proto/gen/dxos/{agent → echo}/query.js +0 -0
  184. /package/dist/esm/src/proto/gen/dxos/{agent → echo}/query.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/proto/gen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA8DhE,OAAO,aAAa,MAAM,kBAAkB,CAAC;AA4hB7C,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,8lrGAA8lrG,CAAC,CAAC,CAAC;AACvprG,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAkB,UAAU,EAAE,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/proto/gen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA8DhE,OAAO,aAAa,MAAM,kBAAkB,CAAC;AA+hB7C,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,4uvGAA4uvG,CAAC,CAAC,CAAC;AACryvG,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAkB,UAAU,EAAE,aAAa,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/protocols",
3
- "version": "0.4.10-main.fa5a270",
3
+ "version": "0.4.10-main.fd8ea31",
4
4
  "description": "Protobuf definitions for DXOS protocols.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -33,10 +33,10 @@
33
33
  "src"
34
34
  ],
35
35
  "dependencies": {
36
- "@dxos/codec-protobuf": "0.4.10-main.fa5a270",
37
- "@dxos/timeframe": "0.4.10-main.fa5a270",
38
- "@dxos/keys": "0.4.10-main.fa5a270",
39
- "@dxos/invariant": "0.4.10-main.fa5a270"
36
+ "@dxos/invariant": "0.4.10-main.fd8ea31",
37
+ "@dxos/keys": "0.4.10-main.fd8ea31",
38
+ "@dxos/timeframe": "0.4.10-main.fd8ea31",
39
+ "@dxos/codec-protobuf": "0.4.10-main.fd8ea31"
40
40
  },
41
41
  "devDependencies": {
42
42
  "glob": "~7.1.6"
package/src/indexing.ts CHANGED
@@ -2,14 +2,19 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
- export type IdDecoded = {
5
+ export type ObjectPointerDecoded = {
6
6
  documentId: string;
7
7
  objectId: string;
8
8
  };
9
9
 
10
+ /**
11
+ * Encoded object pointer: `${documentId}|${objectId}`.
12
+ */
13
+ export type ObjectPointerEncoded = string;
14
+
10
15
  export const idCodec = {
11
- encode: ({ documentId, objectId }: IdDecoded) => `${documentId}|${objectId}`,
12
- decode: (id: string): IdDecoded => {
16
+ encode: ({ documentId, objectId }: ObjectPointerDecoded): ObjectPointerEncoded => `${documentId}|${objectId}`,
17
+ decode: (id: ObjectPointerEncoded): ObjectPointerDecoded => {
13
18
  const [documentId, objectId] = id.split('|');
14
19
  return { documentId, objectId };
15
20
  },
@@ -10,8 +10,6 @@ import "google/protobuf/struct.proto";
10
10
  import "google/protobuf/timestamp.proto";
11
11
 
12
12
  import "dxos/config.proto";
13
- import "dxos/agent/query.proto";
14
- import "dxos/echo/indexing.proto";
15
13
  import "dxos/echo/metadata.proto";
16
14
  import "dxos/echo/timeframe.proto";
17
15
  import "dxos/error.proto";
@@ -356,6 +354,9 @@ message CreateEpochRequest {
356
354
 
357
355
  /// Init new automerge root by clonning the current space root. History is pruned.
358
356
  PRUNE_AUTOMERGE_ROOT_HISTORY = 2;
357
+
358
+ /// Create a new space root and move objects from the current space root to separate automerge documents and.
359
+ FRAGMENT_AUTOMERGE_ROOT = 3;
359
360
  }
360
361
 
361
362
  dxos.keys.PublicKey space_key = 1;
@@ -381,15 +382,6 @@ service SpacesService {
381
382
  rpc CreateEpoch(CreateEpochRequest) returns (google.protobuf.Empty);
382
383
  }
383
384
 
384
- //
385
- // Indexing
386
- //
387
-
388
- service IndexService {
389
- rpc SetConfig(dxos.echo.indexing.IndexConfig) returns (google.protobuf.Empty);
390
- rpc Find(dxos.agent.query.QueryRequest) returns (dxos.agent.query.QueryResponse);
391
- }
392
-
393
385
  //
394
386
  // Invitations (Halo and Data Spaces).
395
387
  //
@@ -401,9 +393,12 @@ message Invitation {
401
393
  enum Type {
402
394
  /// Requires both to be online to complete key exchange.
403
395
  INTERACTIVE = 0;
404
- /// Guest's identity key is known; invitation can be accepted by any valid peer.
405
- OFFLINE = 1;
406
- /// Multiple-use interactive invitation.
396
+ /// Invitation can be accepted by any valid peer.
397
+ DELEGATED = 1;
398
+ /**
399
+ * Multi-use interactive invitations.
400
+ * @deprecated use multiUse flag with type=interactive instead.
401
+ */
407
402
  MULTIUSE = 2;
408
403
  }
409
404
 
@@ -418,6 +413,9 @@ message Invitation {
418
413
 
419
414
  /// Guest should call `Authenticate` with the shared secret.
420
415
  SHARED_SECRET = 1;
416
+
417
+ /// Guest should prove they possess a private key corresponding to the known public key recorded in an invitation.
418
+ KNOWN_PUBLIC_KEY = 2;
421
419
  }
422
420
 
423
421
  enum State {
@@ -476,6 +474,20 @@ message Invitation {
476
474
  // TODO(nf): some feedback mechanism or GC for immortal invitations?
477
475
  // TODO(nf): should the creator have a way to make an invitation last as long as the client? this was the previous behavior.
478
476
  optional int32 lifetime = 14;
477
+
478
+ /// Whether an invitation can be used multiple times.
479
+ optional bool multi_use = 15;
480
+
481
+ /// Guest's keypair required for AuthMethod.KNOWN_PUBLIC_KEY.
482
+ optional AdmissionKeypair guest_keypair = 16;
483
+
484
+ /// Present on Type.DELEGATED invitations.
485
+ optional dxos.keys.PublicKey delegation_credential_id = 17;
486
+ }
487
+
488
+ message AdmissionKeypair {
489
+ dxos.keys.PublicKey public_key = 1;
490
+ optional dxos.keys.PrivateKey private_key = 2;
479
491
  }
480
492
 
481
493
  message AcceptInvitationRequest {
@@ -530,7 +542,6 @@ service InvitationsService {
530
542
  rpc Authenticate(AuthenticationRequest) returns (google.protobuf.Empty);
531
543
  rpc CancelInvitation(CancelInvitationRequest) returns (google.protobuf.Empty);
532
544
  rpc QueryInvitations(google.protobuf.Empty) returns (stream QueryInvitationsResponse);
533
- rpc LoadPersistentInvitations(google.protobuf.Empty) returns (LoadPersistentInvitationsResponse);
534
545
  }
535
546
 
536
547
  //
@@ -103,6 +103,10 @@ message Runtime {
103
103
  optional StorageDriver key_store = 2;
104
104
  optional StorageDriver data_store = 3;
105
105
  optional string data_root = 4;
106
+
107
+ /**
108
+ * @deprecated
109
+ */
106
110
  optional bool space_fragmentation = 5;
107
111
  }
108
112
 
@@ -127,12 +131,13 @@ message Runtime {
127
131
  /// Location of the remote client host.
128
132
  // TODO(burdon): Rename vault_endpoint (generalize http/ws; drop vault.html).
129
133
  optional string remote_source = 6;
130
-
134
+
135
+ // Authenticate via `Sec-WebSocket-Protocol` header hack.
136
+ optional string remote_source_authentication_token = 8;
137
+
131
138
  /// Connect to and serve client services to a remote proxy.
132
139
  optional string devtools_proxy = 7;
133
140
 
134
- /// Enable E.object api
135
- optional bool use_reactive_object_api = 8;
136
141
  }
137
142
 
138
143
  message App {
@@ -32,9 +32,6 @@ message Value {
32
32
  Array array = 21;
33
33
 
34
34
  Reference reference = 30;
35
-
36
- // YJS state snapshot.
37
- YJS yjs = 40;
38
35
  }
39
36
  }
40
37
 
@@ -0,0 +1,37 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+
5
+ syntax = "proto3";
6
+
7
+ import "google/protobuf/empty.proto";
8
+
9
+ import "dxos/keys.proto";
10
+ import "dxos/echo/filter.proto";
11
+ import "dxos/echo/object.proto";
12
+ import "dxos/echo/indexing.proto";
13
+
14
+ package dxos.echo.query;
15
+
16
+ message QueryRequest {
17
+ optional string queryId = 1;
18
+ dxos.echo.filter.Filter filter = 2;
19
+ }
20
+
21
+ message QueryResult {
22
+ string id = 1;
23
+ dxos.keys.PublicKey spaceKey = 2;
24
+ float rank = 3;
25
+ }
26
+
27
+ message QueryResponse {
28
+ optional string queryId = 1;
29
+ repeated QueryResult results = 2;
30
+ repeated dxos.echo.object.EchoObject objects = 3;
31
+ }
32
+
33
+ service QueryService {
34
+ rpc SetIndexConfig(dxos.echo.indexing.IndexConfig) returns (google.protobuf.Empty);
35
+ rpc Find(QueryRequest) returns (stream QueryResponse);
36
+ rpc ReIndex(google.protobuf.Empty) returns (google.protobuf.Empty);
37
+ }
@@ -47,7 +47,11 @@ message MutationReceipt {
47
47
  }
48
48
 
49
49
  message FlushRequest {
50
- dxos.keys.PublicKey space_key = 1;
50
+ optional dxos.keys.PublicKey space_key = 1;
51
+ /**
52
+ * Automerge specific document ids to wait to flush.
53
+ */
54
+ repeated string document_ids = 2;
51
55
  }
52
56
 
53
57
  // Automerge specific.
@@ -68,6 +68,9 @@ message SpaceMember {
68
68
  /// Genesis feed of the space.
69
69
  /// Needed so that the admitted member can start replicating the space based on this credential alone.
70
70
  dxos.keys.PublicKey genesis_feed_key = 4;
71
+
72
+ /// Present to associate SpaceMember admissions with delegated invitations.
73
+ optional dxos.keys.PublicKey invitation_credential_id = 5;
71
74
  }
72
75
 
73
76
  message MemberProfile {
@@ -5,6 +5,7 @@
5
5
  syntax = "proto3";
6
6
 
7
7
  import "google/protobuf/empty.proto";
8
+ import "google/protobuf/timestamp.proto";
8
9
 
9
10
  import "dxos/client/services.proto";
10
11
  import "dxos/echo/timeframe.proto";
@@ -33,12 +34,19 @@ message IntroductionRequest {
33
34
  message IntroductionResponse {
34
35
  dxos.client.services.Invitation.AuthMethod auth_method = 1;
35
36
 
37
+ /// Present when auth_method is KNOWN_PUBLIC_KEY.
38
+ optional bytes challenge = 2;
39
+
36
40
  /// Only present for testing invitation types.
37
41
  optional dxos.keys.PublicKey space_key = 100;
38
42
  }
39
43
 
40
44
  message AuthenticationRequest {
41
- string auth_code = 1;
45
+ /// Present when auth_method is SHARED_SECRET.
46
+ optional string auth_code = 1;
47
+
48
+ /// Present when auth_method is KNOWN_PUBLIC_KEY.
49
+ optional bytes signed_challenge = 2;
42
50
  }
43
51
 
44
52
  message AuthenticationResponse {
@@ -47,6 +55,7 @@ message AuthenticationResponse {
47
55
  INVALID_OTP = 1;
48
56
  INVALID_OPT_ATTEMPTS = 2;
49
57
  INTERNAL_ERROR = 3;
58
+ INVALID_SIGNATURE = 4;
50
59
  }
51
60
 
52
61
  optional Status status = 1;
@@ -66,6 +75,21 @@ message SpaceAdmissionRequest {
66
75
  dxos.keys.PublicKey data_feed_key = 4;
67
76
  }
68
77
 
78
+ message DelegateSpaceInvitation {
79
+ string invitation_id = 1;
80
+ dxos.client.services.Invitation.AuthMethod auth_method = 2;
81
+ dxos.keys.PublicKey swarm_key = 3;
82
+ dxos.halo.credentials.SpaceMember.Role role = 4;
83
+ /// Present for AuthMethod.KNOWN_PUBLIC_KEY, where guess needs to prove possession of a corresponding private key
84
+ optional dxos.keys.PublicKey guest_key = 5;
85
+ optional google.protobuf.Timestamp expires_on = 6;
86
+ bool multi_use = 7;
87
+ }
88
+
89
+ message CancelDelegatedInvitation {
90
+ dxos.keys.PublicKey credential_id = 1;
91
+ }
92
+
69
93
  message AdmissionRequest {
70
94
  oneof kind {
71
95
  DeviceAdmissionRequest device = 1;
@@ -15,6 +15,9 @@ message StartRequest {
15
15
  string origin = 1;
16
16
  /// Key for the iframe resource lock used to determine when the service is closing.
17
17
  optional string lock_key = 2;
18
+ // TODO(nf): extract or remove?
19
+ optional string observabilityGroup = 3;
20
+ optional bool signalTelemetryEnabled = 4;
18
21
  }
19
22
 
20
23
  /// Iframe-to-worker RPCs.
@@ -52,11 +55,13 @@ service AppService {
52
55
  enum ShellLayout {
53
56
  DEFAULT = 0;
54
57
  INITIALIZE_IDENTITY = 1;
55
- IDENTITY = 2;
56
- SHARE_IDENTITY = 3;
57
- EDIT_PROFILE = 4;
58
- SPACE = 5;
59
- JOIN_SPACE = 6;
58
+ INITIALIZE_IDENTITY_FROM_INVITATION = 2;
59
+ IDENTITY = 3;
60
+ SHARE_IDENTITY = 4;
61
+ EDIT_PROFILE = 5;
62
+ SPACE = 6;
63
+ JOIN_SPACE = 7;
64
+ STATUS = 8;
60
65
  }
61
66
 
62
67
  message LayoutRequest {
@@ -6,8 +6,10 @@ syntax = "proto3";
6
6
 
7
7
  import "google/protobuf/any.proto";
8
8
  import "google/protobuf/empty.proto";
9
+ import "google/protobuf/struct.proto";
9
10
  import "google/protobuf/timestamp.proto";
10
11
 
12
+
11
13
  package dxos.mesh.signal;
12
14
 
13
15
  option go_package = "github.com/dxos/kube/proto/def/dxos/mesh/signal";
@@ -15,6 +17,7 @@ option go_package = "github.com/dxos/kube/proto/def/dxos/mesh/signal";
15
17
  message JoinRequest {
16
18
  bytes swarm = 1;
17
19
  bytes peer = 2;
20
+ optional google.protobuf.Struct metadata = 3;
18
21
  }
19
22
 
20
23
  message Message {
@@ -22,6 +25,7 @@ message Message {
22
25
  bytes author = 1;
23
26
  bytes recipient = 2;
24
27
  google.protobuf.Any payload = 3;
28
+ optional google.protobuf.Struct metadata = 4;
25
29
  }
26
30
 
27
31
  message ReceptionRequest {
@@ -9,14 +9,19 @@ import "dxos/keys.proto";
9
9
 
10
10
  package dxos.mesh.swarm;
11
11
 
12
+ /**
13
+ * Use for:
14
+ * - Initial peer discovery (initiate session id between two peers).
15
+ * - RTC negotiation (SDP offer/answer and ICE).
16
+ */
12
17
  message SwarmMessage {
13
- /// Swarm identefier.
18
+ /// Swarm identifier.
14
19
  dxos.keys.PublicKey topic = 3;
15
20
  /// Unique connection identifier.
16
21
  dxos.keys.PublicKey session_id = 4;
17
22
  /// Message payload.
18
23
  MessageData data = 5;
19
- /// Unique message identifier. Used for Acknolegment and matching Anwers to Offers.
24
+ /// Unique message identifier. Used for ACK and matching Answers to Offers.
20
25
  dxos.keys.PublicKey message_id = 6;
21
26
  }
22
27
 
@@ -29,7 +34,6 @@ message MessageData {
29
34
  * @deprecated Use SignalBatch instead.
30
35
  */
31
36
  Signal signal = 3;
32
-
33
37
  SignalBatch signal_batch = 4;
34
38
  }
35
39
  }
@@ -43,6 +47,10 @@ message Answer {
43
47
  optional dxos.keys.PublicKey offer_message_id = 2;
44
48
  }
45
49
 
50
+ //
51
+ // RTC messages.
52
+ //
53
+
46
54
  message Signal {
47
55
  google.protobuf.Struct payload = 1;
48
56
  }
@@ -3,7 +3,6 @@ import substitutions from "../../../substitutions";
3
3
  import * as dxos_agent_echoproxy from "./echoproxy";
4
4
  import * as dxos_agent_epoch from "./epoch";
5
5
  import * as dxos_agent_functions from "./functions";
6
- import * as dxos_agent_query from "./query";
7
6
  import * as dxos_bot from "../bot";
8
7
  import * as dxos_client_services from "../client/services";
9
8
  import * as dxos_config from "../config";
@@ -18,6 +17,7 @@ import * as dxos_echo_model_document from "../echo/model/document";
18
17
  import * as dxos_echo_model_messenger from "../echo/model/messenger";
19
18
  import * as dxos_echo_model_text from "../echo/model/text";
20
19
  import * as dxos_echo_object from "../echo/object";
20
+ import * as dxos_echo_query from "../echo/query";
21
21
  import * as dxos_echo_service from "../echo/service";
22
22
  import * as dxos_echo_snapshot from "../echo/snapshot";
23
23
  import * as dxos_echo_timeframe from "../echo/timeframe";
@@ -3,7 +3,6 @@ import substitutions from "../../../substitutions";
3
3
  import * as dxos_agent_dashboard from "./dashboard";
4
4
  import * as dxos_agent_epoch from "./epoch";
5
5
  import * as dxos_agent_functions from "./functions";
6
- import * as dxos_agent_query from "./query";
7
6
  import * as dxos_bot from "../bot";
8
7
  import * as dxos_client_services from "../client/services";
9
8
  import * as dxos_config from "../config";
@@ -18,6 +17,7 @@ import * as dxos_echo_model_document from "../echo/model/document";
18
17
  import * as dxos_echo_model_messenger from "../echo/model/messenger";
19
18
  import * as dxos_echo_model_text from "../echo/model/text";
20
19
  import * as dxos_echo_object from "../echo/object";
20
+ import * as dxos_echo_query from "../echo/query";
21
21
  import * as dxos_echo_service from "../echo/service";
22
22
  import * as dxos_echo_snapshot from "../echo/snapshot";
23
23
  import * as dxos_echo_timeframe from "../echo/timeframe";
@@ -3,7 +3,6 @@ import substitutions from "../../../substitutions";
3
3
  import * as dxos_agent_dashboard from "./dashboard";
4
4
  import * as dxos_agent_echoproxy from "./echoproxy";
5
5
  import * as dxos_agent_functions from "./functions";
6
- import * as dxos_agent_query from "./query";
7
6
  import * as dxos_bot from "../bot";
8
7
  import * as dxos_client_services from "../client/services";
9
8
  import * as dxos_config from "../config";
@@ -18,6 +17,7 @@ import * as dxos_echo_model_document from "../echo/model/document";
18
17
  import * as dxos_echo_model_messenger from "../echo/model/messenger";
19
18
  import * as dxos_echo_model_text from "../echo/model/text";
20
19
  import * as dxos_echo_object from "../echo/object";
20
+ import * as dxos_echo_query from "../echo/query";
21
21
  import * as dxos_echo_service from "../echo/service";
22
22
  import * as dxos_echo_snapshot from "../echo/snapshot";
23
23
  import * as dxos_echo_timeframe from "../echo/timeframe";
@@ -3,7 +3,6 @@ import substitutions from "../../../substitutions";
3
3
  import * as dxos_agent_dashboard from "./dashboard";
4
4
  import * as dxos_agent_echoproxy from "./echoproxy";
5
5
  import * as dxos_agent_epoch from "./epoch";
6
- import * as dxos_agent_query from "./query";
7
6
  import * as dxos_bot from "../bot";
8
7
  import * as dxos_client_services from "../client/services";
9
8
  import * as dxos_config from "../config";
@@ -18,6 +17,7 @@ import * as dxos_echo_model_document from "../echo/model/document";
18
17
  import * as dxos_echo_model_messenger from "../echo/model/messenger";
19
18
  import * as dxos_echo_model_text from "../echo/model/text";
20
19
  import * as dxos_echo_object from "../echo/object";
20
+ import * as dxos_echo_query from "../echo/query";
21
21
  import * as dxos_echo_service from "../echo/service";
22
22
  import * as dxos_echo_snapshot from "../echo/snapshot";
23
23
  import * as dxos_echo_timeframe from "../echo/timeframe";
@@ -4,7 +4,6 @@ import * as dxos_agent_dashboard from "./agent/dashboard";
4
4
  import * as dxos_agent_echoproxy from "./agent/echoproxy";
5
5
  import * as dxos_agent_epoch from "./agent/epoch";
6
6
  import * as dxos_agent_functions from "./agent/functions";
7
- import * as dxos_agent_query from "./agent/query";
8
7
  import * as dxos_client_services from "./client/services";
9
8
  import * as dxos_config from "./config";
10
9
  import * as dxos_devtools_host from "./devtools/host";
@@ -18,6 +17,7 @@ import * as dxos_echo_model_document from "./echo/model/document";
18
17
  import * as dxos_echo_model_messenger from "./echo/model/messenger";
19
18
  import * as dxos_echo_model_text from "./echo/model/text";
20
19
  import * as dxos_echo_object from "./echo/object";
20
+ import * as dxos_echo_query from "./echo/query";
21
21
  import * as dxos_echo_service from "./echo/service";
22
22
  import * as dxos_echo_snapshot from "./echo/snapshot";
23
23
  import * as dxos_echo_timeframe from "./echo/timeframe";
@@ -4,7 +4,6 @@ import * as dxos_agent_dashboard from "../agent/dashboard";
4
4
  import * as dxos_agent_echoproxy from "../agent/echoproxy";
5
5
  import * as dxos_agent_epoch from "../agent/epoch";
6
6
  import * as dxos_agent_functions from "../agent/functions";
7
- import * as dxos_agent_query from "../agent/query";
8
7
  import * as dxos_bot from "../bot";
9
8
  import * as dxos_config from "../config";
10
9
  import * as dxos_devtools_host from "../devtools/host";
@@ -18,6 +17,7 @@ import * as dxos_echo_model_document from "../echo/model/document";
18
17
  import * as dxos_echo_model_messenger from "../echo/model/messenger";
19
18
  import * as dxos_echo_model_text from "../echo/model/text";
20
19
  import * as dxos_echo_object from "../echo/object";
20
+ import * as dxos_echo_query from "../echo/query";
21
21
  import * as dxos_echo_service from "../echo/service";
22
22
  import * as dxos_echo_snapshot from "../echo/snapshot";
23
23
  import * as dxos_echo_timeframe from "../echo/timeframe";
@@ -804,7 +804,8 @@ export namespace CreateEpochRequest {
804
804
  export enum Migration {
805
805
  NONE = 0,
806
806
  INIT_AUTOMERGE = 1,
807
- PRUNE_AUTOMERGE_ROOT_HISTORY = 2
807
+ PRUNE_AUTOMERGE_ROOT_HISTORY = 2,
808
+ FRAGMENT_AUTOMERGE_ROOT = 3
808
809
  }
809
810
  }
810
811
  /**
@@ -833,14 +834,6 @@ export interface SpacesService {
833
834
  queryCredentials: (request: QueryCredentialsRequest, options?: RequestOptions) => Stream<dxos_halo_credentials.Credential>;
834
835
  createEpoch: (request: CreateEpochRequest, options?: RequestOptions) => Promise<void>;
835
836
  }
836
- /**
837
- * Defined in:
838
- * {@link file://./../../../dxos/client/services.proto}
839
- */
840
- export interface IndexService {
841
- setConfig: (request: dxos_echo_indexing.IndexConfig, options?: RequestOptions) => Promise<void>;
842
- find: (request: dxos_agent_query.QueryRequest, options?: RequestOptions) => Promise<dxos_agent_query.QueryResponse>;
843
- }
844
837
  /**
845
838
  * Represents the invitation state passed between client and service.
846
839
  *
@@ -924,6 +917,27 @@ export interface Invitation {
924
917
  * - proto3_optional = true
925
918
  */
926
919
  lifetime?: number;
920
+ /**
921
+ * Whether an invitation can be used multiple times.
922
+ *
923
+ * Options:
924
+ * - proto3_optional = true
925
+ */
926
+ multiUse?: boolean;
927
+ /**
928
+ * Guest's keypair required for AuthMethod.KNOWN_PUBLIC_KEY.
929
+ *
930
+ * Options:
931
+ * - proto3_optional = true
932
+ */
933
+ guestKeypair?: AdmissionKeypair;
934
+ /**
935
+ * Present on Type.DELEGATED invitations.
936
+ *
937
+ * Options:
938
+ * - proto3_optional = true
939
+ */
940
+ delegationCredentialId?: ReturnType<(typeof substitutions)["dxos.keys.PublicKey"]["decode"]>;
927
941
  }
928
942
  export namespace Invitation {
929
943
  /**
@@ -932,7 +946,7 @@ export namespace Invitation {
932
946
  */
933
947
  export enum Type {
934
948
  INTERACTIVE = 0,
935
- OFFLINE = 1,
949
+ DELEGATED = 1,
936
950
  MULTIUSE = 2
937
951
  }
938
952
  /**
@@ -949,7 +963,8 @@ export namespace Invitation {
949
963
  */
950
964
  export enum AuthMethod {
951
965
  NONE = 0,
952
- SHARED_SECRET = 1
966
+ SHARED_SECRET = 1,
967
+ KNOWN_PUBLIC_KEY = 2
953
968
  }
954
969
  /**
955
970
  * Defined in:
@@ -968,6 +983,18 @@ export namespace Invitation {
968
983
  EXPIRED = 9
969
984
  }
970
985
  }
986
+ /**
987
+ * Defined in:
988
+ * {@link file://./../../../dxos/client/services.proto}
989
+ */
990
+ export interface AdmissionKeypair {
991
+ publicKey: ReturnType<(typeof substitutions)["dxos.keys.PublicKey"]["decode"]>;
992
+ /**
993
+ * Options:
994
+ * - proto3_optional = true
995
+ */
996
+ privateKey?: ReturnType<(typeof substitutions)["dxos.keys.PrivateKey"]["decode"]>;
997
+ }
971
998
  /**
972
999
  * Defined in:
973
1000
  * {@link file://./../../../dxos/client/services.proto}
@@ -1054,7 +1081,6 @@ export interface InvitationsService {
1054
1081
  authenticate: (request: AuthenticationRequest, options?: RequestOptions) => Promise<void>;
1055
1082
  cancelInvitation: (request: CancelInvitationRequest, options?: RequestOptions) => Promise<void>;
1056
1083
  queryInvitations: (request: void, options?: RequestOptions) => Stream<QueryInvitationsResponse>;
1057
- loadPersistentInvitations: (request: void, options?: RequestOptions) => Promise<LoadPersistentInvitationsResponse>;
1058
1084
  }
1059
1085
  /**
1060
1086
  * Defined in:
@@ -4,7 +4,6 @@ import * as dxos_agent_dashboard from "./agent/dashboard";
4
4
  import * as dxos_agent_echoproxy from "./agent/echoproxy";
5
5
  import * as dxos_agent_epoch from "./agent/epoch";
6
6
  import * as dxos_agent_functions from "./agent/functions";
7
- import * as dxos_agent_query from "./agent/query";
8
7
  import * as dxos_bot from "./bot";
9
8
  import * as dxos_client_services from "./client/services";
10
9
  import * as dxos_devtools_host from "./devtools/host";
@@ -18,6 +17,7 @@ import * as dxos_echo_model_document from "./echo/model/document";
18
17
  import * as dxos_echo_model_messenger from "./echo/model/messenger";
19
18
  import * as dxos_echo_model_text from "./echo/model/text";
20
19
  import * as dxos_echo_object from "./echo/object";
20
+ import * as dxos_echo_query from "./echo/query";
21
21
  import * as dxos_echo_service from "./echo/service";
22
22
  import * as dxos_echo_snapshot from "./echo/snapshot";
23
23
  import * as dxos_echo_timeframe from "./echo/timeframe";
@@ -292,19 +292,17 @@ export namespace Runtime {
292
292
  */
293
293
  remoteSource?: string;
294
294
  /**
295
- * Connect to and serve client services to a remote proxy.
296
- *
297
295
  * Options:
298
296
  * - proto3_optional = true
299
297
  */
300
- devtoolsProxy?: string;
298
+ remoteSourceAuthenticationToken?: string;
301
299
  /**
302
- * Enable E.object api
300
+ * Connect to and serve client services to a remote proxy.
303
301
  *
304
302
  * Options:
305
303
  * - proto3_optional = true
306
304
  */
307
- useReactiveObjectApi?: boolean;
305
+ devtoolsProxy?: string;
308
306
  }
309
307
  export namespace Client {
310
308
  /**
@@ -333,6 +331,8 @@ export namespace Runtime {
333
331
  */
334
332
  dataRoot?: string;
335
333
  /**
334
+ * @deprecated
335
+ *
336
336
  * Options:
337
337
  * - proto3_optional = true
338
338
  */
@@ -4,7 +4,6 @@ import * as dxos_agent_dashboard from "../agent/dashboard";
4
4
  import * as dxos_agent_echoproxy from "../agent/echoproxy";
5
5
  import * as dxos_agent_epoch from "../agent/epoch";
6
6
  import * as dxos_agent_functions from "../agent/functions";
7
- import * as dxos_agent_query from "../agent/query";
8
7
  import * as dxos_bot from "../bot";
9
8
  import * as dxos_client_services from "../client/services";
10
9
  import * as dxos_config from "../config";
@@ -18,6 +17,7 @@ import * as dxos_echo_model_document from "../echo/model/document";
18
17
  import * as dxos_echo_model_messenger from "../echo/model/messenger";
19
18
  import * as dxos_echo_model_text from "../echo/model/text";
20
19
  import * as dxos_echo_object from "../echo/object";
20
+ import * as dxos_echo_query from "../echo/query";
21
21
  import * as dxos_echo_service from "../echo/service";
22
22
  import * as dxos_echo_snapshot from "../echo/snapshot";
23
23
  import * as dxos_echo_timeframe from "../echo/timeframe";