@dxos/edge-client 0.8.4-main.b97322e → 0.8.4-main.bc674ce
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/lib/browser/{chunk-LMP5TVOP.mjs → chunk-VESGVCLQ.mjs} +8 -4
- package/dist/lib/browser/{chunk-LMP5TVOP.mjs.map → chunk-VESGVCLQ.mjs.map} +3 -3
- package/dist/lib/browser/edge-ws-muxer.mjs +1 -1
- package/dist/lib/browser/index.mjs +561 -289
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +1 -1
- package/dist/lib/browser/testing/index.mjs.map +2 -2
- package/dist/lib/node-esm/{chunk-X7J46ISZ.mjs → chunk-JTBFRYNM.mjs} +8 -4
- package/dist/lib/node-esm/{chunk-X7J46ISZ.mjs.map → chunk-JTBFRYNM.mjs.map} +3 -3
- package/dist/lib/node-esm/edge-ws-muxer.mjs +1 -1
- package/dist/lib/node-esm/index.mjs +561 -289
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +1 -1
- package/dist/lib/node-esm/testing/index.mjs.map +2 -2
- package/dist/types/src/edge-client.d.ts +15 -15
- package/dist/types/src/edge-client.d.ts.map +1 -1
- package/dist/types/src/edge-http-client.d.ts +29 -4
- package/dist/types/src/edge-http-client.d.ts.map +1 -1
- package/dist/types/src/edge-ws-connection.d.ts +19 -0
- package/dist/types/src/edge-ws-connection.d.ts.map +1 -1
- package/dist/types/src/edge-ws-muxer.d.ts.map +1 -1
- package/dist/types/src/http-client.d.ts +10 -7
- package/dist/types/src/http-client.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +4 -3
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/testing/test-utils.d.ts +3 -3
- package/dist/types/src/testing/test-utils.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +25 -17
- package/src/edge-client.test.ts +4 -4
- package/src/edge-client.ts +73 -42
- package/src/edge-http-client.test.ts +1 -1
- package/src/edge-http-client.ts +202 -42
- package/src/edge-ws-connection.ts +119 -6
- package/src/edge-ws-muxer.ts +1 -1
- package/src/http-client.test.ts +11 -7
- package/src/http-client.ts +18 -8
- package/src/index.ts +4 -3
- package/src/testing/test-utils.ts +8 -8
- package/src/websocket.test.ts +1 -1
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import { Event } from '@dxos/async';
|
|
2
|
-
import {
|
|
2
|
+
import { type Lifecycle, Resource } from '@dxos/context';
|
|
3
3
|
import { type Message } from '@dxos/protocols/buf/dxos/edge/messenger_pb';
|
|
4
4
|
import { EdgeStatus } from '@dxos/protocols/proto/dxos/client/services';
|
|
5
5
|
import { type EdgeIdentity } from './edge-identity';
|
|
6
6
|
import { type Protocol } from './protocol';
|
|
7
7
|
export type MessageListener = (message: Message) => void;
|
|
8
8
|
export type ReconnectListener = () => void;
|
|
9
|
+
export type MessengerConfig = {
|
|
10
|
+
socketEndpoint: string;
|
|
11
|
+
timeout?: number;
|
|
12
|
+
protocol?: Protocol;
|
|
13
|
+
disableAuth?: boolean;
|
|
14
|
+
};
|
|
9
15
|
export interface EdgeConnection extends Required<Lifecycle> {
|
|
10
16
|
statusChanged: Event<EdgeStatus>;
|
|
11
17
|
get info(): any;
|
|
@@ -14,16 +20,10 @@ export interface EdgeConnection extends Required<Lifecycle> {
|
|
|
14
20
|
get isOpen(): boolean;
|
|
15
21
|
get status(): EdgeStatus;
|
|
16
22
|
setIdentity(identity: EdgeIdentity): void;
|
|
23
|
+
send(message: Message): Promise<void>;
|
|
17
24
|
onMessage(listener: MessageListener): () => void;
|
|
18
25
|
onReconnected(listener: ReconnectListener): () => void;
|
|
19
|
-
send(message: Message): Promise<void>;
|
|
20
26
|
}
|
|
21
|
-
export type MessengerConfig = {
|
|
22
|
-
socketEndpoint: string;
|
|
23
|
-
timeout?: number;
|
|
24
|
-
protocol?: Protocol;
|
|
25
|
-
disableAuth?: boolean;
|
|
26
|
-
};
|
|
27
27
|
/**
|
|
28
28
|
* Messenger client for EDGE:
|
|
29
29
|
* - While open, uses PersistentLifecycle to keep an open EdgeWsConnection, reconnecting on failures.
|
|
@@ -52,8 +52,13 @@ export declare class EdgeClient extends Resource implements EdgeConnection {
|
|
|
52
52
|
get identityKey(): string;
|
|
53
53
|
get peerKey(): string;
|
|
54
54
|
setIdentity(identity: EdgeIdentity): void;
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
/**
|
|
56
|
+
* Send message.
|
|
57
|
+
* NOTE: The message is guaranteed to be delivered but the service must respond with a message to confirm processing.
|
|
58
|
+
*/
|
|
59
|
+
send(message: Message): Promise<void>;
|
|
60
|
+
onMessage(listener: MessageListener): () => boolean;
|
|
61
|
+
onReconnected(listener: () => void): () => boolean;
|
|
57
62
|
/**
|
|
58
63
|
* Open connection to messaging service.
|
|
59
64
|
*/
|
|
@@ -67,11 +72,6 @@ export declare class EdgeClient extends Resource implements EdgeConnection {
|
|
|
67
72
|
private _closeCurrentConnection;
|
|
68
73
|
private _notifyReconnected;
|
|
69
74
|
private _notifyMessageReceived;
|
|
70
|
-
/**
|
|
71
|
-
* Send message.
|
|
72
|
-
* NOTE: The message is guaranteed to be delivered but the service must respond with a message to confirm processing.
|
|
73
|
-
*/
|
|
74
|
-
send(message: Message): Promise<void>;
|
|
75
75
|
private _createAuthHeader;
|
|
76
76
|
private _isActive;
|
|
77
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge-client.d.ts","sourceRoot":"","sources":["../../../src/edge-client.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"edge-client.d.ts","sourceRoot":"","sources":["../../../src/edge-client.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,EAMN,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAGxE,OAAO,EAAE,KAAK,YAAY,EAAuB,MAAM,iBAAiB,CAAC;AAGzE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQ3C,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AACzD,MAAM,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC;AAE3C,MAAM,MAAM,eAAe,GAAG;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,cAAe,SAAQ,QAAQ,CAAC,SAAS,CAAC;IACzD,aAAa,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACjC,IAAI,IAAI,IAAI,GAAG,CAAC;IAChB,IAAI,WAAW,IAAI,MAAM,CAAC;IAC1B,IAAI,OAAO,IAAI,MAAM,CAAC;IACtB,IAAI,MAAM,IAAI,OAAO,CAAC;IACtB,IAAI,MAAM,IAAI,UAAU,CAAC;IACzB,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1C,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,IAAI,CAAC;IACjD,aAAa,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,IAAI,CAAC;CACxD;AAED;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,QAAS,YAAW,cAAc;IAgB9D,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAhB1B,SAAgB,aAAa,oBAA2B;IAExD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAGlC;IAEH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA8B;IAChE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAgC;IACpE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,kBAAkB,CAAC,CAA+B;IAC1D,OAAO,CAAC,MAAM,CAAiB;gBAGrB,SAAS,EAAE,YAAY,EACd,OAAO,EAAE,eAAe;IAO3C,IACW,IAAI;;;;;MAOd;IAED,IAAI,MAAM,IAAI,UAAU,CAavB;IAED,IAAI,WAAW,WAEd;IAED,IAAI,OAAO,WAEV;IAED,WAAW,CAAC,QAAQ,EAAE,YAAY;IASlC;;;OAGG;IACU,IAAI,CAAC,OAAO,EAAE,OAAO;IAoB3B,SAAS,CAAC,QAAQ,EAAE,eAAe;IAKnC,aAAa,CAAC,QAAQ,EAAE,MAAM,IAAI;IAmBzC;;OAEG;cACsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB/C;;OAEG;cACsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;YAMlC,QAAQ;YA0DR,WAAW;IAKzB,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,sBAAsB;YAUhB,iBAAiB;IAY/B,OAAO,CAAC,SAAS,CAA4E;CAC9F"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Context } from '@dxos/context';
|
|
2
2
|
import { type PublicKey, type SpaceId } from '@dxos/keys';
|
|
3
|
-
import { type
|
|
3
|
+
import { type CreateAgentRequestBody, type CreateAgentResponseBody, type CreateSpaceRequest, type CreateSpaceResponseBody, type EdgeStatus, type ExecuteWorkflowResponseBody, type ExportBundleRequest, type ExportBundleResponse, type GetAgentStatusResponseBody, type GetNotarizationResponseBody, type ImportBundleRequest, type InitiateOAuthFlowRequest, type InitiateOAuthFlowResponse, type JoinSpaceRequest, type JoinSpaceResponseBody, type ObjectId, type PostNotarizationRequestBody, type QueryResult, type QueueQuery, type RecoverIdentityRequest, type RecoverIdentityResponseBody, type UploadFunctionRequest, type UploadFunctionResponseBody } from '@dxos/protocols';
|
|
4
4
|
import { type EdgeIdentity } from './edge-identity';
|
|
5
5
|
export type RetryConfig = {
|
|
6
6
|
/**
|
|
@@ -21,9 +21,22 @@ type EdgeHttpRequestArgs = {
|
|
|
21
21
|
context?: Context;
|
|
22
22
|
retry?: RetryConfig;
|
|
23
23
|
body?: any;
|
|
24
|
+
/**
|
|
25
|
+
* @default true
|
|
26
|
+
*/
|
|
27
|
+
json?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Force authentication.
|
|
30
|
+
* This should be used for requests with large bodies to avoid sending the body twice.
|
|
31
|
+
* The client will call /auth endpoint to generate the auth header.
|
|
32
|
+
*/
|
|
33
|
+
auth?: boolean;
|
|
34
|
+
};
|
|
35
|
+
export type EdgeHttpGetArgs = Pick<EdgeHttpRequestArgs, 'context' | 'retry' | 'auth'>;
|
|
36
|
+
export type EdgeHttpPostArgs = Pick<EdgeHttpRequestArgs, 'context' | 'retry' | 'body' | 'auth'>;
|
|
37
|
+
export type GetCronTriggersResponse = {
|
|
38
|
+
cronIds: string[];
|
|
24
39
|
};
|
|
25
|
-
export type EdgeHttpGetArgs = Pick<EdgeHttpRequestArgs, 'context' | 'retry'>;
|
|
26
|
-
export type EdgeHttpPostArgs = Pick<EdgeHttpRequestArgs, 'context' | 'retry' | 'body'>;
|
|
27
40
|
export declare class EdgeHttpClient {
|
|
28
41
|
private readonly _baseUrl;
|
|
29
42
|
private _edgeIdentity;
|
|
@@ -43,7 +56,6 @@ export declare class EdgeHttpClient {
|
|
|
43
56
|
notarizeCredentials(spaceId: SpaceId, body: PostNotarizationRequestBody, args?: EdgeHttpGetArgs): Promise<void>;
|
|
44
57
|
recoverIdentity(body: RecoverIdentityRequest, args?: EdgeHttpGetArgs): Promise<RecoverIdentityResponseBody>;
|
|
45
58
|
joinSpaceByInvitation(spaceId: SpaceId, body: JoinSpaceRequest, args?: EdgeHttpGetArgs): Promise<JoinSpaceResponseBody>;
|
|
46
|
-
listFunctions(args?: EdgeHttpGetArgs): Promise<any>;
|
|
47
59
|
initiateOAuthFlow(body: InitiateOAuthFlowRequest, args?: EdgeHttpGetArgs): Promise<InitiateOAuthFlowResponse>;
|
|
48
60
|
createSpace(body: CreateSpaceRequest, args?: EdgeHttpGetArgs): Promise<CreateSpaceResponseBody>;
|
|
49
61
|
queryQueue(subspaceTag: string, spaceId: SpaceId, query: QueueQuery, args?: EdgeHttpGetArgs): Promise<QueryResult>;
|
|
@@ -52,7 +64,20 @@ export declare class EdgeHttpClient {
|
|
|
52
64
|
uploadFunction(pathParts: {
|
|
53
65
|
functionId?: string;
|
|
54
66
|
}, body: UploadFunctionRequest, args?: EdgeHttpGetArgs): Promise<UploadFunctionResponseBody>;
|
|
67
|
+
listFunctions(args?: EdgeHttpGetArgs): Promise<any>;
|
|
68
|
+
invokeFunction(params: {
|
|
69
|
+
functionId: string;
|
|
70
|
+
version?: string;
|
|
71
|
+
spaceId?: SpaceId;
|
|
72
|
+
cpuTimeLimit?: number;
|
|
73
|
+
subrequestsLimit?: number;
|
|
74
|
+
}, input: unknown, args?: EdgeHttpGetArgs): Promise<any>;
|
|
55
75
|
executeWorkflow(spaceId: SpaceId, graphId: ObjectId, input: any, args?: EdgeHttpGetArgs): Promise<ExecuteWorkflowResponseBody>;
|
|
76
|
+
getCronTriggers(spaceId: SpaceId): Promise<GetCronTriggersResponse>;
|
|
77
|
+
forceRunCronTrigger(spaceId: SpaceId, triggerId: ObjectId): Promise<unknown>;
|
|
78
|
+
importBundle(spaceId: SpaceId, //
|
|
79
|
+
body: ImportBundleRequest, args?: EdgeHttpGetArgs): Promise<void>;
|
|
80
|
+
exportBundle(spaceId: SpaceId, body: ExportBundleRequest, args?: EdgeHttpGetArgs): Promise<ExportBundleResponse>;
|
|
56
81
|
private _fetch;
|
|
57
82
|
private _call;
|
|
58
83
|
private _handleUnauthorized;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge-http-client.d.ts","sourceRoot":"","sources":["../../../src/edge-http-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"edge-http-client.d.ts","sourceRoot":"","sources":["../../../src/edge-http-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,16 @@ export declare class EdgeWsConnection extends Resource {
|
|
|
14
14
|
private _ws;
|
|
15
15
|
private _wsMuxer;
|
|
16
16
|
private _lastReceivedMessageTimestamp;
|
|
17
|
+
private _openTimestamp;
|
|
18
|
+
private _pingTimestamp;
|
|
19
|
+
private _rtt;
|
|
20
|
+
private _uploadRate;
|
|
21
|
+
private _downloadRate;
|
|
22
|
+
private readonly _rateWindow;
|
|
23
|
+
private readonly _rateUpdateInterval;
|
|
24
|
+
private _bytesSamples;
|
|
25
|
+
private _messagesSent;
|
|
26
|
+
private _messagesReceived;
|
|
17
27
|
constructor(_identity: EdgeIdentity, _connectionInfo: {
|
|
18
28
|
url: URL;
|
|
19
29
|
protocolHeader?: string;
|
|
@@ -23,10 +33,19 @@ export declare class EdgeWsConnection extends Resource {
|
|
|
23
33
|
identity: string;
|
|
24
34
|
device: string;
|
|
25
35
|
};
|
|
36
|
+
get rtt(): number;
|
|
37
|
+
get uptime(): number;
|
|
38
|
+
get uploadRate(): number;
|
|
39
|
+
get downloadRate(): number;
|
|
40
|
+
get messagesSent(): number;
|
|
41
|
+
get messagesReceived(): number;
|
|
26
42
|
send(message: Message): void;
|
|
27
43
|
protected _open(): Promise<void>;
|
|
28
44
|
protected _close(): Promise<void>;
|
|
29
45
|
private _scheduleHeartbeats;
|
|
30
46
|
private _rescheduleHeartbeatTimeout;
|
|
47
|
+
private _recordBytes;
|
|
48
|
+
private _scheduleRateCalculation;
|
|
49
|
+
private _calculateRates;
|
|
31
50
|
}
|
|
32
51
|
//# sourceMappingURL=edge-ws-connection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge-ws-connection.d.ts","sourceRoot":"","sources":["../../../src/edge-ws-connection.ts"],"names":[],"mappings":"AAOA,OAAO,EAAW,QAAQ,EAAE,MAAM,eAAe,CAAC;AAKlD,OAAO,
|
|
1
|
+
{"version":3,"file":"edge-ws-connection.d.ts","sourceRoot":"","sources":["../../../src/edge-ws-connection.ts"],"names":[],"mappings":"AAOA,OAAO,EAAW,QAAQ,EAAE,MAAM,eAAe,CAAC;AAKlD,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,4CAA4C,CAAC;AAGzF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAOpD,MAAM,MAAM,yBAAyB,GAAG;IACtC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,iBAAiB,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,QAAQ;IAuB1C,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAxB7B,OAAO,CAAC,qBAAqB,CAAsB;IACnD,OAAO,CAAC,GAAG,CAAwB;IACnC,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,6BAA6B,CAAc;IAEnD,OAAO,CAAC,cAAc,CAAqB;IAG3C,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,IAAI,CAAK;IAGjB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAC5C,OAAO,CAAC,aAAa,CAAoE;IAEzF,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,iBAAiB,CAAK;gBAGX,SAAS,EAAE,YAAY,EACvB,eAAe,EAAE;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,EACtD,UAAU,EAAE,yBAAyB;IAKxD,IACW,IAAI;;;;MAMd;IAED,IAAW,GAAG,IAAI,MAAM,CAEvB;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,IAAW,YAAY,IAAI,MAAM,CAEhC;IAED,IAAW,gBAAgB,IAAI,MAAM,CAEpC;IAEM,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;cAyBV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cA0EtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBhD,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,2BAA2B;IAwBnC,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,eAAe;CA4BxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edge-ws-muxer.d.ts","sourceRoot":"","sources":["../../../src/edge-ws-muxer.ts"],"names":[],"mappings":"AAOA,OAAO,
|
|
1
|
+
{"version":3,"file":"edge-ws-muxer.d.ts","sourceRoot":"","sources":["../../../src/edge-ws-muxer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,4CAA4C,CAAC;AAkBzF;;GAEG;AACH,eAAO,MAAM,4BAA4B,QAAc,CAAC;AACxD,eAAO,MAAM,wBAAwB,QAAmB,CAAC;AAMzD,qBAAa,cAAc;IAUvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IATtB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA+B;IACrE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqC;IACvE,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAA6B;IAEzE,OAAO,CAAC,YAAY,CAAkB;IAEtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;gBAGtB,GAAG,EAAE,eAAe,EACrC,MAAM,CAAC,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE;IAKrC;;OAEG;IACU,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgD3C,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS;IAuBlD,OAAO,IAAI,IAAI;IAatB,OAAO,CAAC,oBAAoB;IA0C5B,OAAO,CAAC,eAAe;CAWxB;AAED,KAAK,eAAe,GAAG;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,OAAO,EAAE,CAAC,WAAW,GAAG,eAAe,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;CAC/D,CAAC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
1
|
+
import type * as HttpClient from '@effect/platform/HttpClient';
|
|
2
|
+
import type * as HttpClientError from '@effect/platform/HttpClientError';
|
|
3
|
+
import type * as HttpClientResponse from '@effect/platform/HttpClientResponse';
|
|
4
|
+
import * as Context from 'effect/Context';
|
|
5
|
+
import * as Duration from 'effect/Duration';
|
|
6
|
+
import * as Effect from 'effect/Effect';
|
|
7
|
+
import * as Layer from 'effect/Layer';
|
|
5
8
|
export type RetryOptions = {
|
|
6
9
|
timeout: Duration.Duration;
|
|
7
10
|
retryTimes: number;
|
|
@@ -11,9 +14,9 @@ declare const HttpConfig_base: Context.TagClass<HttpConfig, "HttpConfig", RetryO
|
|
|
11
14
|
export declare class HttpConfig extends HttpConfig_base {
|
|
12
15
|
static default: Layer.Layer<HttpConfig, never, never>;
|
|
13
16
|
}
|
|
14
|
-
export declare const withRetry: (effect: Effect.Effect<HttpClientResponse, HttpClientError, HttpClient.HttpClient>, { timeout, retryBaseDelay, retryTimes, }?: Partial<RetryOptions>) => Effect.Effect<unknown, Error | HttpClientError | import("effect/Cause").TimeoutException, HttpClient.HttpClient>;
|
|
15
|
-
export declare const withRetryConfig: (effect: Effect.Effect<HttpClientResponse, HttpClientError, HttpClient.HttpClient>) => Effect.Effect<unknown, Error | HttpClientError, HttpConfig | HttpClient.HttpClient>;
|
|
16
|
-
export declare const withLogging: <A extends HttpClientResponse, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
|
|
17
|
+
export declare const withRetry: (effect: Effect.Effect<HttpClientResponse.HttpClientResponse, HttpClientError.HttpClientError, HttpClient.HttpClient>, { timeout, retryBaseDelay, retryTimes, }?: Partial<RetryOptions>) => Effect.Effect<unknown, Error | HttpClientError.HttpClientError | import("effect/Cause").TimeoutException, HttpClient.HttpClient>;
|
|
18
|
+
export declare const withRetryConfig: (effect: Effect.Effect<HttpClientResponse.HttpClientResponse, HttpClientError.HttpClientError, HttpClient.HttpClient>) => Effect.Effect<unknown, Error | HttpClientError.HttpClientError, HttpConfig | HttpClient.HttpClient>;
|
|
19
|
+
export declare const withLogging: <A extends HttpClientResponse.HttpClientResponse, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
|
|
17
20
|
/**
|
|
18
21
|
*
|
|
19
22
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/http-client.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/http-client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,KAAK,eAAe,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,KAAK,kBAAkB,MAAM,qCAAqC,CAAC;AAC/E,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAOtC,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC;CACnC,CAAC;;AAGF,qBAAa,UAAW,SAAQ,eAAqD;IACnF,MAAM,CAAC,OAAO,wCAIX;CACJ;AAGD,eAAO,MAAM,SAAS,GACpB,QAAQ,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,eAAe,CAAC,eAAe,EAAE,UAAU,CAAC,UAAU,CAAC,EACpH,2CAIG,OAAO,CAAC,YAAY,CAAM,qIAa9B,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,eAAe,CAAC,eAAe,EAAE,UAAU,CAAC,UAAU,CAAC,wGAKlH,CAAC;AAEL,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,kBAAkB,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,2BAK9G,CAAC;AAEJ;;GAEG;AAEH,eAAO,MAAM,gBAAgB,GAAI,WAAW,UAAU,WAGrD,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export * from '@dxos/protocols/buf/dxos/edge/messenger_pb';
|
|
2
|
-
export * from './
|
|
2
|
+
export * from './auth';
|
|
3
3
|
export * from './defs';
|
|
4
|
-
export * from './
|
|
4
|
+
export * from './edge-client';
|
|
5
5
|
export * from './errors';
|
|
6
|
-
export * from './
|
|
6
|
+
export * from './protocol';
|
|
7
7
|
export * from './edge-http-client';
|
|
8
8
|
export * from './edge-identity';
|
|
9
9
|
export * from './edge-ws-muxer';
|
|
10
|
+
export * from './http-client';
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,4CAA4C,CAAC;AAE3D,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,4CAA4C,CAAC;AAE3D,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC"}
|
|
@@ -3,13 +3,13 @@ import { Trigger } from '@dxos/async';
|
|
|
3
3
|
import { type Message } from '@dxos/protocols/buf/dxos/edge/messenger_pb';
|
|
4
4
|
import { WebSocketMuxer } from '../edge-ws-muxer';
|
|
5
5
|
export declare const DEFAULT_PORT = 8080;
|
|
6
|
-
type
|
|
6
|
+
type TestEdgeWsServerProps = {
|
|
7
7
|
admitConnection?: Trigger;
|
|
8
8
|
payloadDecoder?: (payload: Uint8Array) => any;
|
|
9
9
|
messageHandler?: (payload: any) => Promise<Uint8Array | undefined>;
|
|
10
10
|
};
|
|
11
|
-
export declare const createTestEdgeWsServer: (port?: number, params?:
|
|
12
|
-
server: WebSocket.Server
|
|
11
|
+
export declare const createTestEdgeWsServer: (port?: number, params?: TestEdgeWsServerProps) => Promise<{
|
|
12
|
+
server: WebSocket.Server<typeof WebSocket, typeof import("http").IncomingMessage>;
|
|
13
13
|
messageSink: any[];
|
|
14
14
|
messageSourceLog: any[];
|
|
15
15
|
endpoint: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-utils.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAItC,OAAO,
|
|
1
|
+
{"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../../../src/testing/test-utils.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAItC,OAAO,EAAE,KAAK,OAAO,EAAoC,MAAM,4CAA4C,CAAC;AAG5G,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlD,eAAO,MAAM,YAAY,OAAO,CAAC;AAEjC,KAAK,qBAAqB,GAAG;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,GAAG,CAAC;IAC9C,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;CACpE,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAU,aAAmB,EAAE,SAAS,qBAAqB;;;;;;;YAOxE,SAAS;eAAS,cAAc;;mCAwErC,OAAO,mBAAmB,UAAU;uBA1BhC,OAAO;;EAS7B,CAAC"}
|