@covenant-rpc/server 0.3.0 → 0.5.0
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/adapters/vanilla.d.ts +3 -0
- package/dist/adapters/vanilla.d.ts.map +1 -0
- package/dist/adapters/vanilla.js +7 -0
- package/dist/adapters/vanilla.js.map +1 -0
- package/{index.ts → dist/index.d.ts} +1 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/direct.d.ts +4 -0
- package/dist/interfaces/direct.d.ts.map +1 -0
- package/dist/interfaces/direct.js +98 -0
- package/dist/interfaces/direct.js.map +1 -0
- package/dist/interfaces/empty.d.ts +3 -0
- package/dist/interfaces/empty.d.ts.map +1 -0
- package/dist/interfaces/empty.js +8 -0
- package/dist/interfaces/empty.js.map +1 -0
- package/dist/interfaces/http.d.ts +4 -0
- package/dist/interfaces/http.d.ts.map +1 -0
- package/dist/interfaces/http.js +92 -0
- package/dist/interfaces/http.js.map +1 -0
- package/dist/interfaces/mock.d.ts +4 -0
- package/dist/interfaces/mock.d.ts.map +1 -0
- package/dist/interfaces/mock.js +28 -0
- package/dist/interfaces/mock.js.map +1 -0
- package/dist/logger.d.ts +16 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +60 -0
- package/dist/logger.js.map +1 -0
- package/dist/server.d.ts +46 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +342 -0
- package/dist/server.js.map +1 -0
- package/dist/sidekick/handlers.d.ts +15 -0
- package/dist/sidekick/handlers.d.ts.map +1 -0
- package/dist/sidekick/handlers.js +143 -0
- package/dist/sidekick/handlers.js.map +1 -0
- package/dist/sidekick/index.d.ts +33 -0
- package/dist/sidekick/index.d.ts.map +1 -0
- package/dist/sidekick/index.js +72 -0
- package/dist/sidekick/index.js.map +1 -0
- package/dist/sidekick/socket.d.ts +4 -0
- package/dist/sidekick/socket.d.ts.map +1 -0
- package/dist/sidekick/socket.js +5 -0
- package/dist/sidekick/socket.js.map +1 -0
- package/package.json +23 -6
- package/adapters/vanilla.ts +0 -9
- package/interfaces/direct.ts +0 -116
- package/interfaces/empty.ts +0 -9
- package/interfaces/http.ts +0 -111
- package/interfaces/mock.ts +0 -33
- package/logger.ts +0 -79
- package/server.ts +0 -454
- package/sidekick/handlers.ts +0 -173
- package/sidekick/index.ts +0 -109
- package/sidekick/socket.ts +0 -5
- package/tests/channel-http.test.ts +0 -483
- package/tests/channel.test.ts +0 -689
- package/tests/procedure.test.ts +0 -238
- package/tests/sidekick.test.ts +0 -23
- package/tests/validation-types.test.ts +0 -122
- package/tests/validation.test.ts +0 -144
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vanilla.d.ts","sourceRoot":"","sources":["../../adapters/vanilla.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IACzD,SAAS,OAAO,uBAI/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vanilla.js","sourceRoot":"","sources":["../../adapters/vanilla.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,cAAc,CAAC,MAA0C;IACvE,OAAO,KAAK,EAAE,OAAgB,EAAE,EAAE;QAChC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,GAAG,CAAC;IACb,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -5,6 +5,5 @@ export { Sidekick, type SidekickClient } from "./sidekick";
|
|
|
5
5
|
export { httpServerToSidekick, httpSidekickToServer } from "./interfaces/http";
|
|
6
6
|
export { emptyServerToSidekick } from "./interfaces/empty";
|
|
7
7
|
export { directClientToServer } from "./interfaces/direct";
|
|
8
|
-
|
|
9
|
-
// Re-export types from core for convenience
|
|
10
8
|
export type { LoggerLevel, Prefix } from "@covenant-rpc/core/logger";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { CovenantServer } from "./server";
|
|
2
|
+
export { Logger } from "./logger";
|
|
3
|
+
export { vanillaAdapter } from "./adapters/vanilla";
|
|
4
|
+
export { Sidekick } from "./sidekick";
|
|
5
|
+
export { httpServerToSidekick, httpSidekickToServer } from "./interfaces/http";
|
|
6
|
+
export { emptyServerToSidekick } from "./interfaces/empty";
|
|
7
|
+
export { directClientToServer } from "./interfaces/direct";
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAuB,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ClientToServerConnection } from "@covenant-rpc/core/interfaces";
|
|
2
|
+
import type { CovenantServer } from "../server";
|
|
3
|
+
export declare function directClientToServer(server: CovenantServer<any, any, any, any>, extraHeaders: Record<string, string>): ClientToServerConnection;
|
|
4
|
+
//# sourceMappingURL=direct.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct.d.ts","sourceRoot":"","sources":["../../interfaces/direct.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAA0D,MAAM,+BAA+B,CAAC;AAEtI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAOhD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC1C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,wBAAwB,CAqG1B"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { v } from "@covenant-rpc/core/validation";
|
|
2
|
+
import { procedureResponseSchema } from "@covenant-rpc/core/procedure";
|
|
3
|
+
import { channelConnectionResponseSchema } from "@covenant-rpc/core/channel";
|
|
4
|
+
import ION from "@covenant-rpc/ion";
|
|
5
|
+
export function directClientToServer(server, extraHeaders) {
|
|
6
|
+
const getHeaders = () => {
|
|
7
|
+
const h = new Headers();
|
|
8
|
+
h.set("Content-Type", "application/json");
|
|
9
|
+
for (const k in extraHeaders) {
|
|
10
|
+
h.set(k, extraHeaders[k]);
|
|
11
|
+
}
|
|
12
|
+
return h;
|
|
13
|
+
};
|
|
14
|
+
const getUrl = (type) => {
|
|
15
|
+
const url = new URL("localhost:3000");
|
|
16
|
+
url.searchParams.set("type", type);
|
|
17
|
+
return url.toString();
|
|
18
|
+
};
|
|
19
|
+
return {
|
|
20
|
+
async sendConnectionRequest(body) {
|
|
21
|
+
try {
|
|
22
|
+
const request = new Request(getUrl("connect"), {
|
|
23
|
+
body: ION.stringify(body),
|
|
24
|
+
method: "POST",
|
|
25
|
+
headers: getHeaders(),
|
|
26
|
+
});
|
|
27
|
+
const response = await server.handle(request);
|
|
28
|
+
const responseText = await response.text();
|
|
29
|
+
const responseBody = ION.parse(responseText);
|
|
30
|
+
const connectionResponse = v.parseSafe(responseBody, channelConnectionResponseSchema);
|
|
31
|
+
if (connectionResponse === null) {
|
|
32
|
+
return {
|
|
33
|
+
channel: body.channel,
|
|
34
|
+
params: body.params,
|
|
35
|
+
result: {
|
|
36
|
+
type: "ERROR",
|
|
37
|
+
error: {
|
|
38
|
+
channel: body.channel,
|
|
39
|
+
params: body.params,
|
|
40
|
+
fault: "server",
|
|
41
|
+
message: `Bad response from server: ${JSON.stringify(responseBody)}`,
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
return connectionResponse;
|
|
47
|
+
}
|
|
48
|
+
catch (e) {
|
|
49
|
+
return {
|
|
50
|
+
channel: body.channel,
|
|
51
|
+
params: body.params,
|
|
52
|
+
result: {
|
|
53
|
+
type: "ERROR",
|
|
54
|
+
error: {
|
|
55
|
+
channel: body.channel,
|
|
56
|
+
params: body.params,
|
|
57
|
+
fault: "server",
|
|
58
|
+
message: `Unknown error connecting to channel: ${e}`,
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
async runProcedure(body) {
|
|
65
|
+
try {
|
|
66
|
+
const request = new Request(getUrl("procedure"), {
|
|
67
|
+
body: ION.stringify(body),
|
|
68
|
+
method: "POST",
|
|
69
|
+
headers: getHeaders(),
|
|
70
|
+
});
|
|
71
|
+
const response = await server.handle(request);
|
|
72
|
+
const responseText = await response.text();
|
|
73
|
+
const responseBody = ION.parse(responseText);
|
|
74
|
+
const procedureResponse = v.parseSafe(responseBody, procedureResponseSchema);
|
|
75
|
+
if (procedureResponse === null) {
|
|
76
|
+
return {
|
|
77
|
+
status: "ERR",
|
|
78
|
+
error: {
|
|
79
|
+
code: 500,
|
|
80
|
+
message: `Bad response from server: ${responseBody}`,
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
return procedureResponse;
|
|
85
|
+
}
|
|
86
|
+
catch (e) {
|
|
87
|
+
return {
|
|
88
|
+
status: "ERR",
|
|
89
|
+
error: {
|
|
90
|
+
code: 400,
|
|
91
|
+
message: `Unknown error fetching from the server: ${e}`,
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=direct.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct.js","sourceRoot":"","sources":["../../interfaces/direct.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,+BAA+B,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAkC,+BAA+B,EAAiE,MAAM,4BAA4B,CAAC;AAC5K,OAAO,GAAG,MAAM,mBAAmB,CAAC;AAGpC,MAAM,UAAU,oBAAoB,CAClC,MAA0C,EAC1C,YAAoC;IAEpC,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,MAAM,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;QACxB,CAAC,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAE1C,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC7B,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAE,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAA;IAED,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;QAC9B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACtC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC,CAAA;IAED,OAAO;QACL,KAAK,CAAC,qBAAqB,CAAC,IAA8B;YACxD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;oBAC7C,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;oBACzB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,UAAU,EAAE;iBACtB,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC9C,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC3C,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC7C,MAAM,kBAAkB,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,EAAE,+BAA+B,CAAC,CAAC;gBAEtF,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;oBAChC,OAAO;wBACL,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,MAAM,EAAE;4BACN,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE;gCACL,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,MAAM,EAAE,IAAI,CAAC,MAAM;gCACnB,KAAK,EAAE,QAAQ;gCACf,OAAO,EAAE,6BAA6B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;6BACrE;yBACF;qBACF,CAAC;gBACJ,CAAC;gBAED,OAAO,kBAAkB,CAAC;YAC5B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO;oBACL,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,KAAK,EAAE,QAAQ;4BACf,OAAO,EAAE,wCAAwC,CAAC,EAAE;yBACrD;qBACF;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,IAA0B;YAC3C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;oBAC/C,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC;oBACzB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,UAAU,EAAE;iBACtB,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC9C,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC3C,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC7C,MAAM,iBAAiB,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAA;gBAE5E,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;oBAC/B,OAAO;wBACL,MAAM,EAAE,KAAK;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,GAAG;4BACT,OAAO,EAAE,6BAA6B,YAAY,EAAE;yBACrD;qBACF,CAAA;gBACH,CAAC;gBAED,OAAO,iBAAiB,CAAC;YAC3B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,GAAG;wBACT,OAAO,EAAE,2CAA2C,CAAC,EAAE;qBACxD;iBACF,CAAA;YACH,CAAC;QACH,CAAC;KAEF,CAAA;AAEH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty.d.ts","sourceRoot":"","sources":["../../interfaces/empty.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAEhF,wBAAgB,qBAAqB,IAAI,0BAA0B,CAMlE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty.js","sourceRoot":"","sources":["../../interfaces/empty.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB;IACnC,OAAO;QACL,aAAa,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;QAC/B,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;QACxB,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;KAC9B,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ServerToSidekickConnection, SidekickToServerConnection } from "@covenant-rpc/core/interfaces";
|
|
2
|
+
export declare function httpSidekickToServer(baseUrl: string, key: string): SidekickToServerConnection;
|
|
3
|
+
export declare function httpServerToSidekick(url: string, key: string): ServerToSidekickConnection;
|
|
4
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../interfaces/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAI5G,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,0BAA0B,CAgC7F;AAwED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,0BAA0B,CAEzF"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import ION from "@covenant-rpc/ion";
|
|
2
|
+
export function httpSidekickToServer(baseUrl, key) {
|
|
3
|
+
const getUrl = (type) => {
|
|
4
|
+
const url = new URL(baseUrl);
|
|
5
|
+
url.searchParams.set("type", type);
|
|
6
|
+
return url.toString();
|
|
7
|
+
};
|
|
8
|
+
return {
|
|
9
|
+
async sendMessage(message) {
|
|
10
|
+
const json = ION.stringify(message);
|
|
11
|
+
const res = await fetch(getUrl("channel"), {
|
|
12
|
+
headers: {
|
|
13
|
+
"Authorization": `Bearer ${key}`,
|
|
14
|
+
"Content-Type": "application/json",
|
|
15
|
+
},
|
|
16
|
+
method: "POST",
|
|
17
|
+
body: json,
|
|
18
|
+
});
|
|
19
|
+
if (res.ok) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
channel: message.channel,
|
|
24
|
+
params: message.params,
|
|
25
|
+
fault: "server",
|
|
26
|
+
message: `Failed to send message to server. Received: ${res.status} - ${res.statusText}`,
|
|
27
|
+
};
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
class HttpServerToSidekick {
|
|
32
|
+
url;
|
|
33
|
+
key;
|
|
34
|
+
constructor(url, key) {
|
|
35
|
+
this.url = new URL(url);
|
|
36
|
+
this.key = key;
|
|
37
|
+
}
|
|
38
|
+
async addConnection(payload) {
|
|
39
|
+
const url = new URL(this.url.toString());
|
|
40
|
+
url.pathname = "/connection";
|
|
41
|
+
const res = await fetch(url.toString(), {
|
|
42
|
+
body: ION.stringify(payload),
|
|
43
|
+
headers: {
|
|
44
|
+
"Content-Type": "application/json",
|
|
45
|
+
"Authorization": `Bearer ${this.key}`,
|
|
46
|
+
},
|
|
47
|
+
method: "POST",
|
|
48
|
+
});
|
|
49
|
+
if (!res.ok) {
|
|
50
|
+
return new Error(`Error posting connection from sidekick: ${res.status} - ${res.statusText}`);
|
|
51
|
+
}
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
async update(resources) {
|
|
55
|
+
const url = new URL(this.url.toString());
|
|
56
|
+
url.pathname = "/resources";
|
|
57
|
+
const res = await fetch(url.toString(), {
|
|
58
|
+
body: ION.stringify({
|
|
59
|
+
resources: resources,
|
|
60
|
+
}),
|
|
61
|
+
headers: {
|
|
62
|
+
"Content-Type": "application/json",
|
|
63
|
+
"Authorization": `Bearer ${this.key}`,
|
|
64
|
+
},
|
|
65
|
+
method: "POST",
|
|
66
|
+
});
|
|
67
|
+
if (!res.ok) {
|
|
68
|
+
return new Error(`Error posting resources from sidekick: ${res.status} - ${res.statusText}`);
|
|
69
|
+
}
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
async postMessage(message) {
|
|
73
|
+
const url = new URL(this.url.toString());
|
|
74
|
+
url.pathname = "/message";
|
|
75
|
+
const res = await fetch(url.toString(), {
|
|
76
|
+
body: ION.stringify(message),
|
|
77
|
+
headers: {
|
|
78
|
+
"Content-Type": "application/json",
|
|
79
|
+
"Authorization": `Bearer ${this.key}`,
|
|
80
|
+
},
|
|
81
|
+
method: "POST",
|
|
82
|
+
});
|
|
83
|
+
if (!res.ok) {
|
|
84
|
+
return new Error(`Error posting message from sidekick: ${res.status} - ${res.statusText}`);
|
|
85
|
+
}
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
export function httpServerToSidekick(url, key) {
|
|
90
|
+
return new HttpServerToSidekick(url, key);
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../interfaces/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../interfaces/mock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA8B,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC5G,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,aAAa,CAAC;AAI5D,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,0BAA0B,CAenF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export function mockServerToSidekick(sidekick) {
|
|
2
|
+
return {
|
|
3
|
+
async addConnection(p) {
|
|
4
|
+
sidekick.addConnection(p);
|
|
5
|
+
return null;
|
|
6
|
+
},
|
|
7
|
+
async update(resources) {
|
|
8
|
+
await sidekick.updateResources(resources);
|
|
9
|
+
return null;
|
|
10
|
+
},
|
|
11
|
+
async postMessage(m) {
|
|
12
|
+
await sidekick.postServerMessage(m);
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
// TODO - I never finished this
|
|
18
|
+
// export function mockClientToSidekick(sidekick: Sidekick, client: SidekickClient): ClientToSidekickConnection {
|
|
19
|
+
// return {
|
|
20
|
+
// sendMessage(message: SidekickIncomingMessage) {
|
|
21
|
+
// sidekick.handleClientMessage(client, message);
|
|
22
|
+
// },
|
|
23
|
+
// onMessage(v) {
|
|
24
|
+
//
|
|
25
|
+
// }
|
|
26
|
+
// }
|
|
27
|
+
// }
|
|
28
|
+
//# sourceMappingURL=mock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock.js","sourceRoot":"","sources":["../../interfaces/mock.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,oBAAoB,CAAC,QAAkB;IACrD,OAAO;QACL,KAAK,CAAC,aAAa,CAAC,CAAC;YACnB,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,SAAmB;YAC9B,MAAM,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,CAAC;YACjB,MAAM,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAA;AACH,CAAC;AAED,+BAA+B;AAC/B,iHAAiH;AACjH,aAAa;AACb,sDAAsD;AACtD,uDAAuD;AACvD,SAAS;AACT,qBAAqB;AACrB,EAAE;AACF,QAAQ;AACR,MAAM;AACN,IAAI"}
|
package/dist/logger.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Logger as ILogger, LoggerLevel, Prefix } from "@covenant-rpc/core/logger";
|
|
2
|
+
export declare class Logger implements ILogger {
|
|
3
|
+
prefixes: Prefix[];
|
|
4
|
+
level: LoggerLevel;
|
|
5
|
+
constructor(level: LoggerLevel, prefixes?: Prefix[]);
|
|
6
|
+
sublogger(prefix: Prefix): Logger;
|
|
7
|
+
pushPrefix(prefix: Prefix): Logger;
|
|
8
|
+
clone(): Logger;
|
|
9
|
+
debug(text: string): void;
|
|
10
|
+
info(text: string): void;
|
|
11
|
+
error(text: string): void;
|
|
12
|
+
warn(text: string): void;
|
|
13
|
+
fatal(text: string): never;
|
|
14
|
+
private getPrefix;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAQxF,qBAAa,MAAO,YAAW,OAAO;IACpC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,WAAW,CAAA;gBAEN,KAAK,EAAE,WAAW,EAAE,QAAQ,GAAE,MAAM,EAAO;IAKvD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAIjC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAKlC,KAAK,IAAI,MAAM;IAIf,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQzB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQzB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;IAO1B,OAAO,CAAC,SAAS;CAQlB"}
|
package/dist/logger.js
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
const loggerLevels = { "slient": 0, "error": 1, "warn": 2, "info": 3, "debug": 4 };
|
|
2
|
+
function levelSatisfies(currentLevel, maxLevel) {
|
|
3
|
+
return loggerLevels[currentLevel] <= loggerLevels[maxLevel];
|
|
4
|
+
}
|
|
5
|
+
export class Logger {
|
|
6
|
+
prefixes;
|
|
7
|
+
level;
|
|
8
|
+
constructor(level, prefixes = []) {
|
|
9
|
+
this.prefixes = prefixes;
|
|
10
|
+
this.level = level;
|
|
11
|
+
}
|
|
12
|
+
sublogger(prefix) {
|
|
13
|
+
return new Logger(this.level, [...this.prefixes, prefix]);
|
|
14
|
+
}
|
|
15
|
+
pushPrefix(prefix) {
|
|
16
|
+
this.prefixes.push(prefix);
|
|
17
|
+
return this;
|
|
18
|
+
}
|
|
19
|
+
clone() {
|
|
20
|
+
return new Logger(this.level, [...this.prefixes]);
|
|
21
|
+
}
|
|
22
|
+
debug(text) {
|
|
23
|
+
if (!levelSatisfies("debug", this.level)) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
console.log(`${this.getPrefix()}DEBUG: ${text}`);
|
|
27
|
+
}
|
|
28
|
+
info(text) {
|
|
29
|
+
if (!levelSatisfies("info", this.level)) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
console.log(`${this.getPrefix()}INFO: ${text}`);
|
|
33
|
+
}
|
|
34
|
+
error(text) {
|
|
35
|
+
if (!levelSatisfies("error", this.level)) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
console.log(`${this.getPrefix()}ERROR: ${text}`);
|
|
39
|
+
}
|
|
40
|
+
warn(text) {
|
|
41
|
+
if (!levelSatisfies("error", this.level)) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
console.log(`${this.getPrefix()}WARNING: ${text}`);
|
|
45
|
+
}
|
|
46
|
+
fatal(text) {
|
|
47
|
+
console.log("---------------------------------");
|
|
48
|
+
console.log(`${this.getPrefix()}FATAL: ${text}`);
|
|
49
|
+
console.log("---------------------------------");
|
|
50
|
+
throw new Error(`FATAL: ${text}`);
|
|
51
|
+
}
|
|
52
|
+
getPrefix() {
|
|
53
|
+
if (this.prefixes.length === 0) {
|
|
54
|
+
return "";
|
|
55
|
+
}
|
|
56
|
+
const strs = this.prefixes.map(p => typeof p === "string" ? p : p());
|
|
57
|
+
return `[${strs.join(" |> ")}] `;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../logger.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { ChannelMap, Covenant, ProcedureMap } from "@covenant-rpc/core";
|
|
2
|
+
import { type ProcedureDefinition, type ProcedureInputs, type ProcedureRequest } from "@covenant-rpc/core/procedure";
|
|
3
|
+
import type { StandardSchemaV1 } from "@standard-schema/spec";
|
|
4
|
+
import { type ArrayToMap, type AsyncResult, type MaybePromise } from "@covenant-rpc/core/utils";
|
|
5
|
+
import type { ServerToSidekickConnection } from "@covenant-rpc/core/interfaces";
|
|
6
|
+
import { type ChannelDefinition } from "@covenant-rpc/core/channel";
|
|
7
|
+
import type { LoggerLevel } from "@covenant-rpc/core/logger";
|
|
8
|
+
export type ProcedureDefinitionMap<T extends ProcedureMap, Context, Derivation> = {
|
|
9
|
+
[key in keyof T]: ProcedureDefinition<T[key], Context, Derivation> | undefined;
|
|
10
|
+
};
|
|
11
|
+
export type ChannelDefinitionMap<T extends ChannelMap> = {
|
|
12
|
+
[key in keyof T]: ChannelDefinition<T[key]>;
|
|
13
|
+
};
|
|
14
|
+
export type ContextGenerator<Context> = (i: ProcedureInputs<unknown, undefined, undefined>) => MaybePromise<Context>;
|
|
15
|
+
export type Derivation<Context, Derived> = (i: ProcedureInputs<undefined, Context, undefined>) => MaybePromise<Derived>;
|
|
16
|
+
export declare class CovenantServer<P extends ProcedureMap, C extends ChannelMap, Context, Derived> {
|
|
17
|
+
private covenant;
|
|
18
|
+
private contextGenerator;
|
|
19
|
+
private derivation;
|
|
20
|
+
private sidekickConnection;
|
|
21
|
+
private procedureDefinitions;
|
|
22
|
+
private channelDefinitions;
|
|
23
|
+
private logger;
|
|
24
|
+
constructor(covenant: Covenant<P, C>, { contextGenerator, derivation, sidekickConnection, logLevel, }: {
|
|
25
|
+
contextGenerator: ContextGenerator<Context>;
|
|
26
|
+
derivation: Derivation<Context, Derived>;
|
|
27
|
+
sidekickConnection: ServerToSidekickConnection;
|
|
28
|
+
logLevel?: LoggerLevel;
|
|
29
|
+
});
|
|
30
|
+
defineProcedure<N extends keyof P>(name: N, definition: ProcedureDefinition<P[N], Context, Derived>): void;
|
|
31
|
+
defineChannel<N extends keyof C>(name: N, definition: ChannelDefinition<C[N]>): void;
|
|
32
|
+
sendMessage<N extends keyof C>(name: N, params: ArrayToMap<C[N]["params"]>, message: StandardSchemaV1.InferOutput<C[N]["serverMessage"]>): Promise<Error | null>;
|
|
33
|
+
postChannelMessage<N extends keyof C>(name: N, params: ArrayToMap<C[N]["params"]>, message: StandardSchemaV1.InferOutput<C[N]["serverMessage"]>): Promise<Error | null>;
|
|
34
|
+
processChannelMessage(channelName: string, params: Record<string, string>, data: any, context: any): Promise<{
|
|
35
|
+
fault: "client" | "server";
|
|
36
|
+
message: string;
|
|
37
|
+
} | null>;
|
|
38
|
+
assertAllDefined(): void;
|
|
39
|
+
private processProcedure;
|
|
40
|
+
private handleProcedure;
|
|
41
|
+
private handleChannelMessage;
|
|
42
|
+
private handleConnectionRequest;
|
|
43
|
+
handle(request: Request): Promise<Response>;
|
|
44
|
+
}
|
|
45
|
+
export declare function parseRequest(request: Request): AsyncResult<ProcedureRequest>;
|
|
46
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../server.ts"],"names":[],"mappings":"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"}
|