@enkaku/server 0.14.0 → 0.14.1
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/lib/handlers/channel.d.ts.map +1 -1
- package/lib/handlers/channel.js +9 -14
- package/lib/handlers/request.d.ts.map +1 -1
- package/lib/handlers/request.js +6 -2
- package/lib/handlers/stream.d.ts.map +1 -1
- package/lib/handlers/stream.js +8 -14
- package/lib/utils.d.ts +13 -3
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +8 -2
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/handlers/channel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EACnB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,EAGV,cAAc,EAGf,MAAM,aAAa,CAAA;AAGpB,MAAM,MAAM,gBAAgB,CAC1B,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,QAAQ,GAAG,MAAM,IACjE,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAEnE,wBAAgB,aAAa,CAC3B,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,EAEzC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,EAC7B,GAAG,EAAE,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,GACzC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/handlers/channel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EACnB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,EAGV,cAAc,EAGf,MAAM,aAAa,CAAA;AAGpB,MAAM,MAAM,gBAAgB,CAC1B,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,QAAQ,GAAG,MAAM,IACjE,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAEnE,wBAAgB,aAAa,CAC3B,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,EAEzC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,EAC7B,GAAG,EAAE,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,GACzC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAwFvB"}
|
package/lib/handlers/channel.js
CHANGED
|
@@ -31,7 +31,7 @@ export function handleChannel(ctx, msg) {
|
|
|
31
31
|
});
|
|
32
32
|
ctx.controllers[msg.payload.rid] = controller;
|
|
33
33
|
const receiveStream = createPipe();
|
|
34
|
-
receiveStream.readable.pipeTo(writeTo(async (val)=>{
|
|
34
|
+
const pipePromise = receiveStream.readable.pipeTo(writeTo(async (val)=>{
|
|
35
35
|
if (controller.signal.aborted) {
|
|
36
36
|
return;
|
|
37
37
|
}
|
|
@@ -51,6 +51,7 @@ export function handleChannel(ctx, msg) {
|
|
|
51
51
|
val
|
|
52
52
|
});
|
|
53
53
|
}));
|
|
54
|
+
// @ts-expect-error type instantiation too deep
|
|
54
55
|
const readable = sendStream.readable.pipeThrough(tap((value)=>{
|
|
55
56
|
if (activeSpan != null) {
|
|
56
57
|
activeSpan.addEvent('channel.message.received', {
|
|
@@ -70,17 +71,11 @@ export function handleChannel(ctx, msg) {
|
|
|
70
71
|
signal: controller.signal,
|
|
71
72
|
writable: receiveStream.writable
|
|
72
73
|
};
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
await receiveStream.writable.close();
|
|
81
|
-
} catch {
|
|
82
|
-
// Stream may already be closed
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
})();
|
|
74
|
+
return executeHandler({
|
|
75
|
+
context: ctx,
|
|
76
|
+
payload: msg.payload,
|
|
77
|
+
// @ts-expect-error handler context types
|
|
78
|
+
execute: ()=>handler(handlerContext),
|
|
79
|
+
beforeEnd: ()=>receiveStream.drain(pipePromise)
|
|
80
|
+
});
|
|
86
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/handlers/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAE3F,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAA;AAGjE,MAAM,MAAM,gBAAgB,CAC1B,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,QAAQ,GAAG,MAAM,IACjE,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAEnE,wBAAgB,aAAa,CAC3B,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,EAEzC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,EAC7B,GAAG,EAAE,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,GACzC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/handlers/request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAE3F,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAA;AAGjE,MAAM,MAAM,gBAAgB,CAC1B,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,QAAQ,GAAG,MAAM,IACjE,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAEnE,wBAAgB,aAAa,CAC3B,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,EAEzC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,EAC7B,GAAG,EAAE,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,GACzC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCvB"}
|
package/lib/handlers/request.js
CHANGED
|
@@ -24,6 +24,10 @@ export function handleRequest(ctx, msg) {
|
|
|
24
24
|
param: msg.payload.prm,
|
|
25
25
|
signal: controller.signal
|
|
26
26
|
};
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
return executeHandler({
|
|
28
|
+
context: ctx,
|
|
29
|
+
payload: msg.payload,
|
|
30
|
+
// @ts-expect-error handler context types
|
|
31
|
+
execute: ()=>handler(handlerContext)
|
|
32
|
+
});
|
|
29
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/handlers/stream.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,aAAa,EACb,kBAAkB,EAClB,eAAe,EAChB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,EAAE,cAAc,EAA8B,MAAM,aAAa,CAAA;AAG7E,MAAM,MAAM,eAAe,CACzB,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,QAAQ,GAAG,MAAM,IACjE,aAAa,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAElE,wBAAgB,YAAY,CAC1B,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,EACzC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/handlers/stream.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,aAAa,EACb,kBAAkB,EAClB,eAAe,EAChB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,EAAE,cAAc,EAA8B,MAAM,aAAa,CAAA;AAG7E,MAAM,MAAM,eAAe,CACzB,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,QAAQ,GAAG,MAAM,IACjE,aAAa,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAElE,wBAAgB,YAAY,CAC1B,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,EACzC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DjG"}
|
package/lib/handlers/stream.js
CHANGED
|
@@ -23,7 +23,7 @@ export function handleStream(ctx, msg) {
|
|
|
23
23
|
const controller = new AbortController();
|
|
24
24
|
ctx.controllers[msg.payload.rid] = controller;
|
|
25
25
|
const receiveStream = createPipe();
|
|
26
|
-
receiveStream.readable.pipeTo(writeTo(async (val)=>{
|
|
26
|
+
const pipePromise = receiveStream.readable.pipeTo(writeTo(async (val)=>{
|
|
27
27
|
if (controller.signal.aborted) {
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
@@ -49,17 +49,11 @@ export function handleStream(ctx, msg) {
|
|
|
49
49
|
signal: controller.signal,
|
|
50
50
|
writable: receiveStream.writable
|
|
51
51
|
};
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
await receiveStream.writable.close();
|
|
60
|
-
} catch {
|
|
61
|
-
// Stream may already be closed
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
})();
|
|
52
|
+
return executeHandler({
|
|
53
|
+
context: ctx,
|
|
54
|
+
payload: msg.payload,
|
|
55
|
+
// @ts-expect-error handler context types
|
|
56
|
+
execute: ()=>handler(handlerContext),
|
|
57
|
+
beforeEnd: ()=>receiveStream.drain(pipePromise)
|
|
58
|
+
});
|
|
65
59
|
}
|
package/lib/utils.d.ts
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
|
-
import type { ProtocolDefinition
|
|
2
|
-
import type { HandlerContext
|
|
3
|
-
export
|
|
1
|
+
import type { ProtocolDefinition } from '@enkaku/protocol';
|
|
2
|
+
import type { HandlerContext } from './types.js';
|
|
3
|
+
export type ExecuteHandlerParams<Protocol extends ProtocolDefinition> = {
|
|
4
|
+
context: HandlerContext<Protocol>;
|
|
5
|
+
payload: {
|
|
6
|
+
typ: string;
|
|
7
|
+
prc: string;
|
|
8
|
+
rid: string;
|
|
9
|
+
};
|
|
10
|
+
execute: () => unknown;
|
|
11
|
+
beforeEnd?: () => Promise<void>;
|
|
12
|
+
};
|
|
13
|
+
export declare function executeHandler<Protocol extends ProtocolDefinition>(params: ExecuteHandlerParams<Protocol>): Promise<void>;
|
|
4
14
|
//# sourceMappingURL=utils.d.ts.map
|
package/lib/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAsB,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAsB,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAG9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAMhD,MAAM,MAAM,oBAAoB,CAAC,QAAQ,SAAS,kBAAkB,IAAI;IACtE,OAAO,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IACjC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IAClD,OAAO,EAAE,MAAM,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC,CAAA;AAED,wBAAsB,cAAc,CAAC,QAAQ,SAAS,kBAAkB,EACtE,MAAM,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GACrC,OAAO,CAAC,IAAI,CAAC,CAoDf"}
|
package/lib/utils.js
CHANGED
|
@@ -3,11 +3,14 @@ import { HandlerError } from './error.js';
|
|
|
3
3
|
function canSend(signal) {
|
|
4
4
|
return !signal.aborted || signal.reason === 'Close';
|
|
5
5
|
}
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
export async function executeHandler(params) {
|
|
7
|
+
const { context, payload, execute, beforeEnd } = params;
|
|
8
8
|
const controller = context.controllers[payload.rid];
|
|
9
9
|
try {
|
|
10
10
|
const val = await toPromise(execute);
|
|
11
|
+
if (beforeEnd != null) {
|
|
12
|
+
await beforeEnd();
|
|
13
|
+
}
|
|
11
14
|
if (canSend(controller.signal)) {
|
|
12
15
|
context.logger.trace('send result to {type} {procedure} with ID {rid}: {result}', {
|
|
13
16
|
type: payload.typ,
|
|
@@ -22,6 +25,9 @@ export async function executeHandler(context, payload, execute) {
|
|
|
22
25
|
});
|
|
23
26
|
}
|
|
24
27
|
} catch (cause) {
|
|
28
|
+
if (beforeEnd != null) {
|
|
29
|
+
await beforeEnd();
|
|
30
|
+
}
|
|
25
31
|
const error = HandlerError.from(cause, {
|
|
26
32
|
code: 'EK01',
|
|
27
33
|
message: 'Handler execution failed'
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@enkaku/server",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"homepage": "https://enkaku.dev",
|
|
6
6
|
"description": "Server logic for Enkaku RPC",
|
|
@@ -25,15 +25,15 @@
|
|
|
25
25
|
],
|
|
26
26
|
"sideEffects": false,
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@enkaku/async": "^0.14.0",
|
|
29
28
|
"@enkaku/capability": "^0.14.0",
|
|
30
|
-
"@enkaku/
|
|
29
|
+
"@enkaku/async": "^0.14.0",
|
|
31
30
|
"@enkaku/log": "^0.14.0",
|
|
31
|
+
"@enkaku/otel": "^0.14.0",
|
|
32
32
|
"@enkaku/protocol": "^0.14.0",
|
|
33
|
-
"@enkaku/
|
|
34
|
-
"@enkaku/
|
|
35
|
-
"@enkaku/
|
|
36
|
-
"@enkaku/
|
|
33
|
+
"@enkaku/token": "^0.14.0",
|
|
34
|
+
"@enkaku/stream": "^0.14.1",
|
|
35
|
+
"@enkaku/event": "^0.14.1",
|
|
36
|
+
"@enkaku/schema": "^0.14.0"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@enkaku/transport": "^0.14.0"
|