@enbox/dwn-server 0.0.1 → 0.0.3

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 (145) hide show
  1. package/README.md +13 -13
  2. package/dist/esm/src/config.d.ts +2 -6
  3. package/dist/esm/src/config.d.ts.map +1 -1
  4. package/dist/esm/src/config.js +4 -8
  5. package/dist/esm/src/config.js.map +1 -1
  6. package/dist/esm/src/connection/connection-manager.d.ts +9 -9
  7. package/dist/esm/src/connection/connection-manager.d.ts.map +1 -1
  8. package/dist/esm/src/connection/connection-manager.js +5 -3
  9. package/dist/esm/src/connection/connection-manager.js.map +1 -1
  10. package/dist/esm/src/connection/socket-connection.d.ts +18 -17
  11. package/dist/esm/src/connection/socket-connection.d.ts.map +1 -1
  12. package/dist/esm/src/connection/socket-connection.js +26 -35
  13. package/dist/esm/src/connection/socket-connection.js.map +1 -1
  14. package/dist/esm/src/dwn-error.js.map +1 -1
  15. package/dist/esm/src/dwn-server.d.ts +5 -6
  16. package/dist/esm/src/dwn-server.d.ts.map +1 -1
  17. package/dist/esm/src/dwn-server.js +3 -14
  18. package/dist/esm/src/dwn-server.js.map +1 -1
  19. package/dist/esm/src/http-api.d.ts +9 -11
  20. package/dist/esm/src/http-api.d.ts.map +1 -1
  21. package/dist/esm/src/http-api.js +450 -375
  22. package/dist/esm/src/http-api.js.map +1 -1
  23. package/dist/esm/src/json-rpc-handlers/dwn/process-message.d.ts.map +1 -1
  24. package/dist/esm/src/json-rpc-handlers/dwn/process-message.js +3 -3
  25. package/dist/esm/src/json-rpc-handlers/dwn/process-message.js.map +1 -1
  26. package/dist/esm/src/json-rpc-handlers/subscription/close.d.ts.map +1 -1
  27. package/dist/esm/src/json-rpc-handlers/subscription/close.js.map +1 -1
  28. package/dist/esm/src/json-rpc-socket.d.ts +1 -1
  29. package/dist/esm/src/json-rpc-socket.d.ts.map +1 -1
  30. package/dist/esm/src/json-rpc-socket.js +1 -1
  31. package/dist/esm/src/json-rpc-socket.js.map +1 -1
  32. package/dist/esm/src/lib/json-rpc-router.d.ts +3 -4
  33. package/dist/esm/src/lib/json-rpc-router.d.ts.map +1 -1
  34. package/dist/esm/src/lib/json-rpc-router.js.map +1 -1
  35. package/dist/esm/src/lib/json-rpc.d.ts.map +1 -1
  36. package/dist/esm/src/lib/json-rpc.js.map +1 -1
  37. package/dist/esm/src/metrics.d.ts +1 -1
  38. package/dist/esm/src/metrics.js.map +1 -1
  39. package/dist/esm/src/registration/proof-of-work-manager.d.ts +1 -1
  40. package/dist/esm/src/registration/proof-of-work-manager.d.ts.map +1 -1
  41. package/dist/esm/src/registration/proof-of-work-manager.js +3 -3
  42. package/dist/esm/src/registration/proof-of-work-manager.js.map +1 -1
  43. package/dist/esm/src/registration/registration-manager.d.ts +3 -3
  44. package/dist/esm/src/registration/registration-manager.d.ts.map +1 -1
  45. package/dist/esm/src/registration/registration-manager.js +6 -6
  46. package/dist/esm/src/registration/registration-manager.js.map +1 -1
  47. package/dist/esm/src/registration/registration-store.d.ts +1 -1
  48. package/dist/esm/src/registration/registration-store.d.ts.map +1 -1
  49. package/dist/esm/src/registration/registration-store.js.map +1 -1
  50. package/dist/esm/src/storage.d.ts +2 -2
  51. package/dist/esm/src/storage.d.ts.map +1 -1
  52. package/dist/esm/src/storage.js +5 -4
  53. package/dist/esm/src/storage.js.map +1 -1
  54. package/dist/esm/src/web5-connect/sql-ttl-cache.d.ts.map +1 -1
  55. package/dist/esm/src/web5-connect/sql-ttl-cache.js +3 -2
  56. package/dist/esm/src/web5-connect/sql-ttl-cache.js.map +1 -1
  57. package/dist/esm/src/web5-connect/web5-connect-server.d.ts.map +1 -1
  58. package/dist/esm/src/web5-connect/web5-connect-server.js +2 -2
  59. package/dist/esm/src/web5-connect/web5-connect-server.js.map +1 -1
  60. package/dist/esm/src/ws-api.d.ts +2 -4
  61. package/dist/esm/src/ws-api.d.ts.map +1 -1
  62. package/dist/esm/src/ws-api.js +6 -17
  63. package/dist/esm/src/ws-api.js.map +1 -1
  64. package/dist/esm/tests/common-scenario-validator.d.ts.map +1 -1
  65. package/dist/esm/tests/common-scenario-validator.js +2 -3
  66. package/dist/esm/tests/common-scenario-validator.js.map +1 -1
  67. package/dist/esm/tests/connection/connection-manager.spec.js +11 -9
  68. package/dist/esm/tests/connection/connection-manager.spec.js.map +1 -1
  69. package/dist/esm/tests/connection/socket-connection.spec.js +40 -18
  70. package/dist/esm/tests/connection/socket-connection.spec.js.map +1 -1
  71. package/dist/esm/tests/cors/http-api.browser.js +1 -1
  72. package/dist/esm/tests/cors/http-api.browser.js.map +1 -1
  73. package/dist/esm/tests/dwn-process-message.spec.js +4 -4
  74. package/dist/esm/tests/dwn-process-message.spec.js.map +1 -1
  75. package/dist/esm/tests/dwn-server.spec.js +8 -9
  76. package/dist/esm/tests/dwn-server.spec.js.map +1 -1
  77. package/dist/esm/tests/http-api.spec.js +92 -85
  78. package/dist/esm/tests/http-api.spec.js.map +1 -1
  79. package/dist/esm/tests/json-rpc-socket.spec.js +11 -9
  80. package/dist/esm/tests/json-rpc-socket.spec.js.map +1 -1
  81. package/dist/esm/tests/plugins/data-store-sqlite.d.ts +2 -2
  82. package/dist/esm/tests/plugins/data-store-sqlite.js +2 -2
  83. package/dist/esm/tests/plugins/event-log-sqlite.d.ts +2 -2
  84. package/dist/esm/tests/plugins/event-log-sqlite.js +2 -2
  85. package/dist/esm/tests/plugins/event-stream-in-memory.d.ts +2 -2
  86. package/dist/esm/tests/plugins/event-stream-in-memory.d.ts.map +1 -1
  87. package/dist/esm/tests/plugins/event-stream-in-memory.js +1 -1
  88. package/dist/esm/tests/plugins/event-stream-in-memory.js.map +1 -1
  89. package/dist/esm/tests/plugins/message-store-sqlite.d.ts +2 -2
  90. package/dist/esm/tests/plugins/message-store-sqlite.d.ts.map +1 -1
  91. package/dist/esm/tests/plugins/message-store-sqlite.js +2 -2
  92. package/dist/esm/tests/plugins/message-store-sqlite.js.map +1 -1
  93. package/dist/esm/tests/plugins/resumable-task-store-sqlite.d.ts +2 -2
  94. package/dist/esm/tests/plugins/resumable-task-store-sqlite.d.ts.map +1 -1
  95. package/dist/esm/tests/plugins/resumable-task-store-sqlite.js +2 -2
  96. package/dist/esm/tests/plugins/resumable-task-store-sqlite.js.map +1 -1
  97. package/dist/esm/tests/process-handler.spec.js +6 -6
  98. package/dist/esm/tests/process-handler.spec.js.map +1 -1
  99. package/dist/esm/tests/registration/proof-of-work-manager.spec.js +3 -4
  100. package/dist/esm/tests/registration/proof-of-work-manager.spec.js.map +1 -1
  101. package/dist/esm/tests/rpc-subscribe-close.spec.js +1 -1
  102. package/dist/esm/tests/rpc-subscribe-close.spec.js.map +1 -1
  103. package/dist/esm/tests/scenarios/dynamic-plugin-loading.spec.js +11 -10
  104. package/dist/esm/tests/scenarios/dynamic-plugin-loading.spec.js.map +1 -1
  105. package/dist/esm/tests/scenarios/registration.spec.js +16 -12
  106. package/dist/esm/tests/scenarios/registration.spec.js.map +1 -1
  107. package/dist/esm/tests/scenarios/web5-connect.spec.js +12 -8
  108. package/dist/esm/tests/scenarios/web5-connect.spec.js.map +1 -1
  109. package/dist/esm/tests/test-dwn.d.ts.map +1 -1
  110. package/dist/esm/tests/test-dwn.js +9 -15
  111. package/dist/esm/tests/test-dwn.js.map +1 -1
  112. package/dist/esm/tests/utils.d.ts +3 -6
  113. package/dist/esm/tests/utils.d.ts.map +1 -1
  114. package/dist/esm/tests/utils.js +9 -18
  115. package/dist/esm/tests/utils.js.map +1 -1
  116. package/dist/esm/tests/ws-api.spec.js +28 -23
  117. package/dist/esm/tests/ws-api.spec.js.map +1 -1
  118. package/package.json +15 -34
  119. package/src/config.ts +15 -19
  120. package/src/connection/connection-manager.ts +18 -12
  121. package/src/connection/socket-connection.ts +52 -57
  122. package/src/dwn-error.ts +2 -2
  123. package/src/dwn-server.ts +17 -30
  124. package/src/http-api.ts +499 -396
  125. package/src/json-rpc-handlers/dwn/process-message.ts +9 -10
  126. package/src/json-rpc-handlers/subscription/close.ts +4 -4
  127. package/src/json-rpc-socket.ts +3 -2
  128. package/src/lib/json-rpc-router.ts +5 -6
  129. package/src/lib/json-rpc.ts +6 -6
  130. package/src/metrics.ts +7 -7
  131. package/src/process-handlers.ts +5 -5
  132. package/src/registration/proof-of-work-manager.ts +11 -10
  133. package/src/registration/registration-manager.ts +23 -21
  134. package/src/registration/registration-store.ts +8 -7
  135. package/src/storage.ts +15 -13
  136. package/src/web5-connect/sql-ttl-cache.ts +5 -4
  137. package/src/web5-connect/web5-connect-server.ts +9 -8
  138. package/src/ws-api.ts +11 -26
  139. package/dist/cjs/index.js +0 -6811
  140. package/dist/cjs/package.json +0 -1
  141. package/dist/esm/src/lib/http-server-shutdown-handler.d.ts +0 -10
  142. package/dist/esm/src/lib/http-server-shutdown-handler.d.ts.map +0 -1
  143. package/dist/esm/src/lib/http-server-shutdown-handler.js +0 -65
  144. package/dist/esm/src/lib/http-server-shutdown-handler.js.map +0 -1
  145. package/src/lib/http-server-shutdown-handler.ts +0 -79
@@ -1,26 +1,24 @@
1
+ import type { Server, ServerWebSocket } from 'bun';
1
2
  import { type Dwn } from '@enbox/dwn-sdk-js';
2
- import type { Express } from 'express';
3
- import http from 'http';
4
3
  import type { DwnServerConfig } from './config.js';
5
4
  import type { RegistrationManager } from './registration/registration-manager.js';
5
+ import type { SocketConnection } from './connection/socket-connection.js';
6
6
  import { Web5ConnectServer } from './web5-connect/web5-connect-server.js';
7
+ /** Data attached to each Bun WebSocket via `ws.data`. */
8
+ export interface WsData {
9
+ connection: SocketConnection;
10
+ }
7
11
  export declare class HttpApi {
8
12
  #private;
9
13
  web5ConnectServer: Web5ConnectServer;
10
14
  registrationManager: RegistrationManager;
11
15
  dwn: Dwn;
16
+ /** Called by WsApi/ConnectionManager when a new WS connection is established. */
17
+ onWebSocketConnection?: (ws: ServerWebSocket<WsData>) => void;
12
18
  private constructor();
13
19
  static create(config: DwnServerConfig, dwn: Dwn, registrationManager?: RegistrationManager): Promise<HttpApi>;
14
- get server(): http.Server;
15
- get api(): Express;
16
- /**
17
- * Starts the HTTP API endpoint on the given port.
18
- * @returns The HTTP server instance.
19
- */
20
+ get server(): Server<WsData>;
20
21
  start(port: number): Promise<void>;
21
- /**
22
- * Stops the HTTP API endpoint.
23
- */
24
22
  close(): Promise<void>;
25
23
  }
26
24
  //# sourceMappingURL=http-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-api.d.ts","sourceRoot":"","sources":["../../../src/http-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,GAAG,EAAuD,MAAM,mBAAmB,CAAC;AAGlG,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAG1D,OAAO,IAAI,MAAM,MAAM,CAAC;AASxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAGlF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAM1E,qBAAa,OAAO;;IAKlB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,GAAG,EAAE,GAAG,CAAC;IAET,OAAO;WAEa,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,EAAE,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAuC1H,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,CAExB;IAED,IAAI,GAAG,IAAI,OAAO,CAEjB;IA2aD;;;OAGG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAc7B"}
1
+ {"version":3,"file":"http-api.d.ts","sourceRoot":"","sources":["../../../src/http-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAQnD,OAAO,EAAwB,KAAK,GAAG,EAA6C,MAAM,mBAAmB,CAAC;AAG9G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAElF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAI1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAI1E,yDAAyD;AACzD,MAAM,WAAW,MAAM;IACrB,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED,qBAAa,OAAO;;IAIlB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,GAAG,EAAE,GAAG,CAAC;IAET,iFAAiF;IACjF,qBAAqB,CAAC,EAAE,CAAC,EAAE,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAE9D,OAAO;WAEa,MAAM,CACxB,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,EAAE,mBAAmB,CAAC,EAAE,mBAAmB,GAC3E,OAAO,CAAC,OAAO,CAAC;IAkCnB,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAE3B;IAMK,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuElC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAqe7B"}