@dxos/protocols 0.8.1-main.ae460ac → 0.8.1-staging.31c3ee1
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.
- package/dist/cjs/src/buf/proto/gen/dxos/client/services_pb.d.ts +110 -1
- package/dist/cjs/src/buf/proto/gen/dxos/client/services_pb.d.ts.map +1 -1
- package/dist/cjs/src/buf/proto/gen/dxos/client/services_pb.js +44 -19
- package/dist/cjs/src/buf/proto/gen/dxos/client/services_pb.js.map +1 -1
- package/dist/cjs/src/buf/proto/gen/dxos/edge/calls_pb.d.ts +35 -16
- package/dist/cjs/src/buf/proto/gen/dxos/edge/calls_pb.d.ts.map +1 -1
- package/dist/cjs/src/buf/proto/gen/dxos/edge/calls_pb.js +12 -6
- package/dist/cjs/src/buf/proto/gen/dxos/edge/calls_pb.js.map +1 -1
- package/dist/cjs/src/buf/proto/gen/dxos/edge/signal_pb.d.ts +14 -0
- package/dist/cjs/src/buf/proto/gen/dxos/edge/signal_pb.d.ts.map +1 -1
- package/dist/cjs/src/buf/proto/gen/dxos/edge/signal_pb.js +11 -6
- package/dist/cjs/src/buf/proto/gen/dxos/edge/signal_pb.js.map +1 -1
- package/dist/cjs/src/edge-error.d.ts +26 -0
- package/dist/cjs/src/edge-error.d.ts.map +1 -0
- package/dist/cjs/src/edge-error.js +63 -0
- package/dist/cjs/src/edge-error.js.map +1 -0
- package/dist/cjs/src/edge.d.ts +34 -25
- package/dist/cjs/src/edge.d.ts.map +1 -1
- package/dist/cjs/src/edge.js +13 -57
- package/dist/cjs/src/edge.js.map +1 -1
- package/dist/cjs/src/index.d.ts +2 -0
- package/dist/cjs/src/index.d.ts.map +1 -1
- package/dist/cjs/src/index.js +2 -0
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/proto/gen/dxos/client/services.d.ts +46 -0
- package/dist/cjs/src/proto/gen/dxos/client/services.d.ts.map +1 -1
- package/dist/cjs/src/proto/gen/dxos/client/services.js.map +1 -1
- package/dist/cjs/src/proto/gen/dxos/edge/calls.d.ts +16 -11
- package/dist/cjs/src/proto/gen/dxos/edge/calls.d.ts.map +1 -1
- package/dist/cjs/src/proto/gen/dxos/edge/signal.d.ts +7 -0
- package/dist/cjs/src/proto/gen/dxos/edge/signal.d.ts.map +1 -1
- package/dist/cjs/src/proto/gen/index.d.ts +8 -1
- package/dist/cjs/src/proto/gen/index.d.ts.map +1 -1
- package/dist/cjs/src/proto/gen/index.js +1 -1
- package/dist/cjs/src/proto/gen/index.js.map +1 -1
- package/dist/cjs/src/space-archive.d.ts +55 -0
- package/dist/cjs/src/space-archive.d.ts.map +1 -0
- package/dist/cjs/src/space-archive.js +29 -0
- package/dist/cjs/src/space-archive.js.map +1 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/src/buf/proto/gen/dxos/client/services_pb.d.ts +110 -1
- package/dist/esm/src/buf/proto/gen/dxos/client/services_pb.d.ts.map +1 -1
- package/dist/esm/src/buf/proto/gen/dxos/client/services_pb.js +42 -17
- package/dist/esm/src/buf/proto/gen/dxos/client/services_pb.js.map +1 -1
- package/dist/esm/src/buf/proto/gen/dxos/edge/calls_pb.d.ts +35 -16
- package/dist/esm/src/buf/proto/gen/dxos/edge/calls_pb.d.ts.map +1 -1
- package/dist/esm/src/buf/proto/gen/dxos/edge/calls_pb.js +11 -5
- package/dist/esm/src/buf/proto/gen/dxos/edge/calls_pb.js.map +1 -1
- package/dist/esm/src/buf/proto/gen/dxos/edge/signal_pb.d.ts +14 -0
- package/dist/esm/src/buf/proto/gen/dxos/edge/signal_pb.d.ts.map +1 -1
- package/dist/esm/src/buf/proto/gen/dxos/edge/signal_pb.js +10 -5
- package/dist/esm/src/buf/proto/gen/dxos/edge/signal_pb.js.map +1 -1
- package/dist/esm/src/edge-error.d.ts +26 -0
- package/dist/esm/src/edge-error.d.ts.map +1 -0
- package/dist/esm/src/edge-error.js +62 -0
- package/dist/esm/src/edge-error.js.map +1 -0
- package/dist/esm/src/edge.d.ts +34 -25
- package/dist/esm/src/edge.d.ts.map +1 -1
- package/dist/esm/src/edge.js +12 -58
- package/dist/esm/src/edge.js.map +1 -1
- package/dist/esm/src/index.d.ts +2 -0
- package/dist/esm/src/index.d.ts.map +1 -1
- package/dist/esm/src/index.js +2 -0
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/proto/gen/dxos/client/services.d.ts +46 -0
- package/dist/esm/src/proto/gen/dxos/client/services.d.ts.map +1 -1
- package/dist/esm/src/proto/gen/dxos/client/services.js.map +1 -1
- package/dist/esm/src/proto/gen/dxos/edge/calls.d.ts +16 -11
- package/dist/esm/src/proto/gen/dxos/edge/calls.d.ts.map +1 -1
- package/dist/esm/src/proto/gen/dxos/edge/signal.d.ts +7 -0
- package/dist/esm/src/proto/gen/dxos/edge/signal.d.ts.map +1 -1
- package/dist/esm/src/proto/gen/index.d.ts +8 -1
- package/dist/esm/src/proto/gen/index.d.ts.map +1 -1
- package/dist/esm/src/proto/gen/index.js +1 -1
- package/dist/esm/src/proto/gen/index.js.map +1 -1
- package/dist/esm/src/space-archive.d.ts +55 -0
- package/dist/esm/src/space-archive.d.ts.map +1 -0
- package/dist/esm/src/space-archive.js +26 -0
- package/dist/esm/src/space-archive.js.map +1 -0
- package/package.json +9 -9
- package/src/buf/proto/gen/dxos/client/services_pb.ts +143 -18
- package/src/buf/proto/gen/dxos/edge/calls_pb.ts +40 -19
- package/src/buf/proto/gen/dxos/edge/signal_pb.ts +22 -5
- package/src/edge-error.ts +79 -0
- package/src/edge.ts +30 -71
- package/src/index.ts +2 -0
- package/src/proto/dxos/client/services.proto +30 -0
- package/src/proto/dxos/edge/calls.proto +16 -9
- package/src/proto/dxos/edge/signal.proto +4 -0
- package/src/proto/gen/dxos/client/services.ts +46 -0
- package/src/proto/gen/dxos/edge/calls.ts +15 -11
- package/src/proto/gen/dxos/edge/signal.ts +7 -0
- package/src/proto/gen/index.ts +9 -2
- package/src/space-archive.ts +66 -0
|
@@ -20,7 +20,7 @@ import type { Message as Message$1 } from "@bufbuild/protobuf";
|
|
|
20
20
|
* Describes the file dxos/edge/signal.proto.
|
|
21
21
|
*/
|
|
22
22
|
export const file_dxos_edge_signal: GenFile = /*@__PURE__*/
|
|
23
|
-
fileDesc("
|
|
23
|
+
fileDesc("ChZkeG9zL2VkZ2Uvc2lnbmFsLnByb3RvEhBkeG9zLmVkZ2Uuc2lnbmFsIlsKC0pvaW5SZXF1ZXN0EiMKBXRvcGljGAEgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRInCgRwZWVyGAIgASgLMhkuZHhvcy5lZGdlLm1lc3Nlbmdlci5QZWVyIlwKDExlYXZlUmVxdWVzdBIjCgV0b3BpYxgBIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXkSJwoEcGVlchgCIAEoCzIZLmR4b3MuZWRnZS5tZXNzZW5nZXIuUGVlciIzCgxRdWVyeVJlcXVlc3QSIwoFdG9waWMYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5IokBCgdNZXNzYWdlEikKBmF1dGhvchgBIAEoCzIZLmR4b3MuZWRnZS5tZXNzZW5nZXIuUGVlchIsCglyZWNpcGllbnQYAiABKAsyGS5keG9zLmVkZ2UubWVzc2VuZ2VyLlBlZXISJQoHcGF5bG9hZBgDIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnkizwMKClN3YXJtRXZlbnQSIwoFdG9waWMYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5EkQKDnBlZXJfYXZhaWxhYmxlGAIgASgLMiouZHhvcy5lZGdlLnNpZ25hbC5Td2FybUV2ZW50LlBlZXJBdmFpbGFibGVIABI6CglwZWVyX2xlZnQYAyABKAsyJS5keG9zLmVkZ2Uuc2lnbmFsLlN3YXJtRXZlbnQuUGVlckxlZnRIABrbAQoNUGVlckF2YWlsYWJsZRInCgRwZWVyGAEgASgLMhkuZHhvcy5lZGdlLm1lc3Nlbmdlci5QZWVyEikKBXNpbmNlGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgV1bnRpbBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIiChVhbm5vdW5jZV9iYWNrX3RvX2hvc3QYBCABKAxIAYgBAUIICgZfdW50aWxCGAoWX2Fubm91bmNlX2JhY2tfdG9faG9zdBozCghQZWVyTGVmdBInCgRwZWVyGAEgASgLMhkuZHhvcy5lZGdlLm1lc3Nlbmdlci5QZWVyQgcKBWV2ZW50YgZwcm90bzM", [file_google_protobuf_any, file_google_protobuf_timestamp, file_dxos_keys, file_dxos_edge_messenger]);
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* @generated from message dxos.edge.signal.JoinRequest
|
|
@@ -66,6 +66,23 @@ export type LeaveRequest = Message$1<"dxos.edge.signal.LeaveRequest"> & {
|
|
|
66
66
|
export const LeaveRequestSchema: GenMessage<LeaveRequest> = /*@__PURE__*/
|
|
67
67
|
messageDesc(file_dxos_edge_signal, 1);
|
|
68
68
|
|
|
69
|
+
/**
|
|
70
|
+
* @generated from message dxos.edge.signal.QueryRequest
|
|
71
|
+
*/
|
|
72
|
+
export type QueryRequest = Message$1<"dxos.edge.signal.QueryRequest"> & {
|
|
73
|
+
/**
|
|
74
|
+
* @generated from field: dxos.keys.PublicKey topic = 1;
|
|
75
|
+
*/
|
|
76
|
+
topic?: PublicKey;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Describes the message dxos.edge.signal.QueryRequest.
|
|
81
|
+
* Use `create(QueryRequestSchema)` to create a new message.
|
|
82
|
+
*/
|
|
83
|
+
export const QueryRequestSchema: GenMessage<QueryRequest> = /*@__PURE__*/
|
|
84
|
+
messageDesc(file_dxos_edge_signal, 2);
|
|
85
|
+
|
|
69
86
|
/**
|
|
70
87
|
* @generated from message dxos.edge.signal.Message
|
|
71
88
|
*/
|
|
@@ -91,7 +108,7 @@ export type Message = Message$1<"dxos.edge.signal.Message"> & {
|
|
|
91
108
|
* Use `create(MessageSchema)` to create a new message.
|
|
92
109
|
*/
|
|
93
110
|
export const MessageSchema: GenMessage<Message> = /*@__PURE__*/
|
|
94
|
-
messageDesc(file_dxos_edge_signal,
|
|
111
|
+
messageDesc(file_dxos_edge_signal, 3);
|
|
95
112
|
|
|
96
113
|
/**
|
|
97
114
|
* / Goes on Pub/Sub swarm topic and as a Join stream in RPC.
|
|
@@ -131,7 +148,7 @@ export type SwarmEvent = Message$1<"dxos.edge.signal.SwarmEvent"> & {
|
|
|
131
148
|
* Use `create(SwarmEventSchema)` to create a new message.
|
|
132
149
|
*/
|
|
133
150
|
export const SwarmEventSchema: GenMessage<SwarmEvent> = /*@__PURE__*/
|
|
134
|
-
messageDesc(file_dxos_edge_signal,
|
|
151
|
+
messageDesc(file_dxos_edge_signal, 4);
|
|
135
152
|
|
|
136
153
|
/**
|
|
137
154
|
* Announce peer available on swarm.
|
|
@@ -170,7 +187,7 @@ export type SwarmEvent_PeerAvailable = Message$1<"dxos.edge.signal.SwarmEvent.Pe
|
|
|
170
187
|
* Use `create(SwarmEvent_PeerAvailableSchema)` to create a new message.
|
|
171
188
|
*/
|
|
172
189
|
export const SwarmEvent_PeerAvailableSchema: GenMessage<SwarmEvent_PeerAvailable> = /*@__PURE__*/
|
|
173
|
-
messageDesc(file_dxos_edge_signal,
|
|
190
|
+
messageDesc(file_dxos_edge_signal, 4, 0);
|
|
174
191
|
|
|
175
192
|
/**
|
|
176
193
|
* @generated from message dxos.edge.signal.SwarmEvent.PeerLeft
|
|
@@ -187,5 +204,5 @@ export type SwarmEvent_PeerLeft = Message$1<"dxos.edge.signal.SwarmEvent.PeerLef
|
|
|
187
204
|
* Use `create(SwarmEvent_PeerLeftSchema)` to create a new message.
|
|
188
205
|
*/
|
|
189
206
|
export const SwarmEvent_PeerLeftSchema: GenMessage<SwarmEvent_PeerLeft> = /*@__PURE__*/
|
|
190
|
-
messageDesc(file_dxos_edge_signal,
|
|
207
|
+
messageDesc(file_dxos_edge_signal, 4, 1);
|
|
191
208
|
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { type EdgeErrorData, type EdgeHttpFailure } from './edge';
|
|
6
|
+
|
|
7
|
+
export class EdgeCallFailedError extends Error {
|
|
8
|
+
public static fromProcessingFailureCause(cause: Error) {
|
|
9
|
+
return new EdgeCallFailedError({
|
|
10
|
+
reason: 'Error processing request.',
|
|
11
|
+
isRetryable: true,
|
|
12
|
+
cause,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
public static fromHttpFailure(response: Response) {
|
|
17
|
+
return new EdgeCallFailedError({
|
|
18
|
+
reason: `HTTP code ${response.status}: ${response.statusText}.`,
|
|
19
|
+
isRetryable: isRetryableCode(response.status),
|
|
20
|
+
retryAfterMs: getRetryAfterMillis(response),
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
public static fromUnsuccessfulResponse(response: Response, body: EdgeHttpFailure) {
|
|
25
|
+
return new EdgeCallFailedError({
|
|
26
|
+
reason: body.reason,
|
|
27
|
+
errorData: body.errorData,
|
|
28
|
+
isRetryable: body.errorData == null && response.headers.has('Retry-After'),
|
|
29
|
+
retryAfterMs: getRetryAfterMillis(response),
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
readonly reason: string;
|
|
34
|
+
readonly errorData?: EdgeErrorData;
|
|
35
|
+
readonly isRetryable?: boolean;
|
|
36
|
+
readonly retryAfterMs?: number;
|
|
37
|
+
|
|
38
|
+
constructor(args: {
|
|
39
|
+
reason: string;
|
|
40
|
+
isRetryable?: boolean;
|
|
41
|
+
errorData?: EdgeErrorData;
|
|
42
|
+
retryAfterMs?: number;
|
|
43
|
+
cause?: Error;
|
|
44
|
+
}) {
|
|
45
|
+
super(args.reason, { cause: args.cause });
|
|
46
|
+
this.reason = args.reason;
|
|
47
|
+
this.errorData = args.errorData;
|
|
48
|
+
this.retryAfterMs = args.retryAfterMs;
|
|
49
|
+
this.isRetryable = Boolean(args.isRetryable);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export class EdgeAuthChallengeError extends EdgeCallFailedError {
|
|
54
|
+
constructor(
|
|
55
|
+
public readonly challenge: string,
|
|
56
|
+
errorData: EdgeErrorData,
|
|
57
|
+
) {
|
|
58
|
+
super({ reason: 'Auth challenge.', errorData, isRetryable: false });
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const getRetryAfterMillis = (response: Response) => {
|
|
63
|
+
const retryAfter = Number(response.headers.get('Retry-After'));
|
|
64
|
+
return Number.isNaN(retryAfter) || retryAfter === 0 ? undefined : retryAfter * 1000;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
export const createRetryableHttpFailure = (args: { reason: any; retryAfterSeconds: number }) => {
|
|
68
|
+
return new Response(JSON.stringify({ success: false, reason: args.reason }), {
|
|
69
|
+
headers: { 'Retry-After': String(args.retryAfterSeconds) },
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
const isRetryableCode = (status: number) => {
|
|
74
|
+
if (status === 501) {
|
|
75
|
+
// Not Implemented
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
return !(status >= 400 && status < 500);
|
|
79
|
+
};
|
package/src/edge.ts
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
// Copyright 2024 DXOS.org
|
|
3
3
|
//
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { Schema as S } from 'effect';
|
|
6
|
+
|
|
7
|
+
import { SpaceId } from '@dxos/keys';
|
|
6
8
|
|
|
7
9
|
// TODO(burdon): Rename EdgerRouterEndpoint?
|
|
8
10
|
export enum EdgeService {
|
|
@@ -83,6 +85,7 @@ export type RecoverIdentityRequest = {
|
|
|
83
85
|
controlFeedKey: string;
|
|
84
86
|
lookupKey?: string;
|
|
85
87
|
signature?: RecoverIdentitySignature;
|
|
88
|
+
token?: string;
|
|
86
89
|
};
|
|
87
90
|
|
|
88
91
|
export type RecoverIdentityResponseBody = {
|
|
@@ -132,87 +135,43 @@ export type UploadFunctionResponseBody = {
|
|
|
132
135
|
};
|
|
133
136
|
};
|
|
134
137
|
|
|
138
|
+
export type CreateSpaceRequest = {
|
|
139
|
+
agentKey: string;
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
export type CreateSpaceResponseBody = {
|
|
143
|
+
spaceKey: string;
|
|
144
|
+
spaceId: string;
|
|
145
|
+
automergeRoot: string;
|
|
146
|
+
};
|
|
147
|
+
|
|
135
148
|
export enum EdgeAgentStatus {
|
|
136
149
|
ACTIVE = 'active',
|
|
137
150
|
INACTIVE = 'inactive',
|
|
138
151
|
NOT_FOUND = 'not_found',
|
|
139
152
|
}
|
|
140
153
|
|
|
141
|
-
export class EdgeCallFailedError extends Error {
|
|
142
|
-
public static fromProcessingFailureCause(cause: Error) {
|
|
143
|
-
return new EdgeCallFailedError({
|
|
144
|
-
reason: 'Error processing request.',
|
|
145
|
-
isRetryable: true,
|
|
146
|
-
cause,
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
public static fromHttpFailure(response: Response) {
|
|
151
|
-
return new EdgeCallFailedError({
|
|
152
|
-
reason: `HTTP code ${response.status}: ${response.statusText}.`,
|
|
153
|
-
isRetryable: isRetryableCode(response.status),
|
|
154
|
-
retryAfterMs: getRetryAfterMillis(response),
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
public static fromUnsuccessfulResponse(response: Response, body: EdgeHttpFailure) {
|
|
159
|
-
return new EdgeCallFailedError({
|
|
160
|
-
reason: body.reason,
|
|
161
|
-
errorData: body.errorData,
|
|
162
|
-
isRetryable: body.errorData == null && response.headers.has('Retry-After'),
|
|
163
|
-
retryAfterMs: getRetryAfterMillis(response),
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
readonly reason: string;
|
|
168
|
-
readonly errorData?: EdgeErrorData;
|
|
169
|
-
readonly isRetryable?: boolean;
|
|
170
|
-
readonly retryAfterMs?: number;
|
|
171
|
-
|
|
172
|
-
constructor(args: {
|
|
173
|
-
reason: string;
|
|
174
|
-
isRetryable?: boolean;
|
|
175
|
-
errorData?: EdgeErrorData;
|
|
176
|
-
retryAfterMs?: number;
|
|
177
|
-
cause?: Error;
|
|
178
|
-
}) {
|
|
179
|
-
super(args.reason, { cause: args.cause });
|
|
180
|
-
this.reason = args.reason;
|
|
181
|
-
this.errorData = args.errorData;
|
|
182
|
-
this.retryAfterMs = args.retryAfterMs;
|
|
183
|
-
this.isRetryable = Boolean(args.isRetryable);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
export class EdgeAuthChallengeError extends EdgeCallFailedError {
|
|
188
|
-
constructor(
|
|
189
|
-
public readonly challenge: string,
|
|
190
|
-
errorData: EdgeErrorData,
|
|
191
|
-
) {
|
|
192
|
-
super({ reason: 'Auth challenge.', errorData, isRetryable: false });
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
|
|
196
154
|
export type EdgeAuthChallenge = {
|
|
197
155
|
type: 'auth_challenge';
|
|
198
156
|
challenge: string;
|
|
199
157
|
};
|
|
200
158
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
};
|
|
159
|
+
export enum OAuthProvider {
|
|
160
|
+
GOOGLE = 'google',
|
|
161
|
+
}
|
|
205
162
|
|
|
206
|
-
export const
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
163
|
+
export const InitiateOAuthFlowRequestSchema = S.Struct({
|
|
164
|
+
provider: S.Enums(OAuthProvider),
|
|
165
|
+
spaceId: S.String.pipe(S.filter(SpaceId.isValid)),
|
|
166
|
+
accessTokenId: S.String,
|
|
167
|
+
scopes: S.mutable(S.Array(S.String)),
|
|
168
|
+
});
|
|
169
|
+
export type InitiateOAuthFlowRequest = S.Schema.Type<typeof InitiateOAuthFlowRequestSchema>;
|
|
211
170
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
// Not Implemented
|
|
215
|
-
return false;
|
|
216
|
-
}
|
|
217
|
-
return !(status >= 400 && status < 500);
|
|
171
|
+
export type InitiateOAuthFlowResponse = {
|
|
172
|
+
authUrl: string;
|
|
218
173
|
};
|
|
174
|
+
|
|
175
|
+
export type OAuthFlowResult =
|
|
176
|
+
| { success: true; accessToken: string; accessTokenId: string }
|
|
177
|
+
| { success: false; reason: string };
|
package/src/index.ts
CHANGED
|
@@ -144,6 +144,7 @@ message RecoverIdentityRequest {
|
|
|
144
144
|
oneof request {
|
|
145
145
|
string recovery_code = 1;
|
|
146
146
|
ExternalSignature external = 2;
|
|
147
|
+
string token = 3;
|
|
147
148
|
}
|
|
148
149
|
}
|
|
149
150
|
|
|
@@ -433,6 +434,28 @@ message JoinBySpaceKeyRequest {
|
|
|
433
434
|
dxos.keys.PublicKey space_key = 1;
|
|
434
435
|
}
|
|
435
436
|
|
|
437
|
+
message SpaceArchive {
|
|
438
|
+
string filename = 1;
|
|
439
|
+
bytes contents = 2;
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
message ExportSpaceRequest {
|
|
443
|
+
string space_id = 1;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
message ExportSpaceResponse {
|
|
447
|
+
SpaceArchive archive = 1;
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
message ImportSpaceRequest {
|
|
451
|
+
SpaceArchive archive = 1;
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
message ImportSpaceResponse {
|
|
455
|
+
/// the ID of the new space.
|
|
456
|
+
string new_space_id = 1;
|
|
457
|
+
}
|
|
458
|
+
|
|
436
459
|
service SpacesService {
|
|
437
460
|
rpc CreateSpace(google.protobuf.Empty) returns (Space);
|
|
438
461
|
rpc UpdateSpace(UpdateSpaceRequest) returns (google.protobuf.Empty);
|
|
@@ -454,6 +477,9 @@ service SpacesService {
|
|
|
454
477
|
rpc QueryCredentials(QueryCredentialsRequest) returns (stream dxos.halo.credentials.Credential);
|
|
455
478
|
|
|
456
479
|
rpc CreateEpoch(CreateEpochRequest) returns (CreateEpochResponse);
|
|
480
|
+
|
|
481
|
+
rpc ExportSpace(ExportSpaceRequest) returns (ExportSpaceResponse);
|
|
482
|
+
rpc ImportSpace(ImportSpaceRequest) returns (ImportSpaceResponse);
|
|
457
483
|
}
|
|
458
484
|
|
|
459
485
|
//
|
|
@@ -555,6 +581,10 @@ service NetworkService {
|
|
|
555
581
|
rpc QueryStatus(google.protobuf.Empty) returns (stream NetworkStatus);
|
|
556
582
|
rpc JoinSwarm(dxos.edge.signal.JoinRequest) returns (google.protobuf.Empty);
|
|
557
583
|
rpc LeaveSwarm(dxos.edge.signal.LeaveRequest) returns (google.protobuf.Empty);
|
|
584
|
+
/**
|
|
585
|
+
* Query the swarm state without joining it.
|
|
586
|
+
*/
|
|
587
|
+
rpc QuerySwarm(dxos.edge.signal.QueryRequest) returns (dxos.edge.messenger.SwarmResponse);
|
|
558
588
|
rpc SubscribeSwarmState(SubscribeSwarmStateRequest) returns (stream dxos.edge.messenger.SwarmResponse);
|
|
559
589
|
rpc SendMessage(dxos.edge.signal.Message) returns (google.protobuf.Empty);
|
|
560
590
|
rpc SubscribeMessages(dxos.edge.messenger.Peer) returns (stream dxos.edge.signal.Message);
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
syntax = "proto3";
|
|
6
6
|
|
|
7
|
+
import "google/protobuf/any.proto";
|
|
8
|
+
|
|
7
9
|
import "dxos/keys.proto";
|
|
8
10
|
|
|
9
11
|
package dxos.edge.calls;
|
|
@@ -25,22 +27,27 @@ message UserState {
|
|
|
25
27
|
bool speaking = 5;
|
|
26
28
|
bool joined = 6;
|
|
27
29
|
Tracks tracks = 7;
|
|
28
|
-
|
|
30
|
+
map<string, Activity> activities = 8;
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
/**
|
|
32
|
-
*
|
|
34
|
+
* Activity state.
|
|
33
35
|
* It will be merged across all users in the room based on the Lamport timestamp (last one wins).
|
|
34
36
|
*/
|
|
35
|
-
message
|
|
36
|
-
|
|
37
|
+
message Activity {
|
|
38
|
+
LamportTimestamp lamport_timestamp = 1;
|
|
37
39
|
|
|
38
|
-
|
|
40
|
+
google.protobuf.Any payload = 10;
|
|
41
|
+
}
|
|
39
42
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
/**
|
|
44
|
+
* Transcription state.
|
|
45
|
+
*
|
|
46
|
+
* Used to encode/decode the Any payload of a call activity for the transcription plugin.
|
|
47
|
+
*/
|
|
48
|
+
message TranscriptionPayload {
|
|
49
|
+
bool enabled = 1;
|
|
50
|
+
string queue_dxn = 2;
|
|
44
51
|
}
|
|
45
52
|
|
|
46
53
|
/**
|
|
@@ -622,6 +622,7 @@ export interface RequestRecoveryChallengeResponse {
|
|
|
622
622
|
export interface RecoverIdentityRequest {
|
|
623
623
|
recoveryCode?: string;
|
|
624
624
|
external?: RecoverIdentityRequest.ExternalSignature;
|
|
625
|
+
token?: string;
|
|
625
626
|
}
|
|
626
627
|
export namespace RecoverIdentityRequest {
|
|
627
628
|
/**
|
|
@@ -1170,6 +1171,45 @@ export interface JoinSpaceResponse {
|
|
|
1170
1171
|
export interface JoinBySpaceKeyRequest {
|
|
1171
1172
|
spaceKey: ReturnType<(typeof substitutions)["dxos.keys.PublicKey"]["decode"]>;
|
|
1172
1173
|
}
|
|
1174
|
+
/**
|
|
1175
|
+
* Defined in:
|
|
1176
|
+
* {@link file://./../../../dxos/client/services.proto}
|
|
1177
|
+
*/
|
|
1178
|
+
export interface SpaceArchive {
|
|
1179
|
+
filename: string;
|
|
1180
|
+
contents: Uint8Array;
|
|
1181
|
+
}
|
|
1182
|
+
/**
|
|
1183
|
+
* Defined in:
|
|
1184
|
+
* {@link file://./../../../dxos/client/services.proto}
|
|
1185
|
+
*/
|
|
1186
|
+
export interface ExportSpaceRequest {
|
|
1187
|
+
spaceId: string;
|
|
1188
|
+
}
|
|
1189
|
+
/**
|
|
1190
|
+
* Defined in:
|
|
1191
|
+
* {@link file://./../../../dxos/client/services.proto}
|
|
1192
|
+
*/
|
|
1193
|
+
export interface ExportSpaceResponse {
|
|
1194
|
+
archive: SpaceArchive;
|
|
1195
|
+
}
|
|
1196
|
+
/**
|
|
1197
|
+
* Defined in:
|
|
1198
|
+
* {@link file://./../../../dxos/client/services.proto}
|
|
1199
|
+
*/
|
|
1200
|
+
export interface ImportSpaceRequest {
|
|
1201
|
+
archive: SpaceArchive;
|
|
1202
|
+
}
|
|
1203
|
+
/**
|
|
1204
|
+
* Defined in:
|
|
1205
|
+
* {@link file://./../../../dxos/client/services.proto}
|
|
1206
|
+
*/
|
|
1207
|
+
export interface ImportSpaceResponse {
|
|
1208
|
+
/**
|
|
1209
|
+
* the ID of the new space.
|
|
1210
|
+
*/
|
|
1211
|
+
newSpaceId: string;
|
|
1212
|
+
}
|
|
1173
1213
|
/**
|
|
1174
1214
|
* Defined in:
|
|
1175
1215
|
* {@link file://./../../../dxos/client/services.proto}
|
|
@@ -1198,6 +1238,8 @@ export interface SpacesService {
|
|
|
1198
1238
|
*/
|
|
1199
1239
|
queryCredentials: (request: QueryCredentialsRequest, options?: RequestOptions) => Stream<dxos_halo_credentials.Credential>;
|
|
1200
1240
|
createEpoch: (request: CreateEpochRequest, options?: RequestOptions) => Promise<CreateEpochResponse>;
|
|
1241
|
+
exportSpace: (request: ExportSpaceRequest, options?: RequestOptions) => Promise<ExportSpaceResponse>;
|
|
1242
|
+
importSpace: (request: ImportSpaceRequest, options?: RequestOptions) => Promise<ImportSpaceResponse>;
|
|
1201
1243
|
}
|
|
1202
1244
|
/**
|
|
1203
1245
|
* Defined in:
|
|
@@ -1336,6 +1378,10 @@ export interface NetworkService {
|
|
|
1336
1378
|
queryStatus: (request: void, options?: RequestOptions) => Stream<NetworkStatus>;
|
|
1337
1379
|
joinSwarm: (request: dxos_edge_signal.JoinRequest, options?: RequestOptions) => Promise<void>;
|
|
1338
1380
|
leaveSwarm: (request: dxos_edge_signal.LeaveRequest, options?: RequestOptions) => Promise<void>;
|
|
1381
|
+
/**
|
|
1382
|
+
* Query the swarm state without joining it.
|
|
1383
|
+
*/
|
|
1384
|
+
querySwarm: (request: dxos_edge_signal.QueryRequest, options?: RequestOptions) => Promise<dxos_edge_messenger.SwarmResponse>;
|
|
1339
1385
|
subscribeSwarmState: (request: SubscribeSwarmStateRequest, options?: RequestOptions) => Stream<dxos_edge_messenger.SwarmResponse>;
|
|
1340
1386
|
sendMessage: (request: dxos_edge_signal.Message, options?: RequestOptions) => Promise<void>;
|
|
1341
1387
|
subscribeMessages: (request: dxos_edge_messenger.Peer, options?: RequestOptions) => Stream<dxos_edge_signal.Message>;
|
|
@@ -117,25 +117,29 @@ export interface UserState {
|
|
|
117
117
|
speaking: boolean;
|
|
118
118
|
joined: boolean;
|
|
119
119
|
tracks: Tracks;
|
|
120
|
-
|
|
121
|
-
* Options:
|
|
122
|
-
* - proto3_optional = true
|
|
123
|
-
*/
|
|
124
|
-
transcription?: Transcription;
|
|
120
|
+
activities?: Partial<Record<string, Activity>>;
|
|
125
121
|
}
|
|
126
122
|
/**
|
|
127
|
-
*
|
|
123
|
+
* Activity state.
|
|
128
124
|
* It will be merged across all users in the room based on the Lamport timestamp (last one wins).
|
|
129
125
|
*
|
|
130
126
|
* Defined in:
|
|
131
127
|
* {@link file://./../../../dxos/edge/calls.proto}
|
|
132
128
|
*/
|
|
133
|
-
export interface
|
|
134
|
-
enabled: boolean;
|
|
129
|
+
export interface Activity {
|
|
135
130
|
lamportTimestamp: LamportTimestamp;
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
131
|
+
payload: ReturnType<(typeof substitutions)["google.protobuf.Any"]["decode"]>;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Transcription state.
|
|
135
|
+
*
|
|
136
|
+
* Used to encode/decode the Any payload of a call activity for the transcription plugin.
|
|
137
|
+
*
|
|
138
|
+
* Defined in:
|
|
139
|
+
* {@link file://./../../../dxos/edge/calls.proto}
|
|
140
|
+
*/
|
|
141
|
+
export interface TranscriptionPayload {
|
|
142
|
+
enabled: boolean;
|
|
139
143
|
queueDxn: string;
|
|
140
144
|
}
|
|
141
145
|
/**
|
|
@@ -81,6 +81,13 @@ export interface LeaveRequest {
|
|
|
81
81
|
topic: ReturnType<(typeof substitutions)["dxos.keys.PublicKey"]["decode"]>;
|
|
82
82
|
peer: dxos_edge_messenger.Peer;
|
|
83
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* Defined in:
|
|
86
|
+
* {@link file://./../../../dxos/edge/signal.proto}
|
|
87
|
+
*/
|
|
88
|
+
export interface QueryRequest {
|
|
89
|
+
topic: ReturnType<(typeof substitutions)["dxos.keys.PublicKey"]["decode"]>;
|
|
90
|
+
}
|
|
84
91
|
/**
|
|
85
92
|
* Defined in:
|
|
86
93
|
* {@link file://./../../../dxos/edge/signal.proto}
|