@enkaku/server 0.13.0 → 0.13.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/handlers/channel.ts"],"names":[],"mappings":"AAAA,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,CAsEvB"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/handlers/channel.ts"],"names":[],"mappings":"AAAA,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,CAgFvB"}
@@ -5,10 +5,19 @@ export function handleChannel(ctx, msg) {
5
5
  if (handler == null) {
6
6
  return new Error(`No handler for procedure: ${msg.payload.prc}`);
7
7
  }
8
- ctx.logger.trace('handle channel {procedure} with ID {rid}', {
9
- procedure: msg.payload.prc,
10
- rid: msg.payload.rid
11
- });
8
+ const param = msg.payload.prm;
9
+ if (param == null) {
10
+ ctx.logger.trace('handle channel {procedure} with ID {rid}', {
11
+ procedure: msg.payload.prc,
12
+ rid: msg.payload.rid
13
+ });
14
+ } else {
15
+ ctx.logger.trace('handle channel {procedure} with ID {rid} and param: {param}', {
16
+ procedure: msg.payload.prc,
17
+ rid: msg.payload.rid,
18
+ param
19
+ });
20
+ }
12
21
  const sendStream = createPipe();
13
22
  const controller = Object.assign(new AbortController(), {
14
23
  writer: sendStream.writable.getWriter()
@@ -22,9 +31,10 @@ export function handleChannel(ctx, msg) {
22
31
  if (controller.signal.aborted) {
23
32
  return;
24
33
  }
25
- ctx.logger.trace('send value to channel {procedure} with ID {rid}', {
34
+ ctx.logger.trace('send value to channel {procedure} with ID {rid}: {val}', {
26
35
  procedure: msg.payload.prc,
27
- rid: msg.payload.rid
36
+ rid: msg.payload.rid,
37
+ val
28
38
  });
29
39
  await ctx.send({
30
40
  typ: 'receive',
@@ -33,7 +43,7 @@ export function handleChannel(ctx, msg) {
33
43
  });
34
44
  }));
35
45
  const readable = sendStream.readable.pipeThrough(tap((value)=>{
36
- ctx.logger.trace('received value from channel {procedure} with ID {rid}', {
46
+ ctx.logger.trace('received value from channel {procedure} with ID {rid}: {value}', {
37
47
  procedure: msg.payload.prc,
38
48
  rid: msg.payload.rid,
39
49
  value
@@ -41,7 +51,7 @@ export function handleChannel(ctx, msg) {
41
51
  }));
42
52
  const handlerContext = {
43
53
  message: msg,
44
- param: msg.payload.prm,
54
+ param,
45
55
  readable,
46
56
  signal: controller.signal,
47
57
  writable: receiveStream.writable
@@ -1 +1 @@
1
- {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/handlers/event.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAGzF,OAAO,KAAK,EAAqC,cAAc,EAAE,MAAM,aAAa,CAAA;AAEpF,MAAM,MAAM,cAAc,CACxB,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,QAAQ,GAAG,MAAM,IACjE,aAAa,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAEjE,wBAAgB,WAAW,CACzB,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,EACzC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BhG"}
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/handlers/event.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAGzF,OAAO,KAAK,EAAqC,cAAc,EAAE,MAAM,aAAa,CAAA;AAEpF,MAAM,MAAM,cAAc,CACxB,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,QAAQ,GAAG,MAAM,IACjE,aAAa,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAEjE,wBAAgB,WAAW,CACzB,QAAQ,SAAS,kBAAkB,EACnC,SAAS,SAAS,MAAM,QAAQ,GAAG,MAAM,EACzC,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CA0ChG"}
@@ -5,24 +5,38 @@ export function handleEvent(ctx, msg) {
5
5
  if (handler == null) {
6
6
  return new Error(`No handler for procedure: ${msg.payload.prc}`);
7
7
  }
8
- ctx.logger.trace('handle event {procedure}', {
9
- procedure: msg.payload.prc,
10
- data: msg.payload.data
11
- });
8
+ const data = msg.payload.data;
9
+ if (data == null) {
10
+ ctx.logger.trace('handle event {procedure} without data', {
11
+ procedure: msg.payload.prc
12
+ });
13
+ } else {
14
+ ctx.logger.trace('handle event {procedure} with data: {data}', {
15
+ procedure: msg.payload.prc,
16
+ data: msg.payload.data
17
+ });
18
+ }
12
19
  const handlerContext = {
13
20
  message: msg,
14
- data: msg.payload.data
21
+ data
15
22
  };
16
23
  return toPromise(()=>handler(handlerContext)).catch((cause)=>{
17
24
  const error = HandlerError.from(cause, {
18
25
  code: 'EK01',
19
26
  message: cause.message ?? 'Handler execution failed'
20
27
  });
21
- ctx.logger.debug('handler error for event {procedure}', {
22
- procedure: msg.payload.prc,
23
- data: msg.payload.data,
24
- error
25
- });
28
+ if (data == null) {
29
+ ctx.logger.debug('handler error for event {procedure} without data: {error}', {
30
+ procedure: msg.payload.prc,
31
+ error
32
+ });
33
+ } else {
34
+ ctx.logger.debug('handler error for event {procedure} with data {data}: {error}', {
35
+ procedure: msg.payload.prc,
36
+ data,
37
+ error
38
+ });
39
+ }
26
40
  ctx.events.emit('handlerError', {
27
41
  error,
28
42
  payload: msg.payload
@@ -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,CAsBvB"}
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,CA8BvB"}
@@ -4,11 +4,19 @@ export function handleRequest(ctx, msg) {
4
4
  if (handler == null) {
5
5
  return new Error(`No handler for procedure: ${msg.payload.prc}`);
6
6
  }
7
- ctx.logger.trace('handle request {procedure} with ID {rid}', {
8
- procedure: msg.payload.prc,
9
- rid: msg.payload.rid,
10
- param: msg.payload.prm
11
- });
7
+ const param = msg.payload.prm;
8
+ if (param == null) {
9
+ ctx.logger.trace('handle request {procedure} with ID {rid}', {
10
+ procedure: msg.payload.prc,
11
+ rid: msg.payload.rid
12
+ });
13
+ } else {
14
+ ctx.logger.trace('handle request {procedure} with ID {rid} and param: {param}', {
15
+ procedure: msg.payload.prc,
16
+ rid: msg.payload.rid,
17
+ param
18
+ });
19
+ }
12
20
  const controller = new AbortController();
13
21
  ctx.controllers[msg.payload.rid] = controller;
14
22
  const handlerContext = {
@@ -1 +1 @@
1
- {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/handlers/stream.ts"],"names":[],"mappings":"AAAA,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,CAoDjG"}
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/handlers/stream.ts"],"names":[],"mappings":"AAAA,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,CA8DjG"}
@@ -5,10 +5,19 @@ export function handleStream(ctx, msg) {
5
5
  if (handler == null) {
6
6
  return new Error(`No handler for procedure: ${msg.payload.prc}`);
7
7
  }
8
- ctx.logger.trace('handle stream {procedure} with ID {rid}', {
9
- procedure: msg.payload.prc,
10
- rid: msg.payload.rid
11
- });
8
+ const param = msg.payload.prm;
9
+ if (param == null) {
10
+ ctx.logger.trace('handle stream {procedure} with ID {rid}', {
11
+ procedure: msg.payload.prc,
12
+ rid: msg.payload.rid
13
+ });
14
+ } else {
15
+ ctx.logger.trace('handle stream {procedure} with ID {rid} and param: {param}', {
16
+ procedure: msg.payload.prc,
17
+ rid: msg.payload.rid,
18
+ param
19
+ });
20
+ }
12
21
  const controller = new AbortController();
13
22
  ctx.controllers[msg.payload.rid] = controller;
14
23
  const receiveStream = createPipe();
@@ -16,9 +25,10 @@ export function handleStream(ctx, msg) {
16
25
  if (controller.signal.aborted) {
17
26
  return;
18
27
  }
19
- ctx.logger.trace('send value to stream {procedure} with ID {rid}', {
28
+ ctx.logger.trace('send value to stream {procedure} with ID {rid}: {val}', {
20
29
  procedure: msg.payload.prc,
21
- rid: msg.payload.rid
30
+ rid: msg.payload.rid,
31
+ val
22
32
  });
23
33
  await ctx.send({
24
34
  typ: 'receive',
package/lib/server.d.ts CHANGED
@@ -29,6 +29,7 @@ export type HandleMessagesParams<Protocol extends ProtocolDefinition> = AccessCo
29
29
  export type ServerParams<Protocol extends ProtocolDefinition> = {
30
30
  access?: ProcedureAccessRecord;
31
31
  encryptionPolicy?: EncryptionPolicy;
32
+ getRandomID?: () => string;
32
33
  handlers: ProcedureHandlers<Protocol>;
33
34
  identity?: Identity;
34
35
  limits?: Partial<ResourceLimits>;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/lib/server.js CHANGED
@@ -11,6 +11,9 @@ import { handleEvent } from './handlers/event.js';
11
11
  import { handleRequest } from './handlers/request.js';
12
12
  import { handleStream } from './handlers/stream.js';
13
13
  import { createResourceLimiter } from './limits.js';
14
+ function defaultRandomID() {
15
+ return globalThis.crypto.randomUUID();
16
+ }
14
17
  async function handleMessages(params) {
15
18
  const { events, handlers, limiter, logger, signal, transport, validator } = params;
16
19
  const controllers = Object.create(null);
@@ -301,6 +304,7 @@ export class Server extends Disposer {
301
304
  #abortController;
302
305
  #accessControl;
303
306
  #events;
307
+ #getRandomID;
304
308
  #handlers;
305
309
  #handling = [];
306
310
  #limiter;
@@ -340,10 +344,11 @@ export class Server extends Disposer {
340
344
  });
341
345
  this.#abortController = new AbortController();
342
346
  this.#events = new EventEmitter();
347
+ this.#getRandomID = params.getRandomID ?? defaultRandomID;
343
348
  this.#handlers = params.handlers;
344
349
  const serverID = params.identity?.id;
345
350
  this.#logger = params.logger ?? getEnkakuLogger('server', {
346
- serverID: serverID ?? crypto.randomUUID()
351
+ serverID: serverID ?? this.#getRandomID()
347
352
  });
348
353
  if (serverID == null) {
349
354
  if (params.public) {
@@ -380,7 +385,7 @@ export class Server extends Disposer {
380
385
  const publicAccess = options.public ?? this.#accessControl.public;
381
386
  const access = options.access ?? this.#accessControl.access ?? {};
382
387
  const logger = options.logger ?? this.#logger.getChild('handler').with({
383
- transportID: crypto.randomUUID()
388
+ transportID: this.#getRandomID()
384
389
  });
385
390
  const encryptionPolicy = this.#accessControl.encryptionPolicy;
386
391
  let accessControl;
package/lib/utils.js CHANGED
@@ -9,7 +9,7 @@ export async function executeHandler(context, payload, execute) {
9
9
  try {
10
10
  const val = await toPromise(execute);
11
11
  if (canSend(controller.signal)) {
12
- context.logger.trace('send result to {type} {procedure} with ID {rid}', {
12
+ context.logger.trace('send result to {type} {procedure} with ID {rid}: {result}', {
13
13
  type: payload.typ,
14
14
  procedure: payload.prc,
15
15
  rid: payload.rid,
@@ -27,7 +27,7 @@ export async function executeHandler(context, payload, execute) {
27
27
  message: 'Handler execution failed'
28
28
  });
29
29
  if (canSend(controller.signal)) {
30
- context.logger.trace('send error to {type} {procedure} with ID {rid}', {
30
+ context.logger.trace('send error to {type} {procedure} with ID {rid}: {error}', {
31
31
  type: payload.typ,
32
32
  procedure: payload.prc,
33
33
  rid: payload.rid,
@@ -35,7 +35,7 @@ export async function executeHandler(context, payload, execute) {
35
35
  });
36
36
  context.send(error.toPayload(payload.rid));
37
37
  } else {
38
- context.logger.debug('handler error for {type} {procedure} with ID {rid} cannot be sent to client', {
38
+ context.logger.debug('handler error for {type} {procedure} with ID {rid} cannot be sent to client: {error}', {
39
39
  type: payload.typ,
40
40
  procedure: payload.prc,
41
41
  rid: payload.rid,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enkaku/server",
3
- "version": "0.13.0",
3
+ "version": "0.13.2",
4
4
  "license": "MIT",
5
5
  "homepage": "https://enkaku.dev",
6
6
  "description": "Server logic for Enkaku RPC",
@@ -25,17 +25,17 @@
25
25
  ],
26
26
  "sideEffects": false,
27
27
  "dependencies": {
28
- "@enkaku/capability": "^0.13.0",
29
28
  "@enkaku/async": "^0.13.0",
30
- "@enkaku/protocol": "^0.13.0",
31
- "@enkaku/log": "^0.13.0",
29
+ "@enkaku/capability": "^0.13.0",
32
30
  "@enkaku/event": "^0.13.0",
31
+ "@enkaku/log": "^0.13.1",
32
+ "@enkaku/protocol": "^0.13.0",
33
33
  "@enkaku/schema": "^0.13.0",
34
- "@enkaku/token": "^0.13.0",
35
- "@enkaku/stream": "^0.13.0"
34
+ "@enkaku/stream": "^0.13.0",
35
+ "@enkaku/token": "^0.13.0"
36
36
  },
37
37
  "devDependencies": {
38
- "@enkaku/transport": "^0.13.0"
38
+ "@enkaku/transport": "^0.13.1"
39
39
  },
40
40
  "scripts": {
41
41
  "build:clean": "del lib",