@dxos/protocols 0.7.5-main.9d2a38b → 0.7.5-main.e94eead

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 (131) hide show
  1. package/dist/cjs/src/buf/proto/gen/dxos/client/services_pb.d.ts +142 -13
  2. package/dist/cjs/src/buf/proto/gen/dxos/client/services_pb.d.ts.map +1 -1
  3. package/dist/cjs/src/buf/proto/gen/dxos/client/services_pb.js +70 -50
  4. package/dist/cjs/src/buf/proto/gen/dxos/client/services_pb.js.map +1 -1
  5. package/dist/cjs/src/buf/proto/gen/dxos/edge/calls_pb.d.ts +48 -11
  6. package/dist/cjs/src/buf/proto/gen/dxos/edge/calls_pb.d.ts.map +1 -1
  7. package/dist/cjs/src/buf/proto/gen/dxos/edge/calls_pb.js +10 -5
  8. package/dist/cjs/src/buf/proto/gen/dxos/edge/calls_pb.js.map +1 -1
  9. package/dist/cjs/src/buf/proto/gen/dxos/halo/credentials_pb.d.ts +12 -0
  10. package/dist/cjs/src/buf/proto/gen/dxos/halo/credentials_pb.d.ts.map +1 -1
  11. package/dist/cjs/src/buf/proto/gen/dxos/halo/credentials_pb.js +1 -1
  12. package/dist/cjs/src/buf/proto/gen/dxos/halo/credentials_pb.js.map +1 -1
  13. package/dist/cjs/src/edge.d.ts +20 -2
  14. package/dist/cjs/src/edge.d.ts.map +1 -1
  15. package/dist/cjs/src/edge.js.map +1 -1
  16. package/dist/cjs/src/index.d.ts +1 -0
  17. package/dist/cjs/src/index.d.ts.map +1 -1
  18. package/dist/cjs/src/index.js +1 -0
  19. package/dist/cjs/src/index.js.map +1 -1
  20. package/dist/cjs/src/proto/gen/dxos/client/services.d.ts +251 -182
  21. package/dist/cjs/src/proto/gen/dxos/client/services.d.ts.map +1 -1
  22. package/dist/cjs/src/proto/gen/dxos/client/services.js +28 -28
  23. package/dist/cjs/src/proto/gen/dxos/client/services.js.map +1 -1
  24. package/dist/cjs/src/proto/gen/dxos/edge/calls.d.ts +27 -4
  25. package/dist/cjs/src/proto/gen/dxos/edge/calls.d.ts.map +1 -1
  26. package/dist/cjs/src/proto/gen/dxos/halo/credentials.d.ts +8 -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/index.d.ts +7 -2
  30. package/dist/cjs/src/proto/gen/index.d.ts.map +1 -1
  31. package/dist/cjs/src/proto/gen/index.js +1 -1
  32. package/dist/cjs/src/proto/gen/index.js.map +1 -1
  33. package/dist/cjs/src/queue.d.ts +18 -0
  34. package/dist/cjs/src/queue.d.ts.map +1 -0
  35. package/dist/cjs/src/queue.js +6 -0
  36. package/dist/cjs/src/queue.js.map +1 -0
  37. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  38. package/dist/esm/src/buf/proto/gen/dxos/client/services_pb.d.ts +142 -13
  39. package/dist/esm/src/buf/proto/gen/dxos/client/services_pb.d.ts.map +1 -1
  40. package/dist/esm/src/buf/proto/gen/dxos/client/services_pb.js +68 -48
  41. package/dist/esm/src/buf/proto/gen/dxos/client/services_pb.js.map +1 -1
  42. package/dist/esm/src/buf/proto/gen/dxos/edge/calls_pb.d.ts +48 -11
  43. package/dist/esm/src/buf/proto/gen/dxos/edge/calls_pb.d.ts.map +1 -1
  44. package/dist/esm/src/buf/proto/gen/dxos/edge/calls_pb.js +9 -4
  45. package/dist/esm/src/buf/proto/gen/dxos/edge/calls_pb.js.map +1 -1
  46. package/dist/esm/src/buf/proto/gen/dxos/halo/credentials_pb.d.ts +12 -0
  47. package/dist/esm/src/buf/proto/gen/dxos/halo/credentials_pb.d.ts.map +1 -1
  48. package/dist/esm/src/buf/proto/gen/dxos/halo/credentials_pb.js +1 -1
  49. package/dist/esm/src/buf/proto/gen/dxos/halo/credentials_pb.js.map +1 -1
  50. package/dist/esm/src/edge.d.ts +20 -2
  51. package/dist/esm/src/edge.d.ts.map +1 -1
  52. package/dist/esm/src/edge.js.map +1 -1
  53. package/dist/esm/src/feed-replication.js +0 -1
  54. package/dist/esm/src/index.d.ts +1 -0
  55. package/dist/esm/src/index.d.ts.map +1 -1
  56. package/dist/esm/src/index.js +1 -0
  57. package/dist/esm/src/index.js.map +1 -1
  58. package/dist/esm/src/proto/gen/dxos/agent/echoproxy.js +0 -1
  59. package/dist/esm/src/proto/gen/dxos/agent/epoch.js +0 -1
  60. package/dist/esm/src/proto/gen/dxos/agent/functions.js +0 -1
  61. package/dist/esm/src/proto/gen/dxos/client/services.d.ts +251 -182
  62. package/dist/esm/src/proto/gen/dxos/client/services.d.ts.map +1 -1
  63. package/dist/esm/src/proto/gen/dxos/client/services.js +27 -27
  64. package/dist/esm/src/proto/gen/dxos/client/services.js.map +1 -1
  65. package/dist/esm/src/proto/gen/dxos/devtools/host.js +0 -1
  66. package/dist/esm/src/proto/gen/dxos/devtools/swarm.js +0 -1
  67. package/dist/esm/src/proto/gen/dxos/echo/feed.js +0 -1
  68. package/dist/esm/src/proto/gen/dxos/echo/model/messenger.js +0 -1
  69. package/dist/esm/src/proto/gen/dxos/echo/service.js +0 -1
  70. package/dist/esm/src/proto/gen/dxos/echo/snapshot.js +0 -1
  71. package/dist/esm/src/proto/gen/dxos/echo/timeframe.js +0 -1
  72. package/dist/esm/src/proto/gen/dxos/edge/calls.d.ts +27 -4
  73. package/dist/esm/src/proto/gen/dxos/edge/calls.d.ts.map +1 -1
  74. package/dist/esm/src/proto/gen/dxos/edge/calls.js +0 -1
  75. package/dist/esm/src/proto/gen/dxos/edge/signal.js +0 -1
  76. package/dist/esm/src/proto/gen/dxos/error.js +0 -1
  77. package/dist/esm/src/proto/gen/dxos/gravity.js +0 -1
  78. package/dist/esm/src/proto/gen/dxos/halo/credentials/auth.js +0 -1
  79. package/dist/esm/src/proto/gen/dxos/halo/credentials/identity.js +0 -1
  80. package/dist/esm/src/proto/gen/dxos/halo/credentials.d.ts +8 -0
  81. package/dist/esm/src/proto/gen/dxos/halo/credentials.d.ts.map +1 -1
  82. package/dist/esm/src/proto/gen/dxos/halo/credentials.js.map +1 -1
  83. package/dist/esm/src/proto/gen/dxos/halo/keyring.js +0 -1
  84. package/dist/esm/src/proto/gen/dxos/halo/signed.js +0 -1
  85. package/dist/esm/src/proto/gen/dxos/keys.js +0 -1
  86. package/dist/esm/src/proto/gen/dxos/mesh/broadcast.js +0 -1
  87. package/dist/esm/src/proto/gen/dxos/mesh/messaging.js +0 -1
  88. package/dist/esm/src/proto/gen/dxos/mesh/muxer.js +0 -1
  89. package/dist/esm/src/proto/gen/dxos/mesh/presence.js +0 -1
  90. package/dist/esm/src/proto/gen/dxos/mesh/protocol.js +0 -1
  91. package/dist/esm/src/proto/gen/dxos/mesh/replicator.js +0 -1
  92. package/dist/esm/src/proto/gen/dxos/mesh/swarm.js +0 -1
  93. package/dist/esm/src/proto/gen/dxos/mesh/teleport/auth.js +0 -1
  94. package/dist/esm/src/proto/gen/dxos/mesh/teleport/automerge.js +0 -1
  95. package/dist/esm/src/proto/gen/dxos/mesh/teleport/blobsync.js +0 -1
  96. package/dist/esm/src/proto/gen/dxos/mesh/teleport/control.js +0 -1
  97. package/dist/esm/src/proto/gen/dxos/mesh/teleport/gossip.js +0 -1
  98. package/dist/esm/src/proto/gen/dxos/mesh/teleport/notarization.js +0 -1
  99. package/dist/esm/src/proto/gen/dxos/mesh/teleport/replicator.js +0 -1
  100. package/dist/esm/src/proto/gen/dxos/mesh/teleport.js +0 -1
  101. package/dist/esm/src/proto/gen/dxos/registry.js +0 -1
  102. package/dist/esm/src/proto/gen/dxos/service/publisher.js +0 -1
  103. package/dist/esm/src/proto/gen/dxos/service/tunnel.js +0 -1
  104. package/dist/esm/src/proto/gen/dxos/type.js +0 -1
  105. package/dist/esm/src/proto/gen/dxos/value.js +0 -1
  106. package/dist/esm/src/proto/gen/example/testing/data.js +0 -1
  107. package/dist/esm/src/proto/gen/example/testing/rpc.js +0 -1
  108. package/dist/esm/src/proto/gen/index.d.ts +7 -2
  109. package/dist/esm/src/proto/gen/index.d.ts.map +1 -1
  110. package/dist/esm/src/proto/gen/index.js +1 -1
  111. package/dist/esm/src/proto/gen/index.js.map +1 -1
  112. package/dist/esm/src/proto/types.js +0 -1
  113. package/dist/esm/src/queue.d.ts +18 -0
  114. package/dist/esm/src/queue.d.ts.map +1 -0
  115. package/dist/esm/src/queue.js +4 -0
  116. package/dist/esm/src/queue.js.map +1 -0
  117. package/dist/esm/src/types.js +0 -1
  118. package/package.json +7 -7
  119. package/src/buf/proto/gen/dxos/client/services_pb.ts +207 -59
  120. package/src/buf/proto/gen/dxos/edge/calls_pb.ts +55 -12
  121. package/src/buf/proto/gen/dxos/halo/credentials_pb.ts +15 -1
  122. package/src/edge.ts +25 -2
  123. package/src/index.ts +1 -0
  124. package/src/proto/dxos/client/services.proto +41 -4
  125. package/src/proto/dxos/edge/calls.proto +24 -4
  126. package/src/proto/dxos/halo/credentials.proto +4 -0
  127. package/src/proto/gen/dxos/client/services.ts +251 -182
  128. package/src/proto/gen/dxos/edge/calls.ts +27 -4
  129. package/src/proto/gen/dxos/halo/credentials.ts +8 -0
  130. package/src/proto/gen/index.ts +8 -3
  131. package/src/queue.ts +31 -0
@@ -15,7 +15,7 @@ import type { Message } from "@bufbuild/protobuf";
15
15
  * Describes the file dxos/edge/calls.proto.
16
16
  */
17
17
  export const file_dxos_edge_calls: GenFile = /*@__PURE__*/
18
- fileDesc("ChVkeG9zL2VkZ2UvY2FsbHMucHJvdG8SD2R4b3MuZWRnZS5jYWxscyKGAgoGVHJhY2tzEhIKBWF1ZGlvGAEgASgJSACIAQESGgoNYXVkaW9fZW5hYmxlZBgCIAEoCEgBiAEBEhIKBXZpZGVvGAMgASgJSAKIAQESGgoNdmlkZW9fZW5hYmxlZBgEIAEoCEgDiAEBEhgKC3NjcmVlbnNoYXJlGAUgASgJSASIAQESIQoUc2NyZWVuX3NoYXJlX2VuYWJsZWQYBiABKAhIBYgBAUIICgZfYXVkaW9CEAoOX2F1ZGlvX2VuYWJsZWRCCAoGX3ZpZGVvQhAKDl92aWRlb19lbmFibGVkQg4KDF9zY3JlZW5zaGFyZUIXChVfc2NyZWVuX3NoYXJlX2VuYWJsZWQixQEKCVVzZXJTdGF0ZRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEiMKFnRyYW5zY2VpdmVyX3Nlc3Npb25faWQYAyABKAlIAIgBARITCgtyYWlzZWRfaGFuZBgEIAEoCBIQCghzcGVha2luZxgFIAEoCBIOCgZqb2luZWQYBiABKAgSJwoGdHJhY2tzGAcgASgLMhcuZHhvcy5lZGdlLmNhbGxzLlRyYWNrc0IZChdfdHJhbnNjZWl2ZXJfc2Vzc2lvbl9pZCJJCglSb29tU3RhdGUSEQoJbWVldGluZ0lkGAEgASgJEikKBXVzZXJzGAIgAygLMhouZHhvcy5lZGdlLmNhbGxzLlVzZXJTdGF0ZWIGcHJvdG8z", [file_dxos_keys]);
18
+ fileDesc("ChVkeG9zL2VkZ2UvY2FsbHMucHJvdG8SD2R4b3MuZWRnZS5jYWxscyKEAgoGVHJhY2tzEhIKBWF1ZGlvGAEgASgJSACIAQESGgoNYXVkaW9fZW5hYmxlZBgCIAEoCEgBiAEBEhIKBXZpZGVvGAMgASgJSAKIAQESGgoNdmlkZW9fZW5hYmxlZBgEIAEoCEgDiAEBEhgKC3NjcmVlbnNoYXJlGAUgASgJSASIAQESIAoTc2NyZWVuc2hhcmVfZW5hYmxlZBgGIAEoCEgFiAEBQggKBl9hdWRpb0IQCg5fYXVkaW9fZW5hYmxlZEIICgZfdmlkZW9CEAoOX3ZpZGVvX2VuYWJsZWRCDgoMX3NjcmVlbnNoYXJlQhYKFF9zY3JlZW5zaGFyZV9lbmFibGVkIpMCCglVc2VyU3RhdGUSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIjChZ0cmFuc2NlaXZlcl9zZXNzaW9uX2lkGAMgASgJSACIAQESEwoLcmFpc2VkX2hhbmQYBCABKAgSEAoIc3BlYWtpbmcYBSABKAgSDgoGam9pbmVkGAYgASgIEicKBnRyYWNrcxgHIAEoCzIXLmR4b3MuZWRnZS5jYWxscy5UcmFja3MSOgoNdHJhbnNjcmlwdGlvbhgIIAEoCzIeLmR4b3MuZWRnZS5jYWxscy5UcmFuc2NyaXB0aW9uSAGIAQFCGQoXX3RyYW5zY2VpdmVyX3Nlc3Npb25faWRCEAoOX3RyYW5zY3JpcHRpb24icQoNVHJhbnNjcmlwdGlvbhIPCgdlbmFibGVkGAEgASgIEjwKEWxhbXBvcnRfdGltZXN0YW1wGAIgASgLMiEuZHhvcy5lZGdlLmNhbGxzLkxhbXBvcnRUaW1lc3RhbXASEQoJcXVldWVfZHhuGAMgASgJIi8KEExhbXBvcnRUaW1lc3RhbXASDwoHdmVyc2lvbhgBIAEoBRIKCgJpZBgCIAEoCWIGcHJvdG8z", [file_dxos_keys]);
19
19
 
20
20
  /**
21
21
  * @generated from message dxos.edge.calls.Tracks
@@ -47,9 +47,9 @@ export type Tracks = Message<"dxos.edge.calls.Tracks"> & {
47
47
  screenshare?: string;
48
48
 
49
49
  /**
50
- * @generated from field: optional bool screen_share_enabled = 6;
50
+ * @generated from field: optional bool screenshare_enabled = 6;
51
51
  */
52
- screenShareEnabled?: boolean;
52
+ screenshareEnabled?: boolean;
53
53
  };
54
54
 
55
55
  /**
@@ -97,6 +97,11 @@ export type UserState = Message<"dxos.edge.calls.UserState"> & {
97
97
  * @generated from field: dxos.edge.calls.Tracks tracks = 7;
98
98
  */
99
99
  tracks?: Tracks;
100
+
101
+ /**
102
+ * @generated from field: optional dxos.edge.calls.Transcription transcription = 8;
103
+ */
104
+ transcription?: Transcription;
100
105
  };
101
106
 
102
107
  /**
@@ -107,24 +112,62 @@ export const UserStateSchema: GenMessage<UserState> = /*@__PURE__*/
107
112
  messageDesc(file_dxos_edge_calls, 1);
108
113
 
109
114
  /**
110
- * @generated from message dxos.edge.calls.RoomState
115
+ * *
116
+ * Transcription settings.
117
+ * It will be merged across all users in the room based on the Lamport timestamp (last one wins).
118
+ *
119
+ * @generated from message dxos.edge.calls.Transcription
111
120
  */
112
- export type RoomState = Message<"dxos.edge.calls.RoomState"> & {
121
+ export type Transcription = Message<"dxos.edge.calls.Transcription"> & {
122
+ /**
123
+ * @generated from field: bool enabled = 1;
124
+ */
125
+ enabled: boolean;
126
+
113
127
  /**
114
- * @generated from field: string meetingId = 1;
128
+ * @generated from field: dxos.edge.calls.LamportTimestamp lamport_timestamp = 2;
115
129
  */
116
- meetingId: string;
130
+ lamportTimestamp?: LamportTimestamp;
117
131
 
118
132
  /**
119
- * @generated from field: repeated dxos.edge.calls.UserState users = 2;
133
+ * *
134
+ * Transcription queue DXN.
135
+ *
136
+ * @generated from field: string queue_dxn = 3;
120
137
  */
121
- users: UserState[];
138
+ queueDxn: string;
122
139
  };
123
140
 
124
141
  /**
125
- * Describes the message dxos.edge.calls.RoomState.
126
- * Use `create(RoomStateSchema)` to create a new message.
142
+ * Describes the message dxos.edge.calls.Transcription.
143
+ * Use `create(TranscriptionSchema)` to create a new message.
127
144
  */
128
- export const RoomStateSchema: GenMessage<RoomState> = /*@__PURE__*/
145
+ export const TranscriptionSchema: GenMessage<Transcription> = /*@__PURE__*/
129
146
  messageDesc(file_dxos_edge_calls, 2);
130
147
 
148
+ /**
149
+ * *
150
+ * Lamport Timestamp.
151
+ * @see https://en.wikipedia.org/wiki/Lamport_timestamp
152
+ *
153
+ * @generated from message dxos.edge.calls.LamportTimestamp
154
+ */
155
+ export type LamportTimestamp = Message<"dxos.edge.calls.LamportTimestamp"> & {
156
+ /**
157
+ * @generated from field: int32 version = 1;
158
+ */
159
+ version: number;
160
+
161
+ /**
162
+ * @generated from field: string id = 2;
163
+ */
164
+ id: string;
165
+ };
166
+
167
+ /**
168
+ * Describes the message dxos.edge.calls.LamportTimestamp.
169
+ * Use `create(LamportTimestampSchema)` to create a new message.
170
+ */
171
+ export const LamportTimestampSchema: GenMessage<LamportTimestamp> = /*@__PURE__*/
172
+ messageDesc(file_dxos_edge_calls, 3);
173
+
@@ -20,7 +20,7 @@ import type { JsonObject, Message } from "@bufbuild/protobuf";
20
20
  * Describes the file dxos/halo/credentials.proto.
21
21
  */
22
22
  export const file_dxos_halo_credentials: GenFile = /*@__PURE__*/
23
- fileDesc("ChtkeG9zL2hhbG8vY3JlZGVudGlhbHMucHJvdG8SFWR4b3MuaGFsby5jcmVkZW50aWFscyI3CgxTcGFjZUdlbmVzaXMSJwoJc3BhY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleSKRAwoLU3BhY2VNZW1iZXISJwoJc3BhY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRI1CgRyb2xlGAIgASgOMicuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLlNwYWNlTWVtYmVyLlJvbGUSPAoHcHJvZmlsZRgDIAEoCzImLmR4b3MuaGFsby5jcmVkZW50aWFscy5Qcm9maWxlRG9jdW1lbnRIAIgBARIuChBnZW5lc2lzX2ZlZWRfa2V5GAQgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRI7ChhpbnZpdGF0aW9uX2NyZWRlbnRpYWxfaWQYBSABKAsyFC5keG9zLmtleXMuUHVibGljS2V5SAGIAQEiTgoEUm9sZRILCgdJTlZBTElEEAASCQoFQURNSU4QARIKCgZFRElUT1IQAhIKCgZSRUFERVIQAxIJCgVPV05FUhAEEgsKB1JFTU9WRUQQBUIKCghfcHJvZmlsZUIbChlfaW52aXRhdGlvbl9jcmVkZW50aWFsX2lkIlkKDU1lbWJlclByb2ZpbGUSPAoHcHJvZmlsZRgDIAEoCzImLmR4b3MuaGFsby5jcmVkZW50aWFscy5Qcm9maWxlRG9jdW1lbnRIAIgBAUIKCghfcHJvZmlsZSJoChBBdXRob3JpemVkRGV2aWNlEioKDGlkZW50aXR5X2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSKAoKZGV2aWNlX2tleRgCIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkihgIKDEFkbWl0dGVkRmVlZBInCglzcGFjZV9rZXkYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EioKDGlkZW50aXR5X2tleRgCIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSKAoKZGV2aWNlX2tleRgDIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSRAoLZGVzaWduYXRpb24YBCABKA4yLy5keG9zLmhhbG8uY3JlZGVudGlhbHMuQWRtaXR0ZWRGZWVkLkRlc2lnbmF0aW9uIjEKC0Rlc2lnbmF0aW9uEgsKB0dFTkVSQUwQABILCgdDT05UUk9MEAESCAoEREFUQRACIuwBCgVFcG9jaBIOCgZudW1iZXIYASABKA0SLgoLcHJldmlvdXNfaWQYAiABKAsyFC5keG9zLmtleXMuUHVibGljS2V5SACIAQESNwoJdGltZWZyYW1lGAogASgLMiQuZHhvcy5lY2hvLnRpbWVmcmFtZS5UaW1lZnJhbWVWZWN0b3ISGQoMc25hcHNob3RfY2lkGAsgASgJSAGIAQESGwoOYXV0b21lcmdlX3Jvb3QYDCABKAlIAogBAUIOCgxfcHJldmlvdXNfaWRCDwoNX3NuYXBzaG90X2NpZEIRCg9fYXV0b21lcmdlX3Jvb3QiXwoJSGFsb1NwYWNlEioKDGlkZW50aXR5X2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSJgoIaGFsb19rZXkYAiABKAsyFC5keG9zLmtleXMuUHVibGljS2V5ImoKEElkZW50aXR5UmVjb3ZlcnkSKgoMaWRlbnRpdHlfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIqCgxyZWNvdmVyeV9rZXkYAiABKAsyFC5keG9zLmtleXMuUHVibGljS2V5IpoBCg9Qcm9maWxlRG9jdW1lbnQSGQoMZGlzcGxheV9uYW1lGAEgASgJSACIAQESFwoKYXZhdGFyX2NpZBgCIAEoCUgBiAEBEioKBGRhdGEYCiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SAKIAQFCDwoNX2Rpc3BsYXlfbmFtZUINCgtfYXZhdGFyX2NpZEIHCgVfZGF0YSJKCg9JZGVudGl0eVByb2ZpbGUSNwoHcHJvZmlsZRgBIAEoCzImLmR4b3MuaGFsby5jcmVkZW50aWFscy5Qcm9maWxlRG9jdW1lbnQiuAIKFURldmljZVByb2ZpbGVEb2N1bWVudBISCgVsYWJlbBgBIAEoCUgAiAEBEhUKCHBsYXRmb3JtGAIgASgJSAGIAQESHQoQcGxhdGZvcm1fdmVyc2lvbhgDIAEoCUgCiAEBEhkKDGFyY2hpdGVjdHVyZRgEIAEoCUgDiAEBEg8KAm9zGAUgASgJSASIAQESFwoKb3NfdmVyc2lvbhgGIAEoCUgFiAEBEjQKBHR5cGUYByABKA4yIS5keG9zLmhhbG8uY3JlZGVudGlhbHMuRGV2aWNlVHlwZUgGiAEBQggKBl9sYWJlbEILCglfcGxhdGZvcm1CEwoRX3BsYXRmb3JtX3ZlcnNpb25CDwoNX2FyY2hpdGVjdHVyZUIFCgNfb3NCDQoLX29zX3ZlcnNpb25CBwoFX3R5cGUiTgoNRGV2aWNlUHJvZmlsZRI9Cgdwcm9maWxlGAEgASgLMiwuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkRldmljZVByb2ZpbGVEb2N1bWVudCIgCgxEZWZhdWx0U3BhY2USEAoIc3BhY2VfaWQYASABKAkidgoKS3ViZUFjY2VzcxImCghrdWJlX2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSKgoMaWRlbnRpdHlfa2V5GAIgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIUCgxjYXBhYmlsaXRpZXMYAyADKAki2wEKDVNlcnZpY2VBY2Nlc3MSEwoLc2VydmVyX25hbWUYASABKAkSNQoPc2VydmVyX21ldGFkYXRhGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEigKCnNlcnZlcl9rZXkYAyABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EioKDGlkZW50aXR5X2tleRgEIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSFAoMY2FwYWJpbGl0aWVzGAUgAygJQhIKEF9zZXJ2ZXJfbWV0YWRhdGEiJQoHS2V5SW5mbxIRCgRuYW1lGAEgASgJSACIAQFCBwoFX25hbWUiBgoEQXV0aCJSCgVDbGFpbRIgCgJpZBgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSJwoJYXNzZXJ0aW9uGAIgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueSLXAQoFUHJvb2YSDAoEdHlwZRgBIAEoCRIxCg1jcmVhdGlvbl9kYXRlGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIkCgZzaWduZXIYAyABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EhIKBW5vbmNlGAQgASgMSACIAQESDQoFdmFsdWUYBSABKAwSMAoFY2hhaW4YBiABKAsyHC5keG9zLmhhbG8uY3JlZGVudGlhbHMuQ2hhaW5IAYgBAUIICgZfbm9uY2VCCAoGX2NoYWluIj4KBUNoYWluEjUKCmNyZWRlbnRpYWwYASABKAsyIS5keG9zLmhhbG8uY3JlZGVudGlhbHMuQ3JlZGVudGlhbCKxAwoKQ3JlZGVudGlhbBIlCgJpZBgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXlIAIgBARIkCgZpc3N1ZXIYAiABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EjEKDWlzc3VhbmNlX2RhdGUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjgKD2V4cGlyYXRpb25fZGF0ZRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIbCg5leHBpcmF0aW9uX3JlZhgFIAEoDEgCiAEBEi0KB3N1YmplY3QYCiABKAsyHC5keG9zLmhhbG8uY3JlZGVudGlhbHMuQ2xhaW0SMAoFcHJvb2YYCyABKAsyHC5keG9zLmhhbG8uY3JlZGVudGlhbHMuUHJvb2ZIA4gBARIzChVwYXJlbnRfY3JlZGVudGlhbF9pZHMYDCADKAsyFC5keG9zLmtleXMuUHVibGljS2V5QgUKA19pZEISChBfZXhwaXJhdGlvbl9kYXRlQhEKD19leHBpcmF0aW9uX3JlZkIICgZfcHJvb2YidAoMUHJlc2VudGF0aW9uEjYKC2NyZWRlbnRpYWxzGAEgAygLMiEuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLkNyZWRlbnRpYWwSLAoGcHJvb2ZzGAIgAygLMhwuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLlByb29mKlwKCkRldmljZVR5cGUSCwoHVU5LTk9XThAAEgsKB0JST1dTRVIQARIKCgZOQVRJVkUQAhIJCgVBR0VOVBADEhEKDUFHRU5UX01BTkFHRUQQBBIKCgZNT0JJTEUQBUI2WjRnaXRodWIuY29tL2R4b3MvZHhvcy9wcm90by9kZWYvZHhvcy9oYWxvL2NyZWRlbnRpYWxzYgZwcm90bzM", [file_google_protobuf_any, file_google_protobuf_struct, file_google_protobuf_timestamp, file_dxos_echo_timeframe, file_dxos_keys]);
23
+ fileDesc("ChtkeG9zL2hhbG8vY3JlZGVudGlhbHMucHJvdG8SFWR4b3MuaGFsby5jcmVkZW50aWFscyI3CgxTcGFjZUdlbmVzaXMSJwoJc3BhY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleSKRAwoLU3BhY2VNZW1iZXISJwoJc3BhY2Vfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRI1CgRyb2xlGAIgASgOMicuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLlNwYWNlTWVtYmVyLlJvbGUSPAoHcHJvZmlsZRgDIAEoCzImLmR4b3MuaGFsby5jcmVkZW50aWFscy5Qcm9maWxlRG9jdW1lbnRIAIgBARIuChBnZW5lc2lzX2ZlZWRfa2V5GAQgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRI7ChhpbnZpdGF0aW9uX2NyZWRlbnRpYWxfaWQYBSABKAsyFC5keG9zLmtleXMuUHVibGljS2V5SAGIAQEiTgoEUm9sZRILCgdJTlZBTElEEAASCQoFQURNSU4QARIKCgZFRElUT1IQAhIKCgZSRUFERVIQAxIJCgVPV05FUhAEEgsKB1JFTU9WRUQQBUIKCghfcHJvZmlsZUIbChlfaW52aXRhdGlvbl9jcmVkZW50aWFsX2lkIlkKDU1lbWJlclByb2ZpbGUSPAoHcHJvZmlsZRgDIAEoCzImLmR4b3MuaGFsby5jcmVkZW50aWFscy5Qcm9maWxlRG9jdW1lbnRIAIgBAUIKCghfcHJvZmlsZSJoChBBdXRob3JpemVkRGV2aWNlEioKDGlkZW50aXR5X2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSKAoKZGV2aWNlX2tleRgCIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkihgIKDEFkbWl0dGVkRmVlZBInCglzcGFjZV9rZXkYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EioKDGlkZW50aXR5X2tleRgCIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSKAoKZGV2aWNlX2tleRgDIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSRAoLZGVzaWduYXRpb24YBCABKA4yLy5keG9zLmhhbG8uY3JlZGVudGlhbHMuQWRtaXR0ZWRGZWVkLkRlc2lnbmF0aW9uIjEKC0Rlc2lnbmF0aW9uEgsKB0dFTkVSQUwQABILCgdDT05UUk9MEAESCAoEREFUQRACIuwBCgVFcG9jaBIOCgZudW1iZXIYASABKA0SLgoLcHJldmlvdXNfaWQYAiABKAsyFC5keG9zLmtleXMuUHVibGljS2V5SACIAQESNwoJdGltZWZyYW1lGAogASgLMiQuZHhvcy5lY2hvLnRpbWVmcmFtZS5UaW1lZnJhbWVWZWN0b3ISGQoMc25hcHNob3RfY2lkGAsgASgJSAGIAQESGwoOYXV0b21lcmdlX3Jvb3QYDCABKAlIAogBAUIOCgxfcHJldmlvdXNfaWRCDwoNX3NuYXBzaG90X2NpZEIRCg9fYXV0b21lcmdlX3Jvb3QiXwoJSGFsb1NwYWNlEioKDGlkZW50aXR5X2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSJgoIaGFsb19rZXkYAiABKAsyFC5keG9zLmtleXMuUHVibGljS2V5IqcBChBJZGVudGl0eVJlY292ZXJ5EioKDGlkZW50aXR5X2tleRgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSKgoMcmVjb3Zlcnlfa2V5GAIgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIRCglhbGdvcml0aG0YAyABKAkSKAoKbG9va3VwX2tleRgEIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkimgEKD1Byb2ZpbGVEb2N1bWVudBIZCgxkaXNwbGF5X25hbWUYASABKAlIAIgBARIXCgphdmF0YXJfY2lkGAIgASgJSAGIAQESKgoEZGF0YRgKIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIAogBAUIPCg1fZGlzcGxheV9uYW1lQg0KC19hdmF0YXJfY2lkQgcKBV9kYXRhIkoKD0lkZW50aXR5UHJvZmlsZRI3Cgdwcm9maWxlGAEgASgLMiYuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLlByb2ZpbGVEb2N1bWVudCK4AgoVRGV2aWNlUHJvZmlsZURvY3VtZW50EhIKBWxhYmVsGAEgASgJSACIAQESFQoIcGxhdGZvcm0YAiABKAlIAYgBARIdChBwbGF0Zm9ybV92ZXJzaW9uGAMgASgJSAKIAQESGQoMYXJjaGl0ZWN0dXJlGAQgASgJSAOIAQESDwoCb3MYBSABKAlIBIgBARIXCgpvc192ZXJzaW9uGAYgASgJSAWIAQESNAoEdHlwZRgHIAEoDjIhLmR4b3MuaGFsby5jcmVkZW50aWFscy5EZXZpY2VUeXBlSAaIAQFCCAoGX2xhYmVsQgsKCV9wbGF0Zm9ybUITChFfcGxhdGZvcm1fdmVyc2lvbkIPCg1fYXJjaGl0ZWN0dXJlQgUKA19vc0INCgtfb3NfdmVyc2lvbkIHCgVfdHlwZSJOCg1EZXZpY2VQcm9maWxlEj0KB3Byb2ZpbGUYASABKAsyLC5keG9zLmhhbG8uY3JlZGVudGlhbHMuRGV2aWNlUHJvZmlsZURvY3VtZW50IiAKDERlZmF1bHRTcGFjZRIQCghzcGFjZV9pZBgBIAEoCSJ2CgpLdWJlQWNjZXNzEiYKCGt1YmVfa2V5GAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIqCgxpZGVudGl0eV9rZXkYAiABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EhQKDGNhcGFiaWxpdGllcxgDIAMoCSLbAQoNU2VydmljZUFjY2VzcxITCgtzZXJ2ZXJfbmFtZRgBIAEoCRI1Cg9zZXJ2ZXJfbWV0YWRhdGEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESKAoKc2VydmVyX2tleRgDIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSKgoMaWRlbnRpdHlfa2V5GAQgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRIUCgxjYXBhYmlsaXRpZXMYBSADKAlCEgoQX3NlcnZlcl9tZXRhZGF0YSIlCgdLZXlJbmZvEhEKBG5hbWUYASABKAlIAIgBAUIHCgVfbmFtZSIGCgRBdXRoIlIKBUNsYWltEiAKAmlkGAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRInCglhc3NlcnRpb24YAiABKAsyFC5nb29nbGUucHJvdG9idWYuQW55ItcBCgVQcm9vZhIMCgR0eXBlGAEgASgJEjEKDWNyZWF0aW9uX2RhdGUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiQKBnNpZ25lchgDIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSEgoFbm9uY2UYBCABKAxIAIgBARINCgV2YWx1ZRgFIAEoDBIwCgVjaGFpbhgGIAEoCzIcLmR4b3MuaGFsby5jcmVkZW50aWFscy5DaGFpbkgBiAEBQggKBl9ub25jZUIICgZfY2hhaW4iPgoFQ2hhaW4SNQoKY3JlZGVudGlhbBgBIAEoCzIhLmR4b3MuaGFsby5jcmVkZW50aWFscy5DcmVkZW50aWFsIrEDCgpDcmVkZW50aWFsEiUKAmlkGAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleUgAiAEBEiQKBmlzc3VlchgCIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSMQoNaXNzdWFuY2VfZGF0ZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASOAoPZXhwaXJhdGlvbl9kYXRlGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEhsKDmV4cGlyYXRpb25fcmVmGAUgASgMSAKIAQESLQoHc3ViamVjdBgKIAEoCzIcLmR4b3MuaGFsby5jcmVkZW50aWFscy5DbGFpbRIwCgVwcm9vZhgLIAEoCzIcLmR4b3MuaGFsby5jcmVkZW50aWFscy5Qcm9vZkgDiAEBEjMKFXBhcmVudF9jcmVkZW50aWFsX2lkcxgMIAMoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXlCBQoDX2lkQhIKEF9leHBpcmF0aW9uX2RhdGVCEQoPX2V4cGlyYXRpb25fcmVmQggKBl9wcm9vZiJ0CgxQcmVzZW50YXRpb24SNgoLY3JlZGVudGlhbHMYASADKAsyIS5keG9zLmhhbG8uY3JlZGVudGlhbHMuQ3JlZGVudGlhbBIsCgZwcm9vZnMYAiADKAsyHC5keG9zLmhhbG8uY3JlZGVudGlhbHMuUHJvb2YqXAoKRGV2aWNlVHlwZRILCgdVTktOT1dOEAASCwoHQlJPV1NFUhABEgoKBk5BVElWRRACEgkKBUFHRU5UEAMSEQoNQUdFTlRfTUFOQUdFRBAEEgoKBk1PQklMRRAFQjZaNGdpdGh1Yi5jb20vZHhvcy9keG9zL3Byb3RvL2RlZi9keG9zL2hhbG8vY3JlZGVudGlhbHNiBnByb3RvMw", [file_google_protobuf_any, file_google_protobuf_struct, file_google_protobuf_timestamp, file_dxos_echo_timeframe, file_dxos_keys]);
24
24
 
25
25
  /**
26
26
  * [ASSERTION]
@@ -357,6 +357,20 @@ export type IdentityRecovery = Message<"dxos.halo.credentials.IdentityRecovery">
357
357
  * @generated from field: dxos.keys.PublicKey recovery_key = 2;
358
358
  */
359
359
  recoveryKey?: PublicKey;
360
+
361
+ /**
362
+ * / Algorithm used to derive the recovery key (e.g., ED25519, ES256, etc.).
363
+ *
364
+ * @generated from field: string algorithm = 3;
365
+ */
366
+ algorithm: string;
367
+
368
+ /**
369
+ * / Public key used to identify the recovery key (e.g., passkey user handle).
370
+ *
371
+ * @generated from field: dxos.keys.PublicKey lookup_key = 4;
372
+ */
373
+ lookupKey?: PublicKey;
360
374
  };
361
375
 
362
376
  /**
package/src/edge.ts CHANGED
@@ -44,6 +44,12 @@ export type GetNotarizationResponseBody = {
44
44
  awaitingNotarization: { credentials: string[] };
45
45
  };
46
46
 
47
+ export type ExecuteWorkflowResponseBody = {
48
+ success: boolean;
49
+ reason?: string;
50
+ output?: any;
51
+ };
52
+
47
53
  export type PostNotarizationRequestBody = {
48
54
  credentials: string[];
49
55
  };
@@ -63,11 +69,20 @@ export type JoinSpaceResponseBody = {
63
69
  spaceGenesisFeedKey: string;
64
70
  };
65
71
 
72
+ export type RecoverIdentitySignature =
73
+ | string
74
+ // This is the format of the signature from the WebAuthn authenticator.
75
+ | {
76
+ signature: string;
77
+ clientDataJson: string;
78
+ authenticatorData: string;
79
+ };
80
+
66
81
  export type RecoverIdentityRequest = {
67
- recoveryKey: string;
68
82
  deviceKey: string;
69
83
  controlFeedKey: string;
70
- signature?: string;
84
+ lookupKey?: string;
85
+ signature?: RecoverIdentitySignature;
71
86
  };
72
87
 
73
88
  export type RecoverIdentityResponseBody = {
@@ -105,7 +120,15 @@ export type UploadFunctionResponseBody = {
105
120
  functionId: string;
106
121
  version: string;
107
122
  meta: {
123
+ description?: string;
124
+ /**
125
+ * JSON Schema for the input of the function.
126
+ */
108
127
  inputSchema?: object;
128
+ /**
129
+ * JSON Schema for the output of the function.
130
+ */
131
+ outputSchema?: object;
109
132
  };
110
133
  };
111
134
 
package/src/index.ts CHANGED
@@ -11,3 +11,4 @@ export * from './query.js';
11
11
  export * from './profile-archive.js';
12
12
  export * from './automerge.js';
13
13
  export * from './edge.js';
14
+ export * from './queue.js';
@@ -118,17 +118,53 @@ service SystemService {
118
118
  //
119
119
 
120
120
  message Identity {
121
+ string did = 4;
121
122
  dxos.keys.PublicKey identity_key = 1;
122
123
  optional dxos.keys.PublicKey space_key = 2;
123
124
  optional halo.credentials.ProfileDocument profile = 3;
124
125
  }
125
126
 
127
+ message RequestRecoveryChallengeResponse {
128
+ dxos.keys.PublicKey device_key = 1;
129
+ dxos.keys.PublicKey control_feed_key = 2;
130
+ string challenge = 3;
131
+ }
132
+
126
133
  message RecoverIdentityRequest {
127
- string seedphrase = 1;
134
+ message ExternalSignature {
135
+ dxos.keys.PublicKey lookup_key = 1;
136
+ dxos.keys.PublicKey device_key = 2;
137
+ dxos.keys.PublicKey control_feed_key = 3;
138
+ bytes signature = 4;
139
+ // These are required to verify the signature from the WebAuthn authenticator.
140
+ optional bytes client_data_json = 5;
141
+ optional bytes authenticator_data = 6;
142
+ }
143
+
144
+ oneof request {
145
+ string recovery_code = 1;
146
+ ExternalSignature external = 2;
147
+ }
148
+ }
149
+
150
+ message RecoveryCredentialData {
151
+ /// Recovery key used to validate recovery challenge signature.
152
+ dxos.keys.PublicKey recovery_key = 1;
153
+
154
+ /// Public key used to identify the recovery key.
155
+ dxos.keys.PublicKey lookup_key = 2;
156
+
157
+ /// Algorithm used to generate the recovery key.
158
+ string algorithm = 3;
159
+ }
160
+
161
+ message CreateRecoveryCredentialRequest {
162
+ /// If not provided, a new key will be generated.
163
+ optional RecoveryCredentialData data = 1;
128
164
  }
129
165
 
130
- message CreateRecoveryPhraseResponse {
131
- string seedphrase = 1;
166
+ message CreateRecoveryCredentialResponse {
167
+ optional string recovery_code = 1;
132
168
  }
133
169
 
134
170
  message QueryIdentityResponse {
@@ -150,8 +186,9 @@ message CreateIdentityRequest {
150
186
  // TODO(wittjosiah): Align pluralization with other services.
151
187
  service IdentityService {
152
188
  rpc CreateIdentity(CreateIdentityRequest) returns (Identity);
189
+ rpc RequestRecoveryChallenge(google.protobuf.Empty) returns (RequestRecoveryChallengeResponse);
153
190
  rpc RecoverIdentity(RecoverIdentityRequest) returns (Identity);
154
- rpc CreateRecoveryPhrase(google.protobuf.Empty) returns (CreateRecoveryPhraseResponse);
191
+ rpc CreateRecoveryCredential(CreateRecoveryCredentialRequest) returns (CreateRecoveryCredentialResponse);
155
192
  rpc QueryIdentity(google.protobuf.Empty) returns (stream QueryIdentityResponse);
156
193
  rpc UpdateProfile(halo.credentials.ProfileDocument) returns (Identity);
157
194
  rpc SignPresentation(SignPresentationRequest) returns (dxos.halo.credentials.Presentation);
@@ -14,7 +14,7 @@ message Tracks {
14
14
  optional string video = 3;
15
15
  optional bool video_enabled = 4;
16
16
  optional string screenshare = 5;
17
- optional bool screen_share_enabled = 6;
17
+ optional bool screenshare_enabled = 6;
18
18
  }
19
19
 
20
20
  message UserState {
@@ -25,9 +25,29 @@ message UserState {
25
25
  bool speaking = 5;
26
26
  bool joined = 6;
27
27
  Tracks tracks = 7;
28
+ optional Transcription transcription = 8;
28
29
  }
29
30
 
30
- message RoomState {
31
- string meetingId = 1;
32
- repeated UserState users = 2;
31
+ /**
32
+ * Transcription settings.
33
+ * It will be merged across all users in the room based on the Lamport timestamp (last one wins).
34
+ */
35
+ message Transcription {
36
+ bool enabled = 1;
37
+
38
+ LamportTimestamp lamport_timestamp = 2;
39
+
40
+ /**
41
+ * Transcription queue DXN.
42
+ */
43
+ string queue_dxn = 3;
44
+ }
45
+
46
+ /**
47
+ * Lamport Timestamp.
48
+ * @see https://en.wikipedia.org/wiki/Lamport_timestamp
49
+ */
50
+ message LamportTimestamp {
51
+ int32 version = 1;
52
+ string id = 2;
33
53
  }
@@ -139,6 +139,10 @@ message IdentityRecovery {
139
139
  dxos.keys.PublicKey identity_key = 1;
140
140
  /// Public key derived from the recovery seedphrase.
141
141
  dxos.keys.PublicKey recovery_key = 2;
142
+ /// Algorithm used to derive the recovery key (e.g., ED25519, ES256, etc.).
143
+ string algorithm = 3;
144
+ /// Public key used to identify the recovery key (e.g., passkey user handle).
145
+ dxos.keys.PublicKey lookup_key = 4;
142
146
  }
143
147
 
144
148
  message ProfileDocument {