node-opcua-server 2.53.0 → 2.56.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.
Files changed (75) hide show
  1. package/LICENSE +20 -20
  2. package/dist/base_server.js +12 -14
  3. package/dist/base_server.js.map +1 -1
  4. package/dist/factory.d.ts +4 -2
  5. package/dist/factory.js.map +1 -1
  6. package/dist/history_server_capabilities.js.map +1 -1
  7. package/dist/i_server_side_publish_engine.d.ts +1 -1
  8. package/dist/i_server_side_publish_engine.js +1 -1
  9. package/dist/i_server_side_publish_engine.js.map +1 -1
  10. package/dist/monitored_item.d.ts +3 -0
  11. package/dist/monitored_item.js +7 -14
  12. package/dist/monitored_item.js.map +1 -1
  13. package/dist/node_sampler.js +1 -1
  14. package/dist/node_sampler.js.map +1 -1
  15. package/dist/opcua_server.d.ts +29 -44
  16. package/dist/opcua_server.js +218 -262
  17. package/dist/opcua_server.js.map +1 -1
  18. package/dist/queue.js +1 -0
  19. package/dist/queue.js.map +1 -1
  20. package/dist/register_server_manager.d.ts +4 -1
  21. package/dist/register_server_manager.js +5 -5
  22. package/dist/register_server_manager.js.map +1 -1
  23. package/dist/register_server_manager_hidden.d.ts +1 -1
  24. package/dist/register_server_manager_hidden.js.map +1 -1
  25. package/dist/register_server_manager_mdns_only.d.ts +4 -1
  26. package/dist/register_server_manager_mdns_only.js +1 -1
  27. package/dist/register_server_manager_mdns_only.js.map +1 -1
  28. package/dist/server_capabilities.js.map +1 -1
  29. package/dist/server_end_point.d.ts +4 -1
  30. package/dist/server_end_point.js +10 -11
  31. package/dist/server_end_point.js.map +1 -1
  32. package/dist/server_engine.d.ts +11 -7
  33. package/dist/server_engine.js +72 -74
  34. package/dist/server_engine.js.map +1 -1
  35. package/dist/server_publish_engine.d.ts +4 -1
  36. package/dist/server_publish_engine.js +5 -5
  37. package/dist/server_publish_engine.js.map +1 -1
  38. package/dist/server_publish_engine_for_orphan_subscriptions.d.ts +2 -2
  39. package/dist/server_publish_engine_for_orphan_subscriptions.js.map +1 -1
  40. package/dist/server_session.d.ts +1 -1
  41. package/dist/server_session.js +24 -29
  42. package/dist/server_session.js.map +1 -1
  43. package/dist/server_subscription.d.ts +3 -1
  44. package/dist/server_subscription.js +6 -6
  45. package/dist/server_subscription.js.map +1 -1
  46. package/dist/sessions_compatible_for_transfer.js +2 -1
  47. package/dist/sessions_compatible_for_transfer.js.map +1 -1
  48. package/dist/validate_filter.js +4 -7
  49. package/dist/validate_filter.js.map +1 -1
  50. package/package.json +45 -44
  51. package/source/base_server.ts +19 -22
  52. package/source/factory.ts +5 -2
  53. package/source/history_server_capabilities.ts +3 -4
  54. package/source/i_channel_data.ts +4 -8
  55. package/source/i_register_server_manager.ts +0 -3
  56. package/source/i_server_side_publish_engine.ts +5 -6
  57. package/source/i_socket_data.ts +1 -1
  58. package/source/index.ts +14 -14
  59. package/source/monitored_item.ts +32 -44
  60. package/source/node_sampler.ts +82 -82
  61. package/source/opcua_server.ts +326 -357
  62. package/source/queue.ts +6 -7
  63. package/source/register_server_manager.ts +35 -23
  64. package/source/register_server_manager_hidden.ts +8 -10
  65. package/source/register_server_manager_mdns_only.ts +8 -13
  66. package/source/server_capabilities.ts +0 -5
  67. package/source/server_end_point.ts +28 -30
  68. package/source/server_engine.ts +122 -122
  69. package/source/server_publish_engine.ts +24 -21
  70. package/source/server_publish_engine_for_orphan_subscriptions.ts +26 -26
  71. package/source/server_session.ts +44 -49
  72. package/source/server_subscription.ts +23 -23
  73. package/source/sessions_compatible_for_transfer.ts +26 -25
  74. package/source/validate_filter.ts +8 -22
  75. package/test_helpers/create_certificates.js +1 -1
@@ -9,15 +9,22 @@ import { Certificate, Nonce } from "node-opcua-crypto";
9
9
  import { NodeId } from "node-opcua-nodeid";
10
10
  import { ObjectRegistry } from "node-opcua-object-registry";
11
11
  import { Message, MessageSecurityMode, Request, Response, SecurityPolicy, ServerSecureChannelLayer, SignatureData } from "node-opcua-secure-channel";
12
+ import { BrowseNextResponse, BrowseResponse } from "node-opcua-service-browse";
13
+ import { CallResponse } from "node-opcua-service-call";
14
+ import { HistoryReadResponse } from "node-opcua-service-history";
15
+ import { ReadResponse } from "node-opcua-service-read";
16
+ import { RegisterNodesResponse, UnregisterNodesResponse } from "node-opcua-service-register-node";
12
17
  import { UserNameIdentityToken, X509IdentityToken } from "node-opcua-service-session";
13
- import { DeleteSubscriptionsResponse, SetPublishingModeResponse, TransferSubscriptionsResponse } from "node-opcua-service-subscription";
18
+ import { CreateMonitoredItemsResponse, CreateSubscriptionResponse, DeleteSubscriptionsResponse, ModifyMonitoredItemsResponse, ModifySubscriptionResponse, RepublishResponse, SetPublishingModeResponse, SetTriggeringResponse, TransferSubscriptionsResponse } from "node-opcua-service-subscription";
19
+ import { TranslateBrowsePathsToNodeIdsResponse } from "node-opcua-service-translate-browse-path";
20
+ import { WriteResponse } from "node-opcua-service-write";
14
21
  import { StatusCode } from "node-opcua-status-code";
15
- import { ApplicationDescriptionOptions, BuildInfo, EndpointDescription, UserIdentityToken } from "node-opcua-types";
22
+ import { ApplicationDescriptionOptions, BuildInfo, EndpointDescription, UserIdentityToken, UserTokenPolicy } from "node-opcua-types";
16
23
  import { OPCUABaseServer, OPCUABaseServerOptions } from "./base_server";
17
24
  import { IRegisterServerManager } from "./i_register_server_manager";
18
25
  import { ServerCapabilitiesOptions } from "./server_capabilities";
19
26
  import { OPCUAServerEndPoint } from "./server_end_point";
20
- import { ServerEngine } from "./server_engine";
27
+ import { CreateSessionOption, ServerEngine } from "./server_engine";
21
28
  import { ServerSession } from "./server_session";
22
29
  import { CreateMonitoredItemHook, DeleteMonitoredItemHook, Subscription } from "./server_subscription";
23
30
  import { ISocketData } from "./i_socket_data";
@@ -30,6 +37,7 @@ export interface UserManagerOptions extends IUserManager {
30
37
  /** asynchronous function to check if the credentials - overrules isValidUser */
31
38
  isValidUserAsync?: ValidUserAsyncFunc;
32
39
  }
40
+ declare type ResponseClassType = typeof BrowseResponse | typeof BrowseNextResponse | typeof CallResponse | typeof CreateMonitoredItemsResponse | typeof CreateSubscriptionResponse | typeof DeleteSubscriptionsResponse | typeof HistoryReadResponse | typeof ModifyMonitoredItemsResponse | typeof ModifySubscriptionResponse | typeof ReadResponse | typeof RegisterNodesResponse | typeof RepublishResponse | typeof SetPublishingModeResponse | typeof SetTriggeringResponse | typeof TransferSubscriptionsResponse | typeof TranslateBrowsePathsToNodeIdsResponse | typeof UnregisterNodesResponse | typeof WriteResponse;
33
41
  export declare enum RegisterServerMethod {
34
42
  HIDDEN = 1,
35
43
  MDNS = 2,
@@ -376,7 +384,7 @@ export declare class OPCUAServer extends OPCUABaseServer {
376
384
  * create and register a new session
377
385
  * @internal
378
386
  */
379
- protected createSession(options: any): ServerSession;
387
+ protected createSession(options: CreateSessionOption): ServerSession;
380
388
  /**
381
389
  * retrieve a session by authentication token
382
390
  * @internal
@@ -398,16 +406,16 @@ export declare class OPCUAServer extends OPCUABaseServer {
398
406
  * @internal
399
407
  */
400
408
  protected verifyClientSignature(session: ServerSession, channel: ServerSecureChannelLayer, clientSignature: SignatureData): boolean;
401
- protected isValidUserNameIdentityToken(channel: ServerSecureChannelLayer, session: ServerSession, userTokenPolicy: any, userIdentityToken: UserNameIdentityToken, userTokenSignature: any, callback: (err: Error | null, statusCode?: StatusCode) => void): void;
402
- protected isValidX509IdentityToken(channel: ServerSecureChannelLayer, session: ServerSession, userTokenPolicy: any, userIdentityToken: X509IdentityToken, userTokenSignature: any, callback: (err: Error | null, statusCode?: StatusCode) => void): void;
409
+ protected isValidUserNameIdentityToken(channel: ServerSecureChannelLayer, session: ServerSession, userTokenPolicy: UserTokenPolicy, userIdentityToken: UserNameIdentityToken, userTokenSignature: SignatureData, callback: (err: Error | null, statusCode?: StatusCode) => void): void;
410
+ protected isValidX509IdentityToken(channel: ServerSecureChannelLayer, session: ServerSession, userTokenPolicy: UserTokenPolicy, userIdentityToken: X509IdentityToken, userTokenSignature: SignatureData, callback: (err: Error | null, statusCode?: StatusCode) => void): void;
403
411
  /**
404
412
  * @internal
405
413
  */
406
- protected userNameIdentityTokenAuthenticateUser(channel: ServerSecureChannelLayer, session: ServerSession, userTokenPolicy: any, userIdentityToken: UserNameIdentityToken, callback: (err: Error | null, isAuthorized?: boolean) => void): void;
414
+ protected userNameIdentityTokenAuthenticateUser(channel: ServerSecureChannelLayer, session: ServerSession, userTokenPolicy: UserTokenPolicy, userIdentityToken: UserNameIdentityToken, callback: (err: Error | null, isAuthorized?: boolean) => void): void;
407
415
  /**
408
416
  * @internal
409
417
  */
410
- protected isValidUserIdentityToken(channel: ServerSecureChannelLayer, session: ServerSession, userIdentityToken: UserIdentityToken, userTokenSignature: any, endpointDescription: EndpointDescription, callback: (err: Error | null, statusCode?: StatusCode) => void): void;
418
+ protected isValidUserIdentityToken(channel: ServerSecureChannelLayer, session: ServerSession, userIdentityToken: UserIdentityToken, userTokenSignature: SignatureData, endpointDescription: EndpointDescription, callback: (err: Error | null, statusCode?: StatusCode) => void): void;
411
419
  /**
412
420
  *
413
421
  * @internal
@@ -435,44 +443,20 @@ export declare class OPCUAServer extends OPCUABaseServer {
435
443
  * @param ResponseClass the constructor of the response Class
436
444
  * @param message
437
445
  * @param channel
438
- * @param action_to_perform
439
- * @param action_to_perform.session {ServerSession}
440
- * @param action_to_perform.sendResponse
441
- * @param action_to_perform.sendResponse.response
442
- * @param action_to_perform.sendError
443
- * @param action_to_perform.sendError.statusCode
444
- * @param action_to_perform.sendError.diagnostics
446
+ * @param actionToPerform
447
+ * @param actionToPerform.session {ServerSession}
448
+ * @param actionToPerform.sendResponse
449
+ * @param actionToPerform.sendResponse.response
450
+ * @param actionToPerform.sendError
451
+ * @param actionToPerform.sendError.statusCode
452
+ * @param actionToPerform.sendError.diagnostics
445
453
  *
446
454
  * @private
447
455
  */
448
- protected _apply_on_SessionObject(ResponseClass: any, message: Message, channel: ServerSecureChannelLayer, action_to_perform: (session: ServerSession, sendResponse: (response: Response) => void, sendError: (statusCode: StatusCode) => void) => void | Promise<void>): Promise<void>;
449
- /**
450
- * @method _apply_on_Subscription
451
- * @param ResponseClass
452
- * @param message
453
- * @param channel
454
- * @param action_to_perform
455
- * @private
456
- */
457
- protected _apply_on_Subscription(ResponseClass: any, message: Message, channel: ServerSecureChannelLayer, action_to_perform: (session: ServerSession, subscription: Subscription, sendResponse: (response: Response) => void, sendError: (statusCode: StatusCode) => void) => Promise<void>): Promise<void>;
458
- /**
459
- * @method _apply_on_SubscriptionIds
460
- * @param ResponseClass
461
- * @param message
462
- * @param channel
463
- * @param action_to_perform
464
- * @private
465
- */
466
- protected _apply_on_SubscriptionIds<T>(ResponseClass: typeof SetPublishingModeResponse | typeof TransferSubscriptionsResponse | typeof DeleteSubscriptionsResponse, message: Message, channel: ServerSecureChannelLayer, action_to_perform: (session: ServerSession, subscriptionId: number) => Promise<T>): void;
467
- /**
468
- * @method _apply_on_Subscriptions
469
- * @param ResponseClass
470
- * @param message
471
- * @param channel
472
- * @param action_to_perform
473
- * @private
474
- */
475
- protected _apply_on_Subscriptions(ResponseClass: typeof SetPublishingModeResponse, message: Message, channel: ServerSecureChannelLayer, action_to_perform: (session: ServerSession, subscription: Subscription) => Promise<StatusCode>): void;
456
+ protected _apply_on_SessionObject(ResponseClass: ResponseClassType, message: Message, channel: ServerSecureChannelLayer, actionToPerform: (session: ServerSession, sendResponse: (response: Response) => void, sendError: (statusCode: StatusCode) => void) => void | Promise<void>): Promise<void>;
457
+ protected _apply_on_Subscription(ResponseClass: ResponseClassType, message: Message, channel: ServerSecureChannelLayer, actionToPerform: (session: ServerSession, subscription: Subscription, sendResponse: (response: Response) => void, sendError: (statusCode: StatusCode) => void) => Promise<void>): Promise<void>;
458
+ protected _apply_on_SubscriptionIds<T>(ResponseClass: typeof SetPublishingModeResponse | typeof TransferSubscriptionsResponse | typeof DeleteSubscriptionsResponse, message: Message, channel: ServerSecureChannelLayer, actionToPerform: (session: ServerSession, subscriptionId: number) => Promise<T>): void;
459
+ protected _apply_on_Subscriptions(ResponseClass: typeof SetPublishingModeResponse | typeof TransferSubscriptionsResponse | typeof DeleteSubscriptionsResponse, message: Message, channel: ServerSecureChannelLayer, actionToPerform: (session: ServerSession, subscription: Subscription) => Promise<StatusCode>): void;
476
460
  private _closeSession;
477
461
  /**
478
462
  * @method _on_CloseSessionRequest
@@ -567,7 +551,7 @@ export interface RaiseEventAuditCreateSessionEventData extends RaiseEventAuditSe
567
551
  secureChannelId: PseudoVariantString;
568
552
  revisedSessionTimeout: PseudoVariantDuration;
569
553
  clientCertificate: PseudoVariantByteString;
570
- clientCertificateThumbprint: PseudoVariantByteString;
554
+ clientCertificateThumbprint: PseudoVariantString;
571
555
  }
572
556
  export interface RaiseEventAuditActivateSessionEventData extends RaiseEventAuditSessionEventData {
573
557
  /**
@@ -666,3 +650,4 @@ export interface OPCUAServer extends EventEmitter {
666
650
  on(event: "openSecureChannelFailure", eventHandler: (socketData: ISocketData, channelData: IChannelData, endpoint: OPCUAServerEndPoint) => void): this;
667
651
  on(event: string, eventHandler: (...args: [any?, ...any[]]) => void): this;
668
652
  }
653
+ export {};