velocious 1.0.449 → 1.0.450

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 (630) hide show
  1. package/build/application.js +4 -4
  2. package/build/authorization/ability.js +8 -8
  3. package/build/authorization/base-resource.js +4 -4
  4. package/build/background-jobs/cron-expression.js +1 -1
  5. package/build/background-jobs/forked-runner-child.js +1 -1
  6. package/build/background-jobs/job-registry.js +1 -1
  7. package/build/background-jobs/job-runner.js +1 -1
  8. package/build/background-jobs/job.js +1 -1
  9. package/build/background-jobs/json-socket.js +4 -4
  10. package/build/background-jobs/main.js +21 -21
  11. package/build/background-jobs/scheduler.js +7 -7
  12. package/build/background-jobs/store.js +7 -7
  13. package/build/background-jobs/web/controller.js +2 -2
  14. package/build/background-jobs/worker.js +12 -12
  15. package/build/beacon/client.js +11 -8
  16. package/build/beacon/in-process-broker.js +2 -2
  17. package/build/beacon/in-process-client.js +2 -2
  18. package/build/beacon/server.js +3 -3
  19. package/build/cli/browser-cli.js +1 -1
  20. package/build/cli/commands/db/base-command.js +2 -2
  21. package/build/cli/index.js +2 -2
  22. package/build/cli/tenant-database-command-helper.js +3 -3
  23. package/build/cli/use-browser-cli.js +1 -1
  24. package/build/configuration.js +38 -38
  25. package/build/controller.js +8 -8
  26. package/build/current-configuration.js +1 -1
  27. package/build/database/annotations-async-hooks.js +2 -2
  28. package/build/database/annotations.js +3 -3
  29. package/build/database/drivers/base-column.js +1 -1
  30. package/build/database/drivers/base-foreign-key.js +1 -1
  31. package/build/database/drivers/base-table.js +1 -1
  32. package/build/database/drivers/base.js +10 -10
  33. package/build/database/drivers/mssql/index.js +1 -1
  34. package/build/database/drivers/mssql/table.js +1 -1
  35. package/build/database/drivers/mysql/index.js +3 -3
  36. package/build/database/drivers/mysql/query.js +1 -1
  37. package/build/database/drivers/mysql/table.js +1 -1
  38. package/build/database/drivers/pgsql/index.js +2 -2
  39. package/build/database/drivers/sqlite/base.js +16 -16
  40. package/build/database/drivers/sqlite/index.js +11 -11
  41. package/build/database/drivers/sqlite/index.native.js +1 -1
  42. package/build/database/drivers/sqlite/index.web.js +3 -3
  43. package/build/database/drivers/sqlite/query.js +1 -1
  44. package/build/database/drivers/sqlite/query.web.js +1 -1
  45. package/build/database/drivers/sqlite/sql/alter-table.js +2 -2
  46. package/build/database/drivers/sqlite/table.js +1 -1
  47. package/build/database/migrator/files-finder.js +1 -1
  48. package/build/database/migrator.js +6 -6
  49. package/build/database/pool/async-tracked-multi-connection.js +27 -27
  50. package/build/database/pool/base-methods-forward.js +4 -4
  51. package/build/database/pool/base.js +8 -8
  52. package/build/database/query/from-base.js +1 -1
  53. package/build/database/query/index.js +10 -10
  54. package/build/database/query/join-object.js +3 -3
  55. package/build/database/query/model-class-query.js +39 -39
  56. package/build/database/query/preloader/belongs-to.js +22 -22
  57. package/build/database/query/preloader/has-many.js +20 -20
  58. package/build/database/query/preloader/has-one.js +8 -8
  59. package/build/database/query/preloader/selection.js +3 -3
  60. package/build/database/query/preloader.js +8 -8
  61. package/build/database/query/query-data.js +9 -9
  62. package/build/database/query/where-model-class-hash.js +7 -7
  63. package/build/database/query/with-count.js +9 -9
  64. package/build/database/record/acts-as-list.js +15 -15
  65. package/build/database/record/attachments/handle.js +2 -2
  66. package/build/database/record/attachments/normalize-input.js +12 -12
  67. package/build/database/record/attachments/storage-drivers/s3.js +6 -6
  68. package/build/database/record/attachments/store.js +13 -13
  69. package/build/database/record/index.js +115 -121
  70. package/build/database/record/instance-relationships/base.js +11 -11
  71. package/build/database/record/instance-relationships/belongs-to.js +3 -3
  72. package/build/database/record/instance-relationships/has-many.js +8 -8
  73. package/build/database/record/instance-relationships/has-one.js +7 -7
  74. package/build/database/record/relationships/base.js +2 -2
  75. package/build/database/record/state-machine.js +7 -7
  76. package/build/database/record/validators/presence.js +1 -1
  77. package/build/database/record/validators/uniqueness.js +5 -5
  78. package/build/database/table-data/index.js +4 -4
  79. package/build/environment-handlers/base.js +2 -2
  80. package/build/environment-handlers/browser.js +7 -7
  81. package/build/environment-handlers/node/cli/commands/cli-command-context.js +1 -1
  82. package/build/environment-handlers/node/cli/commands/console.js +4 -4
  83. package/build/environment-handlers/node/cli/commands/db/schema/dump.js +1 -1
  84. package/build/environment-handlers/node/cli/commands/db/schema/load.js +3 -3
  85. package/build/environment-handlers/node/cli/commands/generate/frontend-models.js +55 -17
  86. package/build/environment-handlers/node.js +6 -6
  87. package/build/frontend-model-controller.js +81 -82
  88. package/build/frontend-model-resource/base-resource.js +78 -115
  89. package/build/frontend-models/base.js +162 -149
  90. package/build/frontend-models/clear-pending-debounced-callback.js +1 -1
  91. package/build/frontend-models/event-hook-models.js +2 -2
  92. package/build/frontend-models/outgoing-event-buffer.js +2 -2
  93. package/build/frontend-models/preloader.js +5 -5
  94. package/build/frontend-models/query.js +43 -38
  95. package/build/frontend-models/resource-definition.js +6 -6
  96. package/build/frontend-models/transport-serialization.js +11 -11
  97. package/build/frontend-models/use-destroyed-event.js +10 -10
  98. package/build/frontend-models/use-model-class-event.js +11 -11
  99. package/build/frontend-models/use-updated-event.js +11 -11
  100. package/build/frontend-models/websocket-channel.js +26 -17
  101. package/build/frontend-models/websocket-publishers.js +9 -9
  102. package/build/http-client/response.js +2 -2
  103. package/build/http-server/client/index.js +8 -8
  104. package/build/http-server/client/params-to-object.js +10 -10
  105. package/build/http-server/client/request-buffer/form-data-part.js +2 -2
  106. package/build/http-server/client/request-buffer/index.js +8 -8
  107. package/build/http-server/client/request-parser.js +3 -3
  108. package/build/http-server/client/request-runner.js +6 -6
  109. package/build/http-server/client/request-timing.js +5 -5
  110. package/build/http-server/client/request.js +1 -1
  111. package/build/http-server/client/response.js +5 -5
  112. package/build/http-server/client/websocket-request.js +4 -4
  113. package/build/http-server/client/websocket-session.js +18 -18
  114. package/build/http-server/development-reloader.js +5 -5
  115. package/build/http-server/index.js +12 -12
  116. package/build/http-server/remote-address.js +4 -4
  117. package/build/http-server/server-client.js +3 -3
  118. package/build/http-server/server-lock.js +4 -4
  119. package/build/http-server/websocket-channel-subscribers.js +3 -3
  120. package/build/http-server/websocket-channel.js +1 -1
  121. package/build/http-server/websocket-connection.js +1 -1
  122. package/build/http-server/websocket-event-log-store.js +6 -6
  123. package/build/http-server/websocket-events-host.js +2 -2
  124. package/build/http-server/worker-handler/in-process.js +7 -7
  125. package/build/http-server/worker-handler/index.js +4 -4
  126. package/build/http-server/worker-handler/worker-thread.js +3 -3
  127. package/build/logger/outputs/array-output.js +3 -3
  128. package/build/logger/outputs/console-output.js +1 -1
  129. package/build/logger/outputs/file-output.js +4 -4
  130. package/build/logger/outputs/stdout-output.js +1 -1
  131. package/build/logger.js +10 -10
  132. package/build/mailer/backends/smtp.js +3 -3
  133. package/build/mailer/base.js +8 -8
  134. package/build/mailer/delivery.js +4 -4
  135. package/build/plugins/sqljs-wasm-route-controller.js +1 -1
  136. package/build/routes/base-route.js +6 -6
  137. package/build/routes/basic-route.js +1 -1
  138. package/build/routes/hooks/frontend-model-command-route-hook.js +1 -1
  139. package/build/routes/index.js +1 -1
  140. package/build/routes/plugin-routes.js +1 -1
  141. package/build/routes/resolver.js +11 -11
  142. package/build/routes/resource-route.js +1 -1
  143. package/build/src/application.d.ts +3 -3
  144. package/build/src/application.d.ts.map +1 -1
  145. package/build/src/application.js +5 -5
  146. package/build/src/authorization/ability.d.ts +7 -7
  147. package/build/src/authorization/ability.d.ts.map +1 -1
  148. package/build/src/authorization/ability.js +9 -9
  149. package/build/src/authorization/base-resource.d.ts +1 -1
  150. package/build/src/authorization/base-resource.d.ts.map +1 -1
  151. package/build/src/authorization/base-resource.js +5 -5
  152. package/build/src/background-jobs/cron-expression.js +2 -2
  153. package/build/src/background-jobs/forked-runner-child.js +2 -2
  154. package/build/src/background-jobs/job-registry.d.ts +1 -1
  155. package/build/src/background-jobs/job-registry.d.ts.map +1 -1
  156. package/build/src/background-jobs/job-registry.js +2 -2
  157. package/build/src/background-jobs/job-runner.js +2 -2
  158. package/build/src/background-jobs/job.js +2 -2
  159. package/build/src/background-jobs/json-socket.d.ts +4 -4
  160. package/build/src/background-jobs/json-socket.d.ts.map +1 -1
  161. package/build/src/background-jobs/json-socket.js +5 -5
  162. package/build/src/background-jobs/main.d.ts +18 -18
  163. package/build/src/background-jobs/main.d.ts.map +1 -1
  164. package/build/src/background-jobs/main.js +22 -22
  165. package/build/src/background-jobs/scheduler.d.ts +5 -5
  166. package/build/src/background-jobs/scheduler.d.ts.map +1 -1
  167. package/build/src/background-jobs/scheduler.js +8 -8
  168. package/build/src/background-jobs/store.js +8 -8
  169. package/build/src/background-jobs/web/controller.js +3 -3
  170. package/build/src/background-jobs/worker.d.ts +6 -6
  171. package/build/src/background-jobs/worker.d.ts.map +1 -1
  172. package/build/src/background-jobs/worker.js +13 -13
  173. package/build/src/beacon/client.d.ts +4 -4
  174. package/build/src/beacon/client.d.ts.map +1 -1
  175. package/build/src/beacon/client.js +12 -9
  176. package/build/src/beacon/in-process-broker.d.ts.map +1 -1
  177. package/build/src/beacon/in-process-broker.js +3 -3
  178. package/build/src/beacon/in-process-client.d.ts +1 -1
  179. package/build/src/beacon/in-process-client.d.ts.map +1 -1
  180. package/build/src/beacon/in-process-client.js +3 -3
  181. package/build/src/beacon/server.d.ts +2 -2
  182. package/build/src/beacon/server.d.ts.map +1 -1
  183. package/build/src/beacon/server.js +4 -4
  184. package/build/src/cli/browser-cli.js +2 -2
  185. package/build/src/cli/commands/db/base-command.d.ts +2 -2
  186. package/build/src/cli/commands/db/base-command.d.ts.map +1 -1
  187. package/build/src/cli/commands/db/base-command.js +3 -3
  188. package/build/src/cli/index.js +3 -3
  189. package/build/src/cli/tenant-database-command-helper.d.ts +1 -1
  190. package/build/src/cli/tenant-database-command-helper.d.ts.map +1 -1
  191. package/build/src/cli/tenant-database-command-helper.js +4 -4
  192. package/build/src/cli/use-browser-cli.js +2 -2
  193. package/build/src/configuration.d.ts +14 -14
  194. package/build/src/configuration.d.ts.map +1 -1
  195. package/build/src/configuration.js +39 -39
  196. package/build/src/controller.js +10 -10
  197. package/build/src/current-configuration.js +2 -2
  198. package/build/src/database/annotations-async-hooks.js +3 -3
  199. package/build/src/database/annotations.d.ts.map +1 -1
  200. package/build/src/database/annotations.js +4 -4
  201. package/build/src/database/drivers/base-column.d.ts +1 -1
  202. package/build/src/database/drivers/base-column.d.ts.map +1 -1
  203. package/build/src/database/drivers/base-column.js +2 -2
  204. package/build/src/database/drivers/base-foreign-key.d.ts +1 -1
  205. package/build/src/database/drivers/base-foreign-key.d.ts.map +1 -1
  206. package/build/src/database/drivers/base-foreign-key.js +2 -2
  207. package/build/src/database/drivers/base-table.d.ts +1 -1
  208. package/build/src/database/drivers/base-table.d.ts.map +1 -1
  209. package/build/src/database/drivers/base-table.js +2 -2
  210. package/build/src/database/drivers/base.d.ts +6 -6
  211. package/build/src/database/drivers/base.d.ts.map +1 -1
  212. package/build/src/database/drivers/base.js +11 -11
  213. package/build/src/database/drivers/mssql/index.js +2 -2
  214. package/build/src/database/drivers/mssql/table.js +2 -2
  215. package/build/src/database/drivers/mysql/index.js +4 -4
  216. package/build/src/database/drivers/mysql/query.js +2 -2
  217. package/build/src/database/drivers/mysql/table.js +2 -2
  218. package/build/src/database/drivers/pgsql/index.js +3 -3
  219. package/build/src/database/drivers/sqlite/base.d.ts +3 -3
  220. package/build/src/database/drivers/sqlite/base.d.ts.map +1 -1
  221. package/build/src/database/drivers/sqlite/base.js +17 -17
  222. package/build/src/database/drivers/sqlite/index.d.ts +4 -4
  223. package/build/src/database/drivers/sqlite/index.d.ts.map +1 -1
  224. package/build/src/database/drivers/sqlite/index.js +12 -12
  225. package/build/src/database/drivers/sqlite/index.native.js +2 -2
  226. package/build/src/database/drivers/sqlite/index.web.d.ts +2 -2
  227. package/build/src/database/drivers/sqlite/index.web.d.ts.map +1 -1
  228. package/build/src/database/drivers/sqlite/index.web.js +4 -4
  229. package/build/src/database/drivers/sqlite/query.js +2 -2
  230. package/build/src/database/drivers/sqlite/query.web.js +2 -2
  231. package/build/src/database/drivers/sqlite/sql/alter-table.js +3 -3
  232. package/build/src/database/drivers/sqlite/table.js +2 -2
  233. package/build/src/database/migrator/files-finder.js +2 -2
  234. package/build/src/database/migrator.d.ts +1 -1
  235. package/build/src/database/migrator.d.ts.map +1 -1
  236. package/build/src/database/migrator.js +7 -7
  237. package/build/src/database/pool/async-tracked-multi-connection.d.ts +9 -9
  238. package/build/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -1
  239. package/build/src/database/pool/async-tracked-multi-connection.js +28 -28
  240. package/build/src/database/pool/base-methods-forward.js +7 -7
  241. package/build/src/database/pool/base.d.ts +1 -1
  242. package/build/src/database/pool/base.d.ts.map +1 -1
  243. package/build/src/database/pool/base.js +9 -9
  244. package/build/src/database/query/from-base.d.ts +1 -1
  245. package/build/src/database/query/from-base.d.ts.map +1 -1
  246. package/build/src/database/query/from-base.js +2 -2
  247. package/build/src/database/query/index.d.ts +4 -4
  248. package/build/src/database/query/index.d.ts.map +1 -1
  249. package/build/src/database/query/index.js +11 -11
  250. package/build/src/database/query/join-object.js +4 -4
  251. package/build/src/database/query/model-class-query.d.ts +4 -4
  252. package/build/src/database/query/model-class-query.d.ts.map +1 -1
  253. package/build/src/database/query/model-class-query.js +40 -40
  254. package/build/src/database/query/preloader/belongs-to.js +23 -23
  255. package/build/src/database/query/preloader/has-many.js +21 -21
  256. package/build/src/database/query/preloader/has-one.js +9 -9
  257. package/build/src/database/query/preloader/selection.js +4 -4
  258. package/build/src/database/query/preloader.js +9 -9
  259. package/build/src/database/query/query-data.js +10 -10
  260. package/build/src/database/query/where-model-class-hash.js +8 -8
  261. package/build/src/database/query/with-count.js +10 -10
  262. package/build/src/database/record/acts-as-list.js +20 -20
  263. package/build/src/database/record/attachments/handle.d.ts +1 -1
  264. package/build/src/database/record/attachments/handle.d.ts.map +1 -1
  265. package/build/src/database/record/attachments/handle.js +3 -3
  266. package/build/src/database/record/attachments/normalize-input.js +15 -15
  267. package/build/src/database/record/attachments/storage-drivers/s3.js +7 -7
  268. package/build/src/database/record/attachments/store.d.ts +2 -2
  269. package/build/src/database/record/attachments/store.d.ts.map +1 -1
  270. package/build/src/database/record/attachments/store.js +14 -14
  271. package/build/src/database/record/index.d.ts +18 -25
  272. package/build/src/database/record/index.d.ts.map +1 -1
  273. package/build/src/database/record/index.js +135 -141
  274. package/build/src/database/record/instance-relationships/base.d.ts +3 -3
  275. package/build/src/database/record/instance-relationships/base.d.ts.map +1 -1
  276. package/build/src/database/record/instance-relationships/base.js +13 -13
  277. package/build/src/database/record/instance-relationships/belongs-to.js +4 -4
  278. package/build/src/database/record/instance-relationships/has-many.js +9 -9
  279. package/build/src/database/record/instance-relationships/has-one.d.ts +1 -1
  280. package/build/src/database/record/instance-relationships/has-one.d.ts.map +1 -1
  281. package/build/src/database/record/instance-relationships/has-one.js +8 -8
  282. package/build/src/database/record/relationships/base.js +4 -4
  283. package/build/src/database/record/state-machine.js +8 -8
  284. package/build/src/database/record/validators/presence.js +2 -2
  285. package/build/src/database/record/validators/uniqueness.js +6 -6
  286. package/build/src/database/table-data/index.d.ts +4 -4
  287. package/build/src/database/table-data/index.d.ts.map +1 -1
  288. package/build/src/database/table-data/index.js +5 -5
  289. package/build/src/environment-handlers/base.js +3 -3
  290. package/build/src/environment-handlers/browser.d.ts +3 -3
  291. package/build/src/environment-handlers/browser.d.ts.map +1 -1
  292. package/build/src/environment-handlers/browser.js +8 -8
  293. package/build/src/environment-handlers/node/cli/commands/cli-command-context.js +2 -2
  294. package/build/src/environment-handlers/node/cli/commands/console.d.ts.map +1 -1
  295. package/build/src/environment-handlers/node/cli/commands/console.js +5 -5
  296. package/build/src/environment-handlers/node/cli/commands/db/schema/dump.d.ts +1 -1
  297. package/build/src/environment-handlers/node/cli/commands/db/schema/dump.d.ts.map +1 -1
  298. package/build/src/environment-handlers/node/cli/commands/db/schema/dump.js +2 -2
  299. package/build/src/environment-handlers/node/cli/commands/db/schema/load.d.ts +1 -1
  300. package/build/src/environment-handlers/node/cli/commands/db/schema/load.d.ts.map +1 -1
  301. package/build/src/environment-handlers/node/cli/commands/db/schema/load.js +4 -4
  302. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +16 -1
  303. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
  304. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.js +51 -17
  305. package/build/src/environment-handlers/node.d.ts +2 -2
  306. package/build/src/environment-handlers/node.d.ts.map +1 -1
  307. package/build/src/environment-handlers/node.js +7 -7
  308. package/build/src/frontend-model-controller.d.ts +5 -6
  309. package/build/src/frontend-model-controller.d.ts.map +1 -1
  310. package/build/src/frontend-model-controller.js +88 -89
  311. package/build/src/frontend-model-resource/base-resource.d.ts +36 -27
  312. package/build/src/frontend-model-resource/base-resource.d.ts.map +1 -1
  313. package/build/src/frontend-model-resource/base-resource.js +67 -120
  314. package/build/src/frontend-models/base.d.ts +66 -58
  315. package/build/src/frontend-models/base.d.ts.map +1 -1
  316. package/build/src/frontend-models/base.js +171 -158
  317. package/build/src/frontend-models/clear-pending-debounced-callback.js +2 -2
  318. package/build/src/frontend-models/event-hook-models.d.ts.map +1 -1
  319. package/build/src/frontend-models/event-hook-models.js +3 -3
  320. package/build/src/frontend-models/outgoing-event-buffer.d.ts +1 -1
  321. package/build/src/frontend-models/outgoing-event-buffer.d.ts.map +1 -1
  322. package/build/src/frontend-models/outgoing-event-buffer.js +3 -3
  323. package/build/src/frontend-models/preloader.js +6 -6
  324. package/build/src/frontend-models/query.d.ts +16 -8
  325. package/build/src/frontend-models/query.d.ts.map +1 -1
  326. package/build/src/frontend-models/query.js +43 -39
  327. package/build/src/frontend-models/resource-definition.js +7 -7
  328. package/build/src/frontend-models/transport-serialization.js +12 -12
  329. package/build/src/frontend-models/use-destroyed-event.d.ts.map +1 -1
  330. package/build/src/frontend-models/use-destroyed-event.js +11 -11
  331. package/build/src/frontend-models/use-model-class-event.d.ts.map +1 -1
  332. package/build/src/frontend-models/use-model-class-event.js +12 -12
  333. package/build/src/frontend-models/use-updated-event.d.ts.map +1 -1
  334. package/build/src/frontend-models/use-updated-event.js +12 -12
  335. package/build/src/frontend-models/websocket-channel.d.ts +6 -1
  336. package/build/src/frontend-models/websocket-channel.d.ts.map +1 -1
  337. package/build/src/frontend-models/websocket-channel.js +26 -18
  338. package/build/src/frontend-models/websocket-publishers.js +11 -11
  339. package/build/src/http-client/response.d.ts +2 -2
  340. package/build/src/http-client/response.d.ts.map +1 -1
  341. package/build/src/http-client/response.js +3 -3
  342. package/build/src/http-server/client/index.d.ts +1 -1
  343. package/build/src/http-server/client/index.d.ts.map +1 -1
  344. package/build/src/http-server/client/index.js +9 -9
  345. package/build/src/http-server/client/params-to-object.js +11 -11
  346. package/build/src/http-server/client/request-buffer/form-data-part.d.ts +2 -2
  347. package/build/src/http-server/client/request-buffer/form-data-part.d.ts.map +1 -1
  348. package/build/src/http-server/client/request-buffer/form-data-part.js +3 -3
  349. package/build/src/http-server/client/request-buffer/index.d.ts +4 -4
  350. package/build/src/http-server/client/request-buffer/index.d.ts.map +1 -1
  351. package/build/src/http-server/client/request-buffer/index.js +9 -9
  352. package/build/src/http-server/client/request-parser.d.ts +1 -1
  353. package/build/src/http-server/client/request-parser.d.ts.map +1 -1
  354. package/build/src/http-server/client/request-parser.js +4 -4
  355. package/build/src/http-server/client/request-runner.js +7 -7
  356. package/build/src/http-server/client/request-timing.d.ts +5 -5
  357. package/build/src/http-server/client/request-timing.d.ts.map +1 -1
  358. package/build/src/http-server/client/request-timing.js +6 -6
  359. package/build/src/http-server/client/request.js +2 -2
  360. package/build/src/http-server/client/response.d.ts +3 -3
  361. package/build/src/http-server/client/response.d.ts.map +1 -1
  362. package/build/src/http-server/client/response.js +6 -6
  363. package/build/src/http-server/client/websocket-request.d.ts +3 -3
  364. package/build/src/http-server/client/websocket-request.d.ts.map +1 -1
  365. package/build/src/http-server/client/websocket-request.js +5 -5
  366. package/build/src/http-server/client/websocket-session.d.ts +6 -6
  367. package/build/src/http-server/client/websocket-session.d.ts.map +1 -1
  368. package/build/src/http-server/client/websocket-session.js +19 -19
  369. package/build/src/http-server/development-reloader.d.ts +3 -3
  370. package/build/src/http-server/development-reloader.d.ts.map +1 -1
  371. package/build/src/http-server/development-reloader.js +6 -6
  372. package/build/src/http-server/index.d.ts +7 -7
  373. package/build/src/http-server/index.d.ts.map +1 -1
  374. package/build/src/http-server/index.js +13 -13
  375. package/build/src/http-server/remote-address.js +6 -6
  376. package/build/src/http-server/server-client.js +4 -4
  377. package/build/src/http-server/server-lock.js +5 -5
  378. package/build/src/http-server/websocket-channel-subscribers.d.ts +1 -1
  379. package/build/src/http-server/websocket-channel-subscribers.d.ts.map +1 -1
  380. package/build/src/http-server/websocket-channel-subscribers.js +4 -4
  381. package/build/src/http-server/websocket-channel.d.ts +1 -1
  382. package/build/src/http-server/websocket-channel.d.ts.map +1 -1
  383. package/build/src/http-server/websocket-channel.js +2 -2
  384. package/build/src/http-server/websocket-connection.d.ts +1 -1
  385. package/build/src/http-server/websocket-connection.d.ts.map +1 -1
  386. package/build/src/http-server/websocket-connection.js +2 -2
  387. package/build/src/http-server/websocket-event-log-store.d.ts +1 -1
  388. package/build/src/http-server/websocket-event-log-store.d.ts.map +1 -1
  389. package/build/src/http-server/websocket-event-log-store.js +7 -7
  390. package/build/src/http-server/websocket-events-host.d.ts +1 -1
  391. package/build/src/http-server/websocket-events-host.d.ts.map +1 -1
  392. package/build/src/http-server/websocket-events-host.js +3 -3
  393. package/build/src/http-server/worker-handler/in-process.d.ts +3 -3
  394. package/build/src/http-server/worker-handler/in-process.d.ts.map +1 -1
  395. package/build/src/http-server/worker-handler/in-process.js +9 -9
  396. package/build/src/http-server/worker-handler/index.d.ts +4 -4
  397. package/build/src/http-server/worker-handler/index.d.ts.map +1 -1
  398. package/build/src/http-server/worker-handler/index.js +5 -5
  399. package/build/src/http-server/worker-handler/worker-thread.d.ts +2 -2
  400. package/build/src/http-server/worker-handler/worker-thread.d.ts.map +1 -1
  401. package/build/src/http-server/worker-handler/worker-thread.js +4 -4
  402. package/build/src/logger/outputs/array-output.d.ts +3 -3
  403. package/build/src/logger/outputs/array-output.d.ts.map +1 -1
  404. package/build/src/logger/outputs/array-output.js +4 -4
  405. package/build/src/logger/outputs/console-output.d.ts +1 -1
  406. package/build/src/logger/outputs/console-output.d.ts.map +1 -1
  407. package/build/src/logger/outputs/console-output.js +2 -2
  408. package/build/src/logger/outputs/file-output.d.ts +4 -4
  409. package/build/src/logger/outputs/file-output.d.ts.map +1 -1
  410. package/build/src/logger/outputs/file-output.js +5 -5
  411. package/build/src/logger/outputs/stdout-output.d.ts.map +1 -1
  412. package/build/src/logger/outputs/stdout-output.js +2 -2
  413. package/build/src/logger.d.ts.map +1 -1
  414. package/build/src/logger.js +11 -11
  415. package/build/src/mailer/backends/smtp.d.ts.map +1 -1
  416. package/build/src/mailer/backends/smtp.js +5 -5
  417. package/build/src/mailer/base.js +11 -11
  418. package/build/src/mailer/delivery.d.ts +3 -3
  419. package/build/src/mailer/delivery.d.ts.map +1 -1
  420. package/build/src/mailer/delivery.js +5 -5
  421. package/build/src/plugins/sqljs-wasm-route-controller.js +2 -2
  422. package/build/src/routes/base-route.d.ts +6 -6
  423. package/build/src/routes/base-route.d.ts.map +1 -1
  424. package/build/src/routes/base-route.js +7 -7
  425. package/build/src/routes/basic-route.js +2 -2
  426. package/build/src/routes/hooks/frontend-model-command-route-hook.js +2 -2
  427. package/build/src/routes/index.js +2 -2
  428. package/build/src/routes/plugin-routes.js +2 -2
  429. package/build/src/routes/resolver.d.ts +1 -1
  430. package/build/src/routes/resolver.d.ts.map +1 -1
  431. package/build/src/routes/resolver.js +13 -13
  432. package/build/src/routes/resource-route.d.ts +1 -1
  433. package/build/src/routes/resource-route.d.ts.map +1 -1
  434. package/build/src/routes/resource-route.js +2 -2
  435. package/build/src/testing/browser-frontend-model-event-hook-scenarios.d.ts.map +1 -1
  436. package/build/src/testing/browser-frontend-model-event-hook-scenarios.js +8 -8
  437. package/build/src/testing/expect-utils.js +13 -13
  438. package/build/src/testing/expect.d.ts +1 -1
  439. package/build/src/testing/expect.d.ts.map +1 -1
  440. package/build/src/testing/expect.js +9 -9
  441. package/build/src/testing/test-files-finder.d.ts +8 -8
  442. package/build/src/testing/test-files-finder.d.ts.map +1 -1
  443. package/build/src/testing/test-files-finder.js +9 -9
  444. package/build/src/testing/test-filter-parser.js +3 -3
  445. package/build/src/testing/test-runner.d.ts +2 -2
  446. package/build/src/testing/test-runner.d.ts.map +1 -1
  447. package/build/src/testing/test-runner.js +17 -17
  448. package/build/src/testing/test-suite-splitter.js +2 -2
  449. package/build/src/testing/test.d.ts +2 -2
  450. package/build/src/testing/test.d.ts.map +1 -1
  451. package/build/src/testing/test.js +16 -16
  452. package/build/src/utils/backtrace-cleaner.d.ts +1 -1
  453. package/build/src/utils/backtrace-cleaner.d.ts.map +1 -1
  454. package/build/src/utils/backtrace-cleaner.js +2 -2
  455. package/build/src/utils/format-value.js +2 -2
  456. package/build/src/utils/model-scope.js +2 -2
  457. package/build/src/utils/ransack.js +27 -27
  458. package/build/src/utils/with-tracked-stack-async-hooks.js +8 -8
  459. package/build/src/utils/with-tracked-stack.js +4 -4
  460. package/build/testing/browser-frontend-model-event-hook-scenarios.js +7 -7
  461. package/build/testing/expect-utils.js +11 -11
  462. package/build/testing/expect.js +7 -7
  463. package/build/testing/test-files-finder.js +8 -8
  464. package/build/testing/test-filter-parser.js +2 -2
  465. package/build/testing/test-runner.js +16 -16
  466. package/build/testing/test-suite-splitter.js +1 -1
  467. package/build/testing/test.js +15 -15
  468. package/build/utils/backtrace-cleaner.js +1 -1
  469. package/build/utils/format-value.js +1 -1
  470. package/build/utils/model-scope.js +1 -1
  471. package/build/utils/ransack.js +26 -26
  472. package/build/utils/with-tracked-stack-async-hooks.js +7 -7
  473. package/build/utils/with-tracked-stack.js +3 -3
  474. package/package.json +2 -1
  475. package/src/application.js +4 -4
  476. package/src/authorization/ability.js +8 -8
  477. package/src/authorization/base-resource.js +4 -4
  478. package/src/background-jobs/cron-expression.js +1 -1
  479. package/src/background-jobs/forked-runner-child.js +1 -1
  480. package/src/background-jobs/job-registry.js +1 -1
  481. package/src/background-jobs/job-runner.js +1 -1
  482. package/src/background-jobs/job.js +1 -1
  483. package/src/background-jobs/json-socket.js +4 -4
  484. package/src/background-jobs/main.js +21 -21
  485. package/src/background-jobs/scheduler.js +7 -7
  486. package/src/background-jobs/store.js +7 -7
  487. package/src/background-jobs/web/controller.js +2 -2
  488. package/src/background-jobs/worker.js +12 -12
  489. package/src/beacon/client.js +11 -8
  490. package/src/beacon/in-process-broker.js +2 -2
  491. package/src/beacon/in-process-client.js +2 -2
  492. package/src/beacon/server.js +3 -3
  493. package/src/cli/browser-cli.js +1 -1
  494. package/src/cli/commands/db/base-command.js +2 -2
  495. package/src/cli/index.js +2 -2
  496. package/src/cli/tenant-database-command-helper.js +3 -3
  497. package/src/cli/use-browser-cli.js +1 -1
  498. package/src/configuration.js +38 -38
  499. package/src/controller.js +8 -8
  500. package/src/current-configuration.js +1 -1
  501. package/src/database/annotations-async-hooks.js +2 -2
  502. package/src/database/annotations.js +3 -3
  503. package/src/database/drivers/base-column.js +1 -1
  504. package/src/database/drivers/base-foreign-key.js +1 -1
  505. package/src/database/drivers/base-table.js +1 -1
  506. package/src/database/drivers/base.js +10 -10
  507. package/src/database/drivers/mssql/index.js +1 -1
  508. package/src/database/drivers/mssql/table.js +1 -1
  509. package/src/database/drivers/mysql/index.js +3 -3
  510. package/src/database/drivers/mysql/query.js +1 -1
  511. package/src/database/drivers/mysql/table.js +1 -1
  512. package/src/database/drivers/pgsql/index.js +2 -2
  513. package/src/database/drivers/sqlite/base.js +16 -16
  514. package/src/database/drivers/sqlite/index.js +11 -11
  515. package/src/database/drivers/sqlite/index.native.js +1 -1
  516. package/src/database/drivers/sqlite/index.web.js +3 -3
  517. package/src/database/drivers/sqlite/query.js +1 -1
  518. package/src/database/drivers/sqlite/query.web.js +1 -1
  519. package/src/database/drivers/sqlite/sql/alter-table.js +2 -2
  520. package/src/database/drivers/sqlite/table.js +1 -1
  521. package/src/database/migrator/files-finder.js +1 -1
  522. package/src/database/migrator.js +6 -6
  523. package/src/database/pool/async-tracked-multi-connection.js +27 -27
  524. package/src/database/pool/base-methods-forward.js +4 -4
  525. package/src/database/pool/base.js +8 -8
  526. package/src/database/query/from-base.js +1 -1
  527. package/src/database/query/index.js +10 -10
  528. package/src/database/query/join-object.js +3 -3
  529. package/src/database/query/model-class-query.js +39 -39
  530. package/src/database/query/preloader/belongs-to.js +22 -22
  531. package/src/database/query/preloader/has-many.js +20 -20
  532. package/src/database/query/preloader/has-one.js +8 -8
  533. package/src/database/query/preloader/selection.js +3 -3
  534. package/src/database/query/preloader.js +8 -8
  535. package/src/database/query/query-data.js +9 -9
  536. package/src/database/query/where-model-class-hash.js +7 -7
  537. package/src/database/query/with-count.js +9 -9
  538. package/src/database/record/acts-as-list.js +15 -15
  539. package/src/database/record/attachments/handle.js +2 -2
  540. package/src/database/record/attachments/normalize-input.js +12 -12
  541. package/src/database/record/attachments/storage-drivers/s3.js +6 -6
  542. package/src/database/record/attachments/store.js +13 -13
  543. package/src/database/record/index.js +115 -121
  544. package/src/database/record/instance-relationships/base.js +11 -11
  545. package/src/database/record/instance-relationships/belongs-to.js +3 -3
  546. package/src/database/record/instance-relationships/has-many.js +8 -8
  547. package/src/database/record/instance-relationships/has-one.js +7 -7
  548. package/src/database/record/relationships/base.js +2 -2
  549. package/src/database/record/state-machine.js +7 -7
  550. package/src/database/record/validators/presence.js +1 -1
  551. package/src/database/record/validators/uniqueness.js +5 -5
  552. package/src/database/table-data/index.js +4 -4
  553. package/src/environment-handlers/base.js +2 -2
  554. package/src/environment-handlers/browser.js +7 -7
  555. package/src/environment-handlers/node/cli/commands/cli-command-context.js +1 -1
  556. package/src/environment-handlers/node/cli/commands/console.js +4 -4
  557. package/src/environment-handlers/node/cli/commands/db/schema/dump.js +1 -1
  558. package/src/environment-handlers/node/cli/commands/db/schema/load.js +3 -3
  559. package/src/environment-handlers/node/cli/commands/generate/frontend-models.js +55 -17
  560. package/src/environment-handlers/node.js +6 -6
  561. package/src/frontend-model-controller.js +81 -82
  562. package/src/frontend-model-resource/base-resource.js +78 -115
  563. package/src/frontend-models/base.js +162 -149
  564. package/src/frontend-models/clear-pending-debounced-callback.js +1 -1
  565. package/src/frontend-models/event-hook-models.js +2 -2
  566. package/src/frontend-models/outgoing-event-buffer.js +2 -2
  567. package/src/frontend-models/preloader.js +5 -5
  568. package/src/frontend-models/query.js +43 -38
  569. package/src/frontend-models/resource-definition.js +6 -6
  570. package/src/frontend-models/transport-serialization.js +11 -11
  571. package/src/frontend-models/use-destroyed-event.js +10 -10
  572. package/src/frontend-models/use-model-class-event.js +11 -11
  573. package/src/frontend-models/use-updated-event.js +11 -11
  574. package/src/frontend-models/websocket-channel.js +26 -17
  575. package/src/frontend-models/websocket-publishers.js +9 -9
  576. package/src/http-client/response.js +2 -2
  577. package/src/http-server/client/index.js +8 -8
  578. package/src/http-server/client/params-to-object.js +10 -10
  579. package/src/http-server/client/request-buffer/form-data-part.js +2 -2
  580. package/src/http-server/client/request-buffer/index.js +8 -8
  581. package/src/http-server/client/request-parser.js +3 -3
  582. package/src/http-server/client/request-runner.js +6 -6
  583. package/src/http-server/client/request-timing.js +5 -5
  584. package/src/http-server/client/request.js +1 -1
  585. package/src/http-server/client/response.js +5 -5
  586. package/src/http-server/client/websocket-request.js +4 -4
  587. package/src/http-server/client/websocket-session.js +18 -18
  588. package/src/http-server/development-reloader.js +5 -5
  589. package/src/http-server/index.js +12 -12
  590. package/src/http-server/remote-address.js +4 -4
  591. package/src/http-server/server-client.js +3 -3
  592. package/src/http-server/server-lock.js +4 -4
  593. package/src/http-server/websocket-channel-subscribers.js +3 -3
  594. package/src/http-server/websocket-channel.js +1 -1
  595. package/src/http-server/websocket-connection.js +1 -1
  596. package/src/http-server/websocket-event-log-store.js +6 -6
  597. package/src/http-server/websocket-events-host.js +2 -2
  598. package/src/http-server/worker-handler/in-process.js +7 -7
  599. package/src/http-server/worker-handler/index.js +4 -4
  600. package/src/http-server/worker-handler/worker-thread.js +3 -3
  601. package/src/logger/outputs/array-output.js +3 -3
  602. package/src/logger/outputs/console-output.js +1 -1
  603. package/src/logger/outputs/file-output.js +4 -4
  604. package/src/logger/outputs/stdout-output.js +1 -1
  605. package/src/logger.js +10 -10
  606. package/src/mailer/backends/smtp.js +3 -3
  607. package/src/mailer/base.js +8 -8
  608. package/src/mailer/delivery.js +4 -4
  609. package/src/plugins/sqljs-wasm-route-controller.js +1 -1
  610. package/src/routes/base-route.js +6 -6
  611. package/src/routes/basic-route.js +1 -1
  612. package/src/routes/hooks/frontend-model-command-route-hook.js +1 -1
  613. package/src/routes/index.js +1 -1
  614. package/src/routes/plugin-routes.js +1 -1
  615. package/src/routes/resolver.js +11 -11
  616. package/src/routes/resource-route.js +1 -1
  617. package/src/testing/browser-frontend-model-event-hook-scenarios.js +7 -7
  618. package/src/testing/expect-utils.js +11 -11
  619. package/src/testing/expect.js +7 -7
  620. package/src/testing/test-files-finder.js +8 -8
  621. package/src/testing/test-filter-parser.js +2 -2
  622. package/src/testing/test-runner.js +16 -16
  623. package/src/testing/test-suite-splitter.js +1 -1
  624. package/src/testing/test.js +15 -15
  625. package/src/utils/backtrace-cleaner.js +1 -1
  626. package/src/utils/format-value.js +1 -1
  627. package/src/utils/model-scope.js +1 -1
  628. package/src/utils/ransack.js +26 -26
  629. package/src/utils/with-tracked-stack-async-hooks.js +7 -7
  630. package/src/utils/with-tracked-stack.js +3 -3
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * Named status aliases.
5
- @type {Record<string, number>} */
5
+ * @type {Record<string, number>} */
6
6
  const NAMED_STATUS_ALIASES = {
7
7
  "success": 200,
8
8
  "not-found": 404,
@@ -11,7 +11,7 @@ const NAMED_STATUS_ALIASES = {
11
11
 
12
12
  /**
13
13
  * Standard status messages.
14
- @type {Record<number, string>} */
14
+ * @type {Record<number, string>} */
15
15
  const STANDARD_STATUS_MESSAGES = {
16
16
  100: "Continue",
17
17
  101: "Switching Protocols",
@@ -80,17 +80,17 @@ const STANDARD_STATUS_MESSAGES = {
80
80
  export default class VelociousHttpServerClientResponse {
81
81
  /**
82
82
  * Body.
83
- @type {string | Uint8Array | null} */
83
+ * @type {string | Uint8Array | null} */
84
84
  body = null
85
85
 
86
86
  /**
87
87
  * File path.
88
- @type {string | null} */
88
+ * @type {string | null} */
89
89
  filePath = null
90
90
 
91
91
  /**
92
92
  * Headers.
93
- @type {Record<string, string[]>} */
93
+ * @type {Record<string, string[]>} */
94
94
  headers = {}
95
95
 
96
96
  /**
@@ -21,16 +21,16 @@ export default class VelociousHttpServerClientWebsocketRequest {
21
21
  this.body = body
22
22
  /**
23
23
  * Narrows the runtime value to the documented type.
24
- @type {Record<string, string>} */
24
+ * @type {Record<string, string>} */
25
25
  this.headersMap = {}
26
26
  /**
27
27
  * Narrows the runtime value to the documented type.
28
- @type {Record<string, ?>} */
28
+ * @type {Record<string, ?>} */
29
29
  this.metadataObject = metadata ? {...metadata} : {}
30
30
  this.method = method.toUpperCase()
31
31
  /**
32
32
  * Narrows the runtime value to the documented type.
33
- @type {Record<string, ?>} */
33
+ * @type {Record<string, ?>} */
34
34
  this.paramsObject = {}
35
35
  this._path = path
36
36
  this.remoteAddressValue = remoteAddress
@@ -131,7 +131,7 @@ export default class VelociousHttpServerClientWebsocketRequest {
131
131
  const parsedQuery = querystring.parse(query)
132
132
  /**
133
133
  * Params.
134
- @type {Record<string, string | string[]>} */
134
+ * @type {Record<string, string | string[]>} */
135
135
  const params = Object.create(null)
136
136
 
137
137
  for (const key of Object.keys(parsedQuery)) {
@@ -40,7 +40,7 @@ function subscribeMessage(message) {
40
40
  return message.type === "subscribe"
41
41
  ? /**
42
42
  * Narrows the runtime value to the documented type.
43
- @type {{type: "subscribe", channel: string, lastEventId?: string, params?: Record<string, ?>}} */ (message)
43
+ * @type {{type: "subscribe", channel: string, lastEventId?: string, params?: Record<string, ?>}} */ (message)
44
44
  : null
45
45
  }
46
46
 
@@ -52,7 +52,7 @@ function subscribeMessage(message) {
52
52
  function requestMessage(message) {
53
53
  if (message.type && message.type !== "request") return null
54
54
 
55
- return /** Narrows the runtime value to the documented type. @type {{type?: "request", body?: ?, headers?: Record<string, ?>, id?: string | number | null, method: string, path: string}} */ (message)
55
+ return /** @type {{type?: "request", body?: ?, headers?: Record<string, ?>, id?: string | number | null, method: string, path: string}} */ (message)
56
56
  }
57
57
 
58
58
  /**
@@ -86,7 +86,7 @@ export default class VelociousHttpServerClientWebsocketSession {
86
86
  channelReplayStates = new Map()
87
87
  /**
88
88
  * Message queue.
89
- @type {WebsocketSessionMessage[]} */
89
+ * @type {WebsocketSessionMessage[]} */
90
90
  messageQueue = []
91
91
 
92
92
  /**
@@ -110,7 +110,7 @@ export default class VelociousHttpServerClientWebsocketSession {
110
110
 
111
111
  /**
112
112
  * Narrows the runtime value to the documented type.
113
- @type {Record<string, ?>} */
113
+ * @type {Record<string, ?>} */
114
114
  this._metadata = {}
115
115
 
116
116
  /**
@@ -123,12 +123,12 @@ export default class VelociousHttpServerClientWebsocketSession {
123
123
 
124
124
  /**
125
125
  * Narrows the runtime value to the documented type.
126
- @type {Map<string, import("../websocket-connection.js").default>} */
126
+ * @type {Map<string, import("../websocket-connection.js").default>} */
127
127
  this._connections = new Map()
128
128
 
129
129
  /**
130
130
  * Narrows the runtime value to the documented type.
131
- @type {Map<string, {channelType: string, subscription: import("../websocket-channel.js").default}>} */
131
+ * @type {Map<string, {channelType: string, subscription: import("../websocket-channel.js").default}>} */
132
132
  this._channelSubscriptions = new Map()
133
133
 
134
134
  /**
@@ -154,7 +154,7 @@ export default class VelociousHttpServerClientWebsocketSession {
154
154
 
155
155
  /**
156
156
  * Narrows the runtime value to the documented type.
157
- @type {import("./index.js").default | null} */
157
+ * @type {import("./index.js").default | null} */
158
158
  this.socket = null
159
159
 
160
160
  /**
@@ -464,7 +464,7 @@ export default class VelociousHttpServerClientWebsocketSession {
464
464
  if (message.type === "metadata") {
465
465
  const metadataPayload = /**
466
466
  * Narrows the runtime value to the documented type.
467
- @type {{data?: Record<string, ?>}} */ (message)
467
+ * @type {{data?: Record<string, ?>}} */ (message)
468
468
 
469
469
  this._metadata = metadataPayload.data && typeof metadataPayload.data === "object" ? {...metadataPayload.data} : {}
470
470
 
@@ -590,7 +590,7 @@ export default class VelociousHttpServerClientWebsocketSession {
590
590
 
591
591
  if (this.buffer.length < offset + maskLength + payloadLength) return
592
592
 
593
- /** Payload. @type {Buffer} */
593
+ /** @type {Buffer} */
594
594
  let payload = this.buffer.slice(offset + maskLength, offset + maskLength + payloadLength)
595
595
 
596
596
  if (isMasked) {
@@ -658,11 +658,11 @@ export default class VelociousHttpServerClientWebsocketSession {
658
658
 
659
659
  /**
660
660
  * Defines finalPayload.
661
- @type {Buffer} */
661
+ * @type {Buffer} */
662
662
  let finalPayload
663
663
  /**
664
664
  * Defines finalOpcode.
665
- @type {number} */
665
+ * @type {number} */
666
666
  let finalOpcode
667
667
 
668
668
  if (this._fragmentedPayloads !== null) {
@@ -753,7 +753,7 @@ export default class VelociousHttpServerClientWebsocketSession {
753
753
 
754
754
  /**
755
755
  * Runs reset fragment buffer.
756
- @returns {void} */
756
+ * @returns {void} */
757
757
  _resetFragmentBuffer() {
758
758
  this._fragmentedPayloads = null
759
759
  this._fragmentedOpcode = null
@@ -1149,7 +1149,7 @@ export default class VelociousHttpServerClientWebsocketSession {
1149
1149
  this.logger.error(() => [`Failed to open connection ${connectionType}:${connectionId}`, error])
1150
1150
  this.sendJson({type: "connection-error", connectionId, message: /**
1151
1151
  * Narrows the runtime value to the documented type.
1152
- @type {Error} */ (error).message || "Failed to open connection"})
1152
+ * @type {Error} */ (error).message || "Failed to open connection"})
1153
1153
  }
1154
1154
  }
1155
1155
 
@@ -1175,7 +1175,7 @@ export default class VelociousHttpServerClientWebsocketSession {
1175
1175
  this.logger.error(() => [`Failed to handle connection-message for ${connectionId}`, error])
1176
1176
  this.sendJson({type: "connection-error", connectionId, message: /**
1177
1177
  * Narrows the runtime value to the documented type.
1178
- @type {Error} */ (error).message || "Failed to handle message"})
1178
+ * @type {Error} */ (error).message || "Failed to handle message"})
1179
1179
  }
1180
1180
  }
1181
1181
 
@@ -1288,7 +1288,7 @@ export default class VelociousHttpServerClientWebsocketSession {
1288
1288
  this.logger.error(() => [`Failed to subscribe channel ${channelType}:${subscriptionId}`, error])
1289
1289
  this.sendJson({type: "channel-error", subscriptionId, message: /**
1290
1290
  * Narrows the runtime value to the documented type.
1291
- @type {Error} */ (error).message || "Failed to subscribe"})
1291
+ * @type {Error} */ (error).message || "Failed to subscribe"})
1292
1292
  }
1293
1293
  }
1294
1294
 
@@ -1333,7 +1333,7 @@ export default class VelociousHttpServerClientWebsocketSession {
1333
1333
 
1334
1334
  subscription.sendMessage(/**
1335
1335
  * Narrows the runtime value to the documented type.
1336
- @type {import("../websocket-channel.js").WebsocketJsonValue} */ (event.payload))
1336
+ * @type {import("../websocket-channel.js").WebsocketJsonValue} */ (event.payload))
1337
1337
  }
1338
1338
  }
1339
1339
 
@@ -1609,7 +1609,7 @@ export default class VelociousHttpServerClientWebsocketSession {
1609
1609
  ...(params && typeof params === "object" ? params : {})
1610
1610
  }
1611
1611
 
1612
- return /** Narrows the runtime value to the documented type. @type {Promise<string | null | undefined>} */ (this.configuration.resolveTenant({
1612
+ return /** @type {Promise<string | null | undefined>} */ (this.configuration.resolveTenant({
1613
1613
  params: mergedParams,
1614
1614
  request: this.upgradeRequest,
1615
1615
  response: undefined,
@@ -1626,7 +1626,7 @@ export default class VelociousHttpServerClientWebsocketSession {
1626
1626
  _unmaskPayload(payload, mask) {
1627
1627
  /**
1628
1628
  * Result.
1629
- @type {Buffer} */
1629
+ * @type {Buffer} */
1630
1630
  const result = Buffer.alloc(payload.length)
1631
1631
 
1632
1632
  for (let i = 0; i < payload.length; i++) {
@@ -39,17 +39,17 @@ export default class VelociousHttpServerDevelopmentReloader {
39
39
 
40
40
  /**
41
41
  * Narrows the runtime value to the documented type.
42
- @type {ReturnType<typeof setTimeout> | undefined} */
42
+ * @type {ReturnType<typeof setTimeout> | undefined} */
43
43
  this.reloadTimer = undefined
44
44
 
45
45
  /**
46
46
  * Narrows the runtime value to the documented type.
47
- @type {string | undefined} */
47
+ * @type {string | undefined} */
48
48
  this.pendingChangedPath = undefined
49
49
 
50
50
  /**
51
51
  * Narrows the runtime value to the documented type.
52
- @type {Map<string, import("fs").FSWatcher>} */
52
+ * @type {Map<string, import("fs").FSWatcher>} */
53
53
  this.watchers = new Map()
54
54
  }
55
55
 
@@ -98,7 +98,7 @@ export default class VelociousHttpServerDevelopmentReloader {
98
98
  } catch (error) {
99
99
  if (/**
100
100
  * Narrows the runtime value to the documented type.
101
- @type {{code?: string}} */ (error)?.code === "ENOENT") return
101
+ * @type {{code?: string}} */ (error)?.code === "ENOENT") return
102
102
  throw error
103
103
  }
104
104
 
@@ -172,7 +172,7 @@ export default class VelociousHttpServerDevelopmentReloader {
172
172
  } catch (error) {
173
173
  if (/**
174
174
  * Narrows the runtime value to the documented type.
175
- @type {{code?: string}} */ (error)?.code !== "ENOENT") {
175
+ * @type {{code?: string}} */ (error)?.code !== "ENOENT") {
176
176
  throw error
177
177
  }
178
178
  }
@@ -11,10 +11,10 @@ import WorkerHandler from "./worker-handler/index.js"
11
11
 
12
12
  /**
13
13
  * Defines this typedef.
14
- @typedef {{start: () => Promise<void>, stop: () => Promise<void>}} DevelopmentReloaderLike */
14
+ * @typedef {{start: () => Promise<void>, stop: () => Promise<void>}} DevelopmentReloaderLike */
15
15
  /**
16
16
  * Defines this typedef.
17
- @typedef {function({configuration: import("../configuration.js").default, workerCount: number}) : (WorkerHandler | InProcessHandler)} WorkerHandlerFactory */
17
+ * @typedef {function({configuration: import("../configuration.js").default, workerCount: number}) : (WorkerHandler | InProcessHandler)} WorkerHandlerFactory */
18
18
 
19
19
  /**
20
20
  * Runs normalize worker count.
@@ -39,27 +39,27 @@ export default class VelociousHttpServer {
39
39
 
40
40
  /**
41
41
  * Narrows the runtime value to the documented type.
42
- @type {DevelopmentReloader | DevelopmentReloaderLike | undefined} */
42
+ * @type {DevelopmentReloader | DevelopmentReloaderLike | undefined} */
43
43
  developmentReloader
44
44
 
45
45
  /**
46
46
  * Narrows the runtime value to the documented type.
47
- @type {import("net").Server | undefined} */
47
+ * @type {import("net").Server | undefined} */
48
48
  netServer
49
49
 
50
50
  /**
51
51
  * Narrows the runtime value to the documented type.
52
- @type {WorkerHandlerFactory | undefined} */
52
+ * @type {WorkerHandlerFactory | undefined} */
53
53
  workerHandlerFactory
54
54
 
55
55
  /**
56
56
  * Clients.
57
- @type {Record<string, ServerClient>} */
57
+ * @type {Record<string, ServerClient>} */
58
58
  clients = {}
59
59
 
60
60
  /**
61
61
  * Active sockets.
62
- @type {Set<import("net").Socket>} */
62
+ * @type {Set<import("net").Socket>} */
63
63
  _activeSockets = new Set()
64
64
 
65
65
  events = new EventEmitter()
@@ -67,12 +67,12 @@ export default class VelociousHttpServer {
67
67
 
68
68
  /**
69
69
  * Worker handlers.
70
- @type {Array<WorkerHandler | InProcessHandler>} */
70
+ * @type {Array<WorkerHandler | InProcessHandler>} */
71
71
  workerHandlers = []
72
72
  nextWorkerHandlerIndex = 0
73
73
  /**
74
74
  * Sticky worker handlers.
75
- @type {Map<string, WorkerHandler | InProcessHandler>} */
75
+ * @type {Map<string, WorkerHandler | InProcessHandler>} */
76
76
  stickyWorkerHandlers = new Map()
77
77
 
78
78
  /**
@@ -114,7 +114,7 @@ export default class VelociousHttpServer {
114
114
  await this._startDevelopmentReloader()
115
115
  /**
116
116
  * Net server.
117
- @type {import("net").Server} */
117
+ * @type {import("net").Server} */
118
118
  const netServer = new Net.Server()
119
119
  this.netServer = netServer
120
120
  netServer.on("close", this.onClose)
@@ -149,7 +149,7 @@ export default class VelociousHttpServer {
149
149
  async _stopStartupResources(startupState) {
150
150
  /**
151
151
  * Startup net server.
152
- @type {import("net").Server | undefined} */
152
+ * @type {import("net").Server | undefined} */
153
153
  const startupNetServer = this.netServer
154
154
 
155
155
  if (this.developmentReloader && this.developmentReloader !== startupState.developmentReloader) {
@@ -422,7 +422,7 @@ export default class VelociousHttpServer {
422
422
  async _buildWorkerHandlers() {
423
423
  /**
424
424
  * Worker handlers.
425
- @type {Array<WorkerHandler | InProcessHandler>} */
425
+ * @type {Array<WorkerHandler | InProcessHandler>} */
426
426
  const workerHandlers = []
427
427
 
428
428
  for (let index = 0; index < this.workers; index += 1) {
@@ -4,7 +4,7 @@ import proxyaddr from "proxy-addr"
4
4
 
5
5
  /**
6
6
  * Trusted proxy cache.
7
- @type {WeakMap<import("../configuration.js").default, {source: string | string[] | undefined, trust: ((address: string, index: number) => boolean) | undefined}>} */
7
+ * @type {WeakMap<import("../configuration.js").default, {source: string | string[] | undefined, trust: ((address: string, index: number) => boolean) | undefined}>} */
8
8
  const trustedProxyCache = new WeakMap()
9
9
 
10
10
  /**
@@ -38,7 +38,7 @@ function trustedProxyChecker(configuration) {
38
38
  function nodeStyleHeaders(headers) {
39
39
  /**
40
40
  * Result.
41
- @type {Record<string, string | string[]>} */
41
+ * @type {Record<string, string | string[]>} */
42
42
  const result = {}
43
43
 
44
44
  for (const [key, value] of Object.entries(headers)) {
@@ -65,9 +65,9 @@ export default function resolveRemoteAddress({configuration, headers, socketRemo
65
65
 
66
66
  const proxyRequest = /**
67
67
  * Narrows the runtime value to the documented type.
68
- @type {Parameters<typeof proxyaddr>[0]} */ (/**
68
+ * @type {Parameters<typeof proxyaddr>[0]} */ (/**
69
69
  * Narrows the runtime value to the documented type.
70
- @type {?} */ ({
70
+ * @type {?} */ ({
71
71
  connection: {remoteAddress: socketRemoteAddress},
72
72
  headers: nodeStyleHeaders(headers),
73
73
  socket: {remoteAddress: socketRemoteAddress}
@@ -144,7 +144,7 @@ export default class ServerClient {
144
144
  onSocketError = (error) => {
145
145
  const errorCode = /**
146
146
  * Narrows the runtime value to the documented type.
147
- @type {{code?: string}} */ (error).code
147
+ * @type {{code?: string}} */ (error).code
148
148
 
149
149
  this.logger.error(() => [`Socket ${this.clientCount} error`, errorCode || error.message])
150
150
  this.emitClose()
@@ -190,10 +190,10 @@ export default class ServerClient {
190
190
  }
191
191
  const onWriteError = (/**
192
192
  * Narrows the runtime value to the documented type.
193
- @type {Error} */ error) => {
193
+ * @type {Error} */ error) => {
194
194
  const errorCode = /**
195
195
  * Narrows the runtime value to the documented type.
196
- @type {{code?: string}} */ (error).code
196
+ * @type {{code?: string}} */ (error).code
197
197
 
198
198
  this.logger.error(() => [`Socket ${this.clientCount} write error`, errorCode || error.message])
199
199
  finish()
@@ -56,7 +56,7 @@ export default class VelociousHttpServerLock {
56
56
  } catch (error) {
57
57
  if (/**
58
58
  * Narrows the runtime value to the documented type.
59
- @type {{code?: string}} */ (error).code === "EEXIST") return false
59
+ * @type {{code?: string}} */ (error).code === "EEXIST") return false
60
60
  throw error
61
61
  }
62
62
 
@@ -107,7 +107,7 @@ export default class VelociousHttpServerLock {
107
107
 
108
108
  return this.processIsDead(/**
109
109
  * Narrows the runtime value to the documented type.
110
- @type {{pid: number}} */ (owner).pid)
110
+ * @type {{pid: number}} */ (owner).pid)
111
111
  }
112
112
 
113
113
  /**
@@ -145,7 +145,7 @@ export default class VelociousHttpServerLock {
145
145
 
146
146
  return false
147
147
  } catch (error) {
148
- return /** Narrows the runtime value to the documented type. @type {{code?: string}} */ (error).code === "ESRCH"
148
+ return /** @type {{code?: string}} */ (error).code === "ESRCH"
149
149
  }
150
150
  }
151
151
 
@@ -157,7 +157,7 @@ export default class VelociousHttpServerLock {
157
157
  try {
158
158
  const rawOwner = await fs.readFile(path.join(this.lockPath, "owner.json"), "utf8")
159
159
 
160
- return /** Narrows the runtime value to the documented type. @type {Record<string, ?>} */ (JSON.parse(rawOwner))
160
+ return /** @type {Record<string, ?>} */ (JSON.parse(rawOwner))
161
161
  } catch {
162
162
  return null
163
163
  }
@@ -13,7 +13,7 @@ export default class VelociousWebsocketChannelSubscribers {
13
13
  constructor() {
14
14
  /**
15
15
  * Narrows the runtime value to the documented type.
16
- @type {Map<string, Set<(payload: ?, meta: {channel: string, createdAt?: string, eventId?: string}) => void | Promise<void>>>} */
16
+ * @type {Map<string, Set<(payload: ?, meta: {channel: string, createdAt?: string, eventId?: string}) => void | Promise<void>>>} */
17
17
  this._subscribers = new Map()
18
18
  }
19
19
 
@@ -94,10 +94,10 @@ export default class VelociousWebsocketChannelSubscribers {
94
94
 
95
95
  if (result && typeof (/**
96
96
  * Narrows the runtime value to the documented type.
97
- @type {Promise<void>} */ (result)).then === "function") {
97
+ * @type {Promise<void>} */ (result)).then === "function") {
98
98
  tasks.push(/**
99
99
  * Narrows the runtime value to the documented type.
100
- @type {Promise<void>} */ (result))
100
+ * @type {Promise<void>} */ (result))
101
101
  }
102
102
  } catch (error) {
103
103
  // Don't let one subscriber's failure abort the others; surface via the returned promises instead.
@@ -132,6 +132,6 @@ export default class VelociousWebsocketChannel {
132
132
 
133
133
  /**
134
134
  * Runs is closed.
135
- @returns {boolean} */
135
+ * @returns {boolean} */
136
136
  isClosed() { return this._closed }
137
137
  }
@@ -111,7 +111,7 @@ export default class VelociousWebsocketConnection {
111
111
 
112
112
  /**
113
113
  * Runs is closed.
114
- @returns {boolean} */
114
+ * @returns {boolean} */
115
115
  isClosed() {
116
116
  return this._closed
117
117
  }
@@ -58,7 +58,7 @@ export default class VelociousHttpServerWebsocketEventLogStore {
58
58
  this._readyPromise = null
59
59
  /**
60
60
  * Narrows the runtime value to the documented type.
61
- @type {Map<string, number>} */
61
+ * @type {Map<string, number>} */
62
62
  this._interestedChannels = new Map()
63
63
  }
64
64
 
@@ -227,7 +227,7 @@ export default class VelociousHttpServerWebsocketEventLogStore {
227
227
  .results()
228
228
  const row = /**
229
229
  * Narrows the runtime value to the documented type.
230
- @type {Record<string, ?> | undefined} */ (rows[0])
230
+ * @type {Record<string, ?> | undefined} */ (rows[0])
231
231
 
232
232
  if (!row) return null
233
233
 
@@ -260,7 +260,7 @@ export default class VelociousHttpServerWebsocketEventLogStore {
260
260
 
261
261
  const rows = /**
262
262
  * Narrows the runtime value to the documented type.
263
- @type {WebsocketEventRow[]} */ (await query.results())
263
+ * @type {WebsocketEventRow[]} */ (await query.results())
264
264
 
265
265
  return rows.map((row) => this._normalizeEventRow(row))
266
266
  })
@@ -280,14 +280,14 @@ export default class VelociousHttpServerWebsocketEventLogStore {
280
280
  await this._withDb(async (db) => {
281
281
  const expiredEventRows = /**
282
282
  * Narrows the runtime value to the documented type.
283
- @type {Array<{id: string}>} */ (await db
283
+ * @type {Array<{id: string}>} */ (await db
284
284
  .newQuery()
285
285
  .from(EVENTS_TABLE)
286
286
  .where(`created_at <= ${db.quote(cutoff)}`)
287
287
  .results())
288
288
  const expiredReplayChannelRows = /**
289
289
  * Narrows the runtime value to the documented type.
290
- @type {WebsocketReplayChannelRow[]} */ (await db
290
+ * @type {WebsocketReplayChannelRow[]} */ (await db
291
291
  .newQuery()
292
292
  .from(REPLAY_CHANNELS_TABLE)
293
293
  .where(`interested_until <= ${db.quote(now)}`)
@@ -367,7 +367,7 @@ export default class VelociousHttpServerWebsocketEventLogStore {
367
367
  async _getEventById({channel, db, id}) {
368
368
  const rows = /**
369
369
  * Narrows the runtime value to the documented type.
370
- @type {WebsocketEventRow[]} */ (await db
370
+ * @type {WebsocketEventRow[]} */ (await db
371
371
  .newQuery()
372
372
  .from(EVENTS_TABLE)
373
373
  .where({channel, id})
@@ -6,7 +6,7 @@ export class VelociousHttpServerWebsocketEventsHost {
6
6
  constructor() {
7
7
  /**
8
8
  * Narrows the runtime value to the documented type.
9
- @type {Set<import("./worker-handler/index.js").default>} */
9
+ * @type {Set<import("./worker-handler/index.js").default>} */
10
10
  this.handlers = new Set()
11
11
  this.publishQueue = Promise.resolve()
12
12
  }
@@ -45,7 +45,7 @@ export class VelociousHttpServerWebsocketEventsHost {
45
45
  ? {channel: channelOrArgs, payload: payloadArg}
46
46
  : /**
47
47
  * Narrows the runtime value to the documented type.
48
- @type {{channel: string, payload: ?}} */ (channelOrArgs)
48
+ * @type {{channel: string, payload: ?}} */ (channelOrArgs)
49
49
  const channel = publishArgs.channel
50
50
  const payload = publishArgs.payload
51
51
 
@@ -23,20 +23,20 @@ export default class VelociousHttpServerInProcessHandler {
23
23
 
24
24
  /**
25
25
  * Narrows the runtime value to the documented type.
26
- @type {Record<number, {httpClient: Client, serverClient: import("../server-client.js").default}>} */
26
+ * @type {Record<number, {httpClient: Client, serverClient: import("../server-client.js").default}>} */
27
27
  this.clients = {}
28
28
 
29
29
  this.logger = new Logger(this)
30
30
  this.workerCount = workerCount
31
31
  this.unregisterFromEventsHost = websocketEventsHost.register(/**
32
32
  * Narrows the runtime value to the documented type.
33
- @type {?} */ (this))
33
+ * @type {?} */ (this))
34
34
  this._stopping = false
35
35
  }
36
36
 
37
37
  /**
38
38
  * Runs start.
39
- @returns {Promise<void>} */
39
+ * @returns {Promise<void>} */
40
40
  async start() {
41
41
  await this.logger.debug(() => `In-process handler ${this.workerCount} started`)
42
42
  }
@@ -74,12 +74,12 @@ export default class VelociousHttpServerInProcessHandler {
74
74
  // to the in-process HTTP Client without needing a real worker thread.
75
75
  const messagePortShim = /**
76
76
  * Narrows the runtime value to the documented type.
77
- @type {import("worker_threads").Worker} */ (/**
77
+ * @type {import("worker_threads").Worker} */ (/**
78
78
  * Narrows the runtime value to the documented type.
79
- @type {?} */ ({
79
+ * @type {?} */ ({
80
80
  postMessage: (/**
81
81
  * Narrows the runtime value to the documented type.
82
- @type {{command: string, chunk?: Buffer | Uint8Array | string, clientCount?: number}} */ data) => {
82
+ * @type {{command: string, chunk?: Buffer | Uint8Array | string, clientCount?: number}} */ data) => {
83
83
  if (data.command === "clientWrite" && data.chunk) {
84
84
  const chunk = typeof data.chunk === "string" ? Buffer.from(data.chunk) : Buffer.from(data.chunk)
85
85
 
@@ -94,7 +94,7 @@ export default class VelociousHttpServerInProcessHandler {
94
94
 
95
95
  /**
96
96
  * Runs stop.
97
- @returns {Promise<void>} */
97
+ * @returns {Promise<void>} */
98
98
  async stop() {
99
99
  this._stopping = true
100
100
 
@@ -46,7 +46,7 @@ export default class VelociousHttpServerWorker {
46
46
 
47
47
  /**
48
48
  * Narrows the runtime value to the documented type.
49
- @type {Record<number, import("../server-client.js").default>} */
49
+ * @type {Record<number, import("../server-client.js").default>} */
50
50
  this.clients = {}
51
51
 
52
52
  this.logger = new Logger(this)
@@ -56,7 +56,7 @@ export default class VelociousHttpServerWorker {
56
56
  this._debugRequestId = 0
57
57
  /**
58
58
  * Narrows the runtime value to the documented type.
59
- @type {Map<number, {resolve: (snapshot: Record<string, ?>) => void}>} */
59
+ * @type {Map<number, {resolve: (snapshot: Record<string, ?>) => void}>} */
60
60
  this._debugSnapshotRequests = new Map()
61
61
  }
62
62
 
@@ -351,7 +351,7 @@ export default class VelociousHttpServerWorker {
351
351
 
352
352
  /**
353
353
  * Runs register with events host.
354
- @returns {void} */
354
+ * @returns {void} */
355
355
  registerWithEventsHost() {
356
356
  if (this.unregisterFromEventsHost) return
357
357
 
@@ -360,7 +360,7 @@ export default class VelociousHttpServerWorker {
360
360
 
361
361
  /**
362
362
  * Runs unregister from events host if needed.
363
- @returns {void} */
363
+ * @returns {void} */
364
364
  unregisterFromEventsHostIfNeeded() {
365
365
  if (!this.unregisterFromEventsHost) return
366
366
 
@@ -35,7 +35,7 @@ export default class VelociousHttpServerWorkerHandlerWorkerThread {
35
35
 
36
36
  /**
37
37
  * Narrows the runtime value to the documented type.
38
- @type {Record<number, Client>} */
38
+ * @type {Record<number, Client>} */
39
39
  this.clients = {}
40
40
 
41
41
  this.logger = new Logger(this)
@@ -66,7 +66,7 @@ export default class VelociousHttpServerWorkerHandlerWorkerThread {
66
66
 
67
67
  /**
68
68
  * Narrows the runtime value to the documented type.
69
- @type {import("../../configuration.js").default} */
69
+ * @type {import("../../configuration.js").default} */
70
70
  this.configuration = configurationImport.default
71
71
 
72
72
  if (!this.configuration) throw new Error(`Configuration couldn't be loaded from: ${configurationPath}`)
@@ -170,7 +170,7 @@ export default class VelociousHttpServerWorkerHandlerWorkerThread {
170
170
  if (!chunk) throw new Error("No chunk given")
171
171
  const client = /**
172
172
  * Narrows the runtime value to the documented type.
173
- @type {Client | undefined} */ (digg(this.clients, clientCount))
173
+ * @type {Client | undefined} */ (digg(this.clients, clientCount))
174
174
 
175
175
  if (!client) throw new Error(`Client not found for clientWrite: ${clientCount}`)
176
176