velocious 1.0.449 → 1.0.451

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 (636) hide show
  1. package/README.md +1 -1
  2. package/build/application.js +4 -4
  3. package/build/authorization/ability.js +8 -8
  4. package/build/authorization/base-resource.js +4 -4
  5. package/build/background-jobs/cron-expression.js +1 -1
  6. package/build/background-jobs/forked-runner-child.js +1 -1
  7. package/build/background-jobs/job-registry.js +1 -1
  8. package/build/background-jobs/job-runner.js +1 -1
  9. package/build/background-jobs/job.js +1 -1
  10. package/build/background-jobs/json-socket.js +4 -4
  11. package/build/background-jobs/main.js +21 -21
  12. package/build/background-jobs/scheduler.js +7 -7
  13. package/build/background-jobs/store.js +7 -7
  14. package/build/background-jobs/web/controller.js +2 -2
  15. package/build/background-jobs/worker.js +12 -12
  16. package/build/beacon/client.js +11 -8
  17. package/build/beacon/in-process-broker.js +2 -2
  18. package/build/beacon/in-process-client.js +2 -2
  19. package/build/beacon/server.js +3 -3
  20. package/build/cli/browser-cli.js +1 -1
  21. package/build/cli/commands/db/base-command.js +2 -2
  22. package/build/cli/index.js +2 -2
  23. package/build/cli/tenant-database-command-helper.js +3 -3
  24. package/build/cli/use-browser-cli.js +1 -1
  25. package/build/configuration-types.js +3 -1
  26. package/build/configuration.js +38 -38
  27. package/build/controller.js +8 -8
  28. package/build/current-configuration.js +1 -1
  29. package/build/database/annotations-async-hooks.js +2 -2
  30. package/build/database/annotations.js +3 -3
  31. package/build/database/drivers/base-column.js +1 -1
  32. package/build/database/drivers/base-foreign-key.js +1 -1
  33. package/build/database/drivers/base-table.js +1 -1
  34. package/build/database/drivers/base.js +10 -10
  35. package/build/database/drivers/mssql/index.js +1 -1
  36. package/build/database/drivers/mssql/table.js +1 -1
  37. package/build/database/drivers/mysql/index.js +3 -3
  38. package/build/database/drivers/mysql/query.js +1 -1
  39. package/build/database/drivers/mysql/table.js +1 -1
  40. package/build/database/drivers/pgsql/index.js +2 -2
  41. package/build/database/drivers/sqlite/base.js +16 -16
  42. package/build/database/drivers/sqlite/index.js +11 -11
  43. package/build/database/drivers/sqlite/index.native.js +1 -1
  44. package/build/database/drivers/sqlite/index.web.js +3 -3
  45. package/build/database/drivers/sqlite/query.js +1 -1
  46. package/build/database/drivers/sqlite/query.web.js +1 -1
  47. package/build/database/drivers/sqlite/sql/alter-table.js +2 -2
  48. package/build/database/drivers/sqlite/table.js +1 -1
  49. package/build/database/migrator/files-finder.js +1 -1
  50. package/build/database/migrator.js +6 -6
  51. package/build/database/pool/async-tracked-multi-connection.js +27 -27
  52. package/build/database/pool/base-methods-forward.js +4 -4
  53. package/build/database/pool/base.js +8 -8
  54. package/build/database/query/from-base.js +1 -1
  55. package/build/database/query/index.js +10 -10
  56. package/build/database/query/join-object.js +3 -3
  57. package/build/database/query/model-class-query.js +39 -39
  58. package/build/database/query/preloader/belongs-to.js +22 -22
  59. package/build/database/query/preloader/has-many.js +20 -20
  60. package/build/database/query/preloader/has-one.js +8 -8
  61. package/build/database/query/preloader/selection.js +3 -3
  62. package/build/database/query/preloader.js +8 -8
  63. package/build/database/query/query-data.js +9 -9
  64. package/build/database/query/where-model-class-hash.js +7 -7
  65. package/build/database/query/with-count.js +9 -9
  66. package/build/database/record/acts-as-list.js +15 -15
  67. package/build/database/record/attachments/handle.js +2 -2
  68. package/build/database/record/attachments/normalize-input.js +12 -12
  69. package/build/database/record/attachments/storage-drivers/s3.js +6 -6
  70. package/build/database/record/attachments/store.js +13 -13
  71. package/build/database/record/index.js +115 -121
  72. package/build/database/record/instance-relationships/base.js +11 -11
  73. package/build/database/record/instance-relationships/belongs-to.js +3 -3
  74. package/build/database/record/instance-relationships/has-many.js +8 -8
  75. package/build/database/record/instance-relationships/has-one.js +7 -7
  76. package/build/database/record/relationships/base.js +2 -2
  77. package/build/database/record/state-machine.js +7 -7
  78. package/build/database/record/validators/presence.js +1 -1
  79. package/build/database/record/validators/uniqueness.js +5 -5
  80. package/build/database/table-data/index.js +4 -4
  81. package/build/environment-handlers/base.js +2 -2
  82. package/build/environment-handlers/browser.js +7 -7
  83. package/build/environment-handlers/node/cli/commands/cli-command-context.js +1 -1
  84. package/build/environment-handlers/node/cli/commands/console.js +4 -4
  85. package/build/environment-handlers/node/cli/commands/db/schema/dump.js +1 -1
  86. package/build/environment-handlers/node/cli/commands/db/schema/load.js +3 -3
  87. package/build/environment-handlers/node/cli/commands/generate/frontend-models.js +836 -60
  88. package/build/environment-handlers/node.js +6 -6
  89. package/build/frontend-model-controller.js +81 -82
  90. package/build/frontend-model-resource/base-resource.js +78 -115
  91. package/build/frontend-models/base.js +162 -149
  92. package/build/frontend-models/clear-pending-debounced-callback.js +1 -1
  93. package/build/frontend-models/event-hook-models.js +2 -2
  94. package/build/frontend-models/outgoing-event-buffer.js +2 -2
  95. package/build/frontend-models/preloader.js +5 -5
  96. package/build/frontend-models/query.js +43 -38
  97. package/build/frontend-models/resource-definition.js +6 -6
  98. package/build/frontend-models/transport-serialization.js +11 -11
  99. package/build/frontend-models/use-destroyed-event.js +10 -10
  100. package/build/frontend-models/use-model-class-event.js +11 -11
  101. package/build/frontend-models/use-updated-event.js +11 -11
  102. package/build/frontend-models/websocket-channel.js +26 -17
  103. package/build/frontend-models/websocket-publishers.js +9 -9
  104. package/build/http-client/response.js +2 -2
  105. package/build/http-server/client/index.js +8 -8
  106. package/build/http-server/client/params-to-object.js +10 -10
  107. package/build/http-server/client/request-buffer/form-data-part.js +2 -2
  108. package/build/http-server/client/request-buffer/index.js +8 -8
  109. package/build/http-server/client/request-parser.js +3 -3
  110. package/build/http-server/client/request-runner.js +6 -6
  111. package/build/http-server/client/request-timing.js +5 -5
  112. package/build/http-server/client/request.js +1 -1
  113. package/build/http-server/client/response.js +5 -5
  114. package/build/http-server/client/websocket-request.js +4 -4
  115. package/build/http-server/client/websocket-session.js +18 -18
  116. package/build/http-server/development-reloader.js +5 -5
  117. package/build/http-server/index.js +12 -12
  118. package/build/http-server/remote-address.js +4 -4
  119. package/build/http-server/server-client.js +3 -3
  120. package/build/http-server/server-lock.js +4 -4
  121. package/build/http-server/websocket-channel-subscribers.js +3 -3
  122. package/build/http-server/websocket-channel.js +1 -1
  123. package/build/http-server/websocket-connection.js +1 -1
  124. package/build/http-server/websocket-event-log-store.js +6 -6
  125. package/build/http-server/websocket-events-host.js +2 -2
  126. package/build/http-server/worker-handler/in-process.js +7 -7
  127. package/build/http-server/worker-handler/index.js +4 -4
  128. package/build/http-server/worker-handler/worker-thread.js +3 -3
  129. package/build/logger/outputs/array-output.js +3 -3
  130. package/build/logger/outputs/console-output.js +1 -1
  131. package/build/logger/outputs/file-output.js +4 -4
  132. package/build/logger/outputs/stdout-output.js +1 -1
  133. package/build/logger.js +10 -10
  134. package/build/mailer/backends/smtp.js +3 -3
  135. package/build/mailer/base.js +8 -8
  136. package/build/mailer/delivery.js +4 -4
  137. package/build/plugins/sqljs-wasm-route-controller.js +1 -1
  138. package/build/routes/base-route.js +6 -6
  139. package/build/routes/basic-route.js +1 -1
  140. package/build/routes/hooks/frontend-model-command-route-hook.js +1 -1
  141. package/build/routes/index.js +1 -1
  142. package/build/routes/plugin-routes.js +1 -1
  143. package/build/routes/resolver.js +11 -11
  144. package/build/routes/resource-route.js +1 -1
  145. package/build/src/application.d.ts +3 -3
  146. package/build/src/application.d.ts.map +1 -1
  147. package/build/src/application.js +5 -5
  148. package/build/src/authorization/ability.d.ts +7 -7
  149. package/build/src/authorization/ability.d.ts.map +1 -1
  150. package/build/src/authorization/ability.js +9 -9
  151. package/build/src/authorization/base-resource.d.ts +1 -1
  152. package/build/src/authorization/base-resource.d.ts.map +1 -1
  153. package/build/src/authorization/base-resource.js +5 -5
  154. package/build/src/background-jobs/cron-expression.js +2 -2
  155. package/build/src/background-jobs/forked-runner-child.js +2 -2
  156. package/build/src/background-jobs/job-registry.d.ts +1 -1
  157. package/build/src/background-jobs/job-registry.d.ts.map +1 -1
  158. package/build/src/background-jobs/job-registry.js +2 -2
  159. package/build/src/background-jobs/job-runner.js +2 -2
  160. package/build/src/background-jobs/job.js +2 -2
  161. package/build/src/background-jobs/json-socket.d.ts +4 -4
  162. package/build/src/background-jobs/json-socket.d.ts.map +1 -1
  163. package/build/src/background-jobs/json-socket.js +5 -5
  164. package/build/src/background-jobs/main.d.ts +18 -18
  165. package/build/src/background-jobs/main.d.ts.map +1 -1
  166. package/build/src/background-jobs/main.js +22 -22
  167. package/build/src/background-jobs/scheduler.d.ts +5 -5
  168. package/build/src/background-jobs/scheduler.d.ts.map +1 -1
  169. package/build/src/background-jobs/scheduler.js +8 -8
  170. package/build/src/background-jobs/store.js +8 -8
  171. package/build/src/background-jobs/web/controller.js +3 -3
  172. package/build/src/background-jobs/worker.d.ts +6 -6
  173. package/build/src/background-jobs/worker.d.ts.map +1 -1
  174. package/build/src/background-jobs/worker.js +13 -13
  175. package/build/src/beacon/client.d.ts +4 -4
  176. package/build/src/beacon/client.d.ts.map +1 -1
  177. package/build/src/beacon/client.js +12 -9
  178. package/build/src/beacon/in-process-broker.d.ts.map +1 -1
  179. package/build/src/beacon/in-process-broker.js +3 -3
  180. package/build/src/beacon/in-process-client.d.ts +1 -1
  181. package/build/src/beacon/in-process-client.d.ts.map +1 -1
  182. package/build/src/beacon/in-process-client.js +3 -3
  183. package/build/src/beacon/server.d.ts +2 -2
  184. package/build/src/beacon/server.d.ts.map +1 -1
  185. package/build/src/beacon/server.js +4 -4
  186. package/build/src/cli/browser-cli.js +2 -2
  187. package/build/src/cli/commands/db/base-command.d.ts +2 -2
  188. package/build/src/cli/commands/db/base-command.d.ts.map +1 -1
  189. package/build/src/cli/commands/db/base-command.js +3 -3
  190. package/build/src/cli/index.js +3 -3
  191. package/build/src/cli/tenant-database-command-helper.d.ts +1 -1
  192. package/build/src/cli/tenant-database-command-helper.d.ts.map +1 -1
  193. package/build/src/cli/tenant-database-command-helper.js +4 -4
  194. package/build/src/cli/use-browser-cli.js +2 -2
  195. package/build/src/configuration-types.d.ts +12 -2
  196. package/build/src/configuration-types.d.ts.map +1 -1
  197. package/build/src/configuration-types.js +4 -2
  198. package/build/src/configuration.d.ts +14 -14
  199. package/build/src/configuration.d.ts.map +1 -1
  200. package/build/src/configuration.js +39 -39
  201. package/build/src/controller.js +10 -10
  202. package/build/src/current-configuration.js +2 -2
  203. package/build/src/database/annotations-async-hooks.js +3 -3
  204. package/build/src/database/annotations.d.ts.map +1 -1
  205. package/build/src/database/annotations.js +4 -4
  206. package/build/src/database/drivers/base-column.d.ts +1 -1
  207. package/build/src/database/drivers/base-column.d.ts.map +1 -1
  208. package/build/src/database/drivers/base-column.js +2 -2
  209. package/build/src/database/drivers/base-foreign-key.d.ts +1 -1
  210. package/build/src/database/drivers/base-foreign-key.d.ts.map +1 -1
  211. package/build/src/database/drivers/base-foreign-key.js +2 -2
  212. package/build/src/database/drivers/base-table.d.ts +1 -1
  213. package/build/src/database/drivers/base-table.d.ts.map +1 -1
  214. package/build/src/database/drivers/base-table.js +2 -2
  215. package/build/src/database/drivers/base.d.ts +6 -6
  216. package/build/src/database/drivers/base.d.ts.map +1 -1
  217. package/build/src/database/drivers/base.js +11 -11
  218. package/build/src/database/drivers/mssql/index.js +2 -2
  219. package/build/src/database/drivers/mssql/table.js +2 -2
  220. package/build/src/database/drivers/mysql/index.js +4 -4
  221. package/build/src/database/drivers/mysql/query.js +2 -2
  222. package/build/src/database/drivers/mysql/table.js +2 -2
  223. package/build/src/database/drivers/pgsql/index.js +3 -3
  224. package/build/src/database/drivers/sqlite/base.d.ts +3 -3
  225. package/build/src/database/drivers/sqlite/base.d.ts.map +1 -1
  226. package/build/src/database/drivers/sqlite/base.js +17 -17
  227. package/build/src/database/drivers/sqlite/index.d.ts +4 -4
  228. package/build/src/database/drivers/sqlite/index.d.ts.map +1 -1
  229. package/build/src/database/drivers/sqlite/index.js +12 -12
  230. package/build/src/database/drivers/sqlite/index.native.js +2 -2
  231. package/build/src/database/drivers/sqlite/index.web.d.ts +2 -2
  232. package/build/src/database/drivers/sqlite/index.web.d.ts.map +1 -1
  233. package/build/src/database/drivers/sqlite/index.web.js +4 -4
  234. package/build/src/database/drivers/sqlite/query.js +2 -2
  235. package/build/src/database/drivers/sqlite/query.web.js +2 -2
  236. package/build/src/database/drivers/sqlite/sql/alter-table.js +3 -3
  237. package/build/src/database/drivers/sqlite/table.js +2 -2
  238. package/build/src/database/migrator/files-finder.js +2 -2
  239. package/build/src/database/migrator.d.ts +1 -1
  240. package/build/src/database/migrator.d.ts.map +1 -1
  241. package/build/src/database/migrator.js +7 -7
  242. package/build/src/database/pool/async-tracked-multi-connection.d.ts +9 -9
  243. package/build/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -1
  244. package/build/src/database/pool/async-tracked-multi-connection.js +28 -28
  245. package/build/src/database/pool/base-methods-forward.js +7 -7
  246. package/build/src/database/pool/base.d.ts +1 -1
  247. package/build/src/database/pool/base.d.ts.map +1 -1
  248. package/build/src/database/pool/base.js +9 -9
  249. package/build/src/database/query/from-base.d.ts +1 -1
  250. package/build/src/database/query/from-base.d.ts.map +1 -1
  251. package/build/src/database/query/from-base.js +2 -2
  252. package/build/src/database/query/index.d.ts +4 -4
  253. package/build/src/database/query/index.d.ts.map +1 -1
  254. package/build/src/database/query/index.js +11 -11
  255. package/build/src/database/query/join-object.js +4 -4
  256. package/build/src/database/query/model-class-query.d.ts +4 -4
  257. package/build/src/database/query/model-class-query.d.ts.map +1 -1
  258. package/build/src/database/query/model-class-query.js +40 -40
  259. package/build/src/database/query/preloader/belongs-to.js +23 -23
  260. package/build/src/database/query/preloader/has-many.js +21 -21
  261. package/build/src/database/query/preloader/has-one.js +9 -9
  262. package/build/src/database/query/preloader/selection.js +4 -4
  263. package/build/src/database/query/preloader.js +9 -9
  264. package/build/src/database/query/query-data.js +10 -10
  265. package/build/src/database/query/where-model-class-hash.js +8 -8
  266. package/build/src/database/query/with-count.js +10 -10
  267. package/build/src/database/record/acts-as-list.js +20 -20
  268. package/build/src/database/record/attachments/handle.d.ts +1 -1
  269. package/build/src/database/record/attachments/handle.d.ts.map +1 -1
  270. package/build/src/database/record/attachments/handle.js +3 -3
  271. package/build/src/database/record/attachments/normalize-input.js +15 -15
  272. package/build/src/database/record/attachments/storage-drivers/s3.js +7 -7
  273. package/build/src/database/record/attachments/store.d.ts +2 -2
  274. package/build/src/database/record/attachments/store.d.ts.map +1 -1
  275. package/build/src/database/record/attachments/store.js +14 -14
  276. package/build/src/database/record/index.d.ts +18 -25
  277. package/build/src/database/record/index.d.ts.map +1 -1
  278. package/build/src/database/record/index.js +135 -141
  279. package/build/src/database/record/instance-relationships/base.d.ts +3 -3
  280. package/build/src/database/record/instance-relationships/base.d.ts.map +1 -1
  281. package/build/src/database/record/instance-relationships/base.js +13 -13
  282. package/build/src/database/record/instance-relationships/belongs-to.js +4 -4
  283. package/build/src/database/record/instance-relationships/has-many.js +9 -9
  284. package/build/src/database/record/instance-relationships/has-one.d.ts +1 -1
  285. package/build/src/database/record/instance-relationships/has-one.d.ts.map +1 -1
  286. package/build/src/database/record/instance-relationships/has-one.js +8 -8
  287. package/build/src/database/record/relationships/base.js +4 -4
  288. package/build/src/database/record/state-machine.js +8 -8
  289. package/build/src/database/record/validators/presence.js +2 -2
  290. package/build/src/database/record/validators/uniqueness.js +6 -6
  291. package/build/src/database/table-data/index.d.ts +4 -4
  292. package/build/src/database/table-data/index.d.ts.map +1 -1
  293. package/build/src/database/table-data/index.js +5 -5
  294. package/build/src/environment-handlers/base.js +3 -3
  295. package/build/src/environment-handlers/browser.d.ts +3 -3
  296. package/build/src/environment-handlers/browser.d.ts.map +1 -1
  297. package/build/src/environment-handlers/browser.js +8 -8
  298. package/build/src/environment-handlers/node/cli/commands/cli-command-context.js +2 -2
  299. package/build/src/environment-handlers/node/cli/commands/console.d.ts.map +1 -1
  300. package/build/src/environment-handlers/node/cli/commands/console.js +5 -5
  301. package/build/src/environment-handlers/node/cli/commands/db/schema/dump.d.ts +1 -1
  302. package/build/src/environment-handlers/node/cli/commands/db/schema/dump.d.ts.map +1 -1
  303. package/build/src/environment-handlers/node/cli/commands/db/schema/dump.js +2 -2
  304. package/build/src/environment-handlers/node/cli/commands/db/schema/load.d.ts +1 -1
  305. package/build/src/environment-handlers/node/cli/commands/db/schema/load.d.ts.map +1 -1
  306. package/build/src/environment-handlers/node/cli/commands/db/schema/load.js +4 -4
  307. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +285 -12
  308. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
  309. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.js +712 -61
  310. package/build/src/environment-handlers/node.d.ts +2 -2
  311. package/build/src/environment-handlers/node.d.ts.map +1 -1
  312. package/build/src/environment-handlers/node.js +7 -7
  313. package/build/src/frontend-model-controller.d.ts +5 -6
  314. package/build/src/frontend-model-controller.d.ts.map +1 -1
  315. package/build/src/frontend-model-controller.js +88 -89
  316. package/build/src/frontend-model-resource/base-resource.d.ts +36 -27
  317. package/build/src/frontend-model-resource/base-resource.d.ts.map +1 -1
  318. package/build/src/frontend-model-resource/base-resource.js +67 -120
  319. package/build/src/frontend-models/base.d.ts +67 -59
  320. package/build/src/frontend-models/base.d.ts.map +1 -1
  321. package/build/src/frontend-models/base.js +171 -158
  322. package/build/src/frontend-models/clear-pending-debounced-callback.js +2 -2
  323. package/build/src/frontend-models/event-hook-models.d.ts.map +1 -1
  324. package/build/src/frontend-models/event-hook-models.js +3 -3
  325. package/build/src/frontend-models/outgoing-event-buffer.d.ts +1 -1
  326. package/build/src/frontend-models/outgoing-event-buffer.d.ts.map +1 -1
  327. package/build/src/frontend-models/outgoing-event-buffer.js +3 -3
  328. package/build/src/frontend-models/preloader.js +6 -6
  329. package/build/src/frontend-models/query.d.ts +16 -8
  330. package/build/src/frontend-models/query.d.ts.map +1 -1
  331. package/build/src/frontend-models/query.js +43 -39
  332. package/build/src/frontend-models/resource-definition.js +7 -7
  333. package/build/src/frontend-models/transport-serialization.js +12 -12
  334. package/build/src/frontend-models/use-destroyed-event.d.ts.map +1 -1
  335. package/build/src/frontend-models/use-destroyed-event.js +11 -11
  336. package/build/src/frontend-models/use-model-class-event.d.ts.map +1 -1
  337. package/build/src/frontend-models/use-model-class-event.js +12 -12
  338. package/build/src/frontend-models/use-updated-event.d.ts.map +1 -1
  339. package/build/src/frontend-models/use-updated-event.js +12 -12
  340. package/build/src/frontend-models/websocket-channel.d.ts +6 -1
  341. package/build/src/frontend-models/websocket-channel.d.ts.map +1 -1
  342. package/build/src/frontend-models/websocket-channel.js +26 -18
  343. package/build/src/frontend-models/websocket-publishers.js +11 -11
  344. package/build/src/http-client/response.d.ts +2 -2
  345. package/build/src/http-client/response.d.ts.map +1 -1
  346. package/build/src/http-client/response.js +3 -3
  347. package/build/src/http-server/client/index.d.ts +1 -1
  348. package/build/src/http-server/client/index.d.ts.map +1 -1
  349. package/build/src/http-server/client/index.js +9 -9
  350. package/build/src/http-server/client/params-to-object.js +11 -11
  351. package/build/src/http-server/client/request-buffer/form-data-part.d.ts +2 -2
  352. package/build/src/http-server/client/request-buffer/form-data-part.d.ts.map +1 -1
  353. package/build/src/http-server/client/request-buffer/form-data-part.js +3 -3
  354. package/build/src/http-server/client/request-buffer/index.d.ts +4 -4
  355. package/build/src/http-server/client/request-buffer/index.d.ts.map +1 -1
  356. package/build/src/http-server/client/request-buffer/index.js +9 -9
  357. package/build/src/http-server/client/request-parser.d.ts +1 -1
  358. package/build/src/http-server/client/request-parser.d.ts.map +1 -1
  359. package/build/src/http-server/client/request-parser.js +4 -4
  360. package/build/src/http-server/client/request-runner.js +7 -7
  361. package/build/src/http-server/client/request-timing.d.ts +5 -5
  362. package/build/src/http-server/client/request-timing.d.ts.map +1 -1
  363. package/build/src/http-server/client/request-timing.js +6 -6
  364. package/build/src/http-server/client/request.js +2 -2
  365. package/build/src/http-server/client/response.d.ts +3 -3
  366. package/build/src/http-server/client/response.d.ts.map +1 -1
  367. package/build/src/http-server/client/response.js +6 -6
  368. package/build/src/http-server/client/websocket-request.d.ts +3 -3
  369. package/build/src/http-server/client/websocket-request.d.ts.map +1 -1
  370. package/build/src/http-server/client/websocket-request.js +5 -5
  371. package/build/src/http-server/client/websocket-session.d.ts +6 -6
  372. package/build/src/http-server/client/websocket-session.d.ts.map +1 -1
  373. package/build/src/http-server/client/websocket-session.js +19 -19
  374. package/build/src/http-server/development-reloader.d.ts +3 -3
  375. package/build/src/http-server/development-reloader.d.ts.map +1 -1
  376. package/build/src/http-server/development-reloader.js +6 -6
  377. package/build/src/http-server/index.d.ts +7 -7
  378. package/build/src/http-server/index.d.ts.map +1 -1
  379. package/build/src/http-server/index.js +13 -13
  380. package/build/src/http-server/remote-address.js +6 -6
  381. package/build/src/http-server/server-client.js +4 -4
  382. package/build/src/http-server/server-lock.js +5 -5
  383. package/build/src/http-server/websocket-channel-subscribers.d.ts +1 -1
  384. package/build/src/http-server/websocket-channel-subscribers.d.ts.map +1 -1
  385. package/build/src/http-server/websocket-channel-subscribers.js +4 -4
  386. package/build/src/http-server/websocket-channel.d.ts +1 -1
  387. package/build/src/http-server/websocket-channel.d.ts.map +1 -1
  388. package/build/src/http-server/websocket-channel.js +2 -2
  389. package/build/src/http-server/websocket-connection.d.ts +1 -1
  390. package/build/src/http-server/websocket-connection.d.ts.map +1 -1
  391. package/build/src/http-server/websocket-connection.js +2 -2
  392. package/build/src/http-server/websocket-event-log-store.d.ts +1 -1
  393. package/build/src/http-server/websocket-event-log-store.d.ts.map +1 -1
  394. package/build/src/http-server/websocket-event-log-store.js +7 -7
  395. package/build/src/http-server/websocket-events-host.d.ts +1 -1
  396. package/build/src/http-server/websocket-events-host.d.ts.map +1 -1
  397. package/build/src/http-server/websocket-events-host.js +3 -3
  398. package/build/src/http-server/worker-handler/in-process.d.ts +3 -3
  399. package/build/src/http-server/worker-handler/in-process.d.ts.map +1 -1
  400. package/build/src/http-server/worker-handler/in-process.js +9 -9
  401. package/build/src/http-server/worker-handler/index.d.ts +4 -4
  402. package/build/src/http-server/worker-handler/index.d.ts.map +1 -1
  403. package/build/src/http-server/worker-handler/index.js +5 -5
  404. package/build/src/http-server/worker-handler/worker-thread.d.ts +2 -2
  405. package/build/src/http-server/worker-handler/worker-thread.d.ts.map +1 -1
  406. package/build/src/http-server/worker-handler/worker-thread.js +4 -4
  407. package/build/src/logger/outputs/array-output.d.ts +3 -3
  408. package/build/src/logger/outputs/array-output.d.ts.map +1 -1
  409. package/build/src/logger/outputs/array-output.js +4 -4
  410. package/build/src/logger/outputs/console-output.d.ts +1 -1
  411. package/build/src/logger/outputs/console-output.d.ts.map +1 -1
  412. package/build/src/logger/outputs/console-output.js +2 -2
  413. package/build/src/logger/outputs/file-output.d.ts +4 -4
  414. package/build/src/logger/outputs/file-output.d.ts.map +1 -1
  415. package/build/src/logger/outputs/file-output.js +5 -5
  416. package/build/src/logger/outputs/stdout-output.d.ts.map +1 -1
  417. package/build/src/logger/outputs/stdout-output.js +2 -2
  418. package/build/src/logger.d.ts.map +1 -1
  419. package/build/src/logger.js +11 -11
  420. package/build/src/mailer/backends/smtp.d.ts.map +1 -1
  421. package/build/src/mailer/backends/smtp.js +5 -5
  422. package/build/src/mailer/base.js +11 -11
  423. package/build/src/mailer/delivery.d.ts +3 -3
  424. package/build/src/mailer/delivery.d.ts.map +1 -1
  425. package/build/src/mailer/delivery.js +5 -5
  426. package/build/src/plugins/sqljs-wasm-route-controller.js +2 -2
  427. package/build/src/routes/base-route.d.ts +6 -6
  428. package/build/src/routes/base-route.d.ts.map +1 -1
  429. package/build/src/routes/base-route.js +7 -7
  430. package/build/src/routes/basic-route.js +2 -2
  431. package/build/src/routes/hooks/frontend-model-command-route-hook.js +2 -2
  432. package/build/src/routes/index.js +2 -2
  433. package/build/src/routes/plugin-routes.js +2 -2
  434. package/build/src/routes/resolver.d.ts +1 -1
  435. package/build/src/routes/resolver.d.ts.map +1 -1
  436. package/build/src/routes/resolver.js +13 -13
  437. package/build/src/routes/resource-route.d.ts +1 -1
  438. package/build/src/routes/resource-route.d.ts.map +1 -1
  439. package/build/src/routes/resource-route.js +2 -2
  440. package/build/src/testing/browser-frontend-model-event-hook-scenarios.d.ts.map +1 -1
  441. package/build/src/testing/browser-frontend-model-event-hook-scenarios.js +8 -8
  442. package/build/src/testing/expect-utils.js +13 -13
  443. package/build/src/testing/expect.d.ts +1 -1
  444. package/build/src/testing/expect.d.ts.map +1 -1
  445. package/build/src/testing/expect.js +9 -9
  446. package/build/src/testing/test-files-finder.d.ts +8 -8
  447. package/build/src/testing/test-files-finder.d.ts.map +1 -1
  448. package/build/src/testing/test-files-finder.js +9 -9
  449. package/build/src/testing/test-filter-parser.js +3 -3
  450. package/build/src/testing/test-runner.d.ts +2 -2
  451. package/build/src/testing/test-runner.d.ts.map +1 -1
  452. package/build/src/testing/test-runner.js +17 -17
  453. package/build/src/testing/test-suite-splitter.js +2 -2
  454. package/build/src/testing/test.d.ts +2 -2
  455. package/build/src/testing/test.d.ts.map +1 -1
  456. package/build/src/testing/test.js +16 -16
  457. package/build/src/utils/backtrace-cleaner.d.ts +1 -1
  458. package/build/src/utils/backtrace-cleaner.d.ts.map +1 -1
  459. package/build/src/utils/backtrace-cleaner.js +2 -2
  460. package/build/src/utils/format-value.js +2 -2
  461. package/build/src/utils/model-scope.js +2 -2
  462. package/build/src/utils/ransack.js +27 -27
  463. package/build/src/utils/with-tracked-stack-async-hooks.js +8 -8
  464. package/build/src/utils/with-tracked-stack.js +4 -4
  465. package/build/testing/browser-frontend-model-event-hook-scenarios.js +7 -7
  466. package/build/testing/expect-utils.js +11 -11
  467. package/build/testing/expect.js +7 -7
  468. package/build/testing/test-files-finder.js +8 -8
  469. package/build/testing/test-filter-parser.js +2 -2
  470. package/build/testing/test-runner.js +16 -16
  471. package/build/testing/test-suite-splitter.js +1 -1
  472. package/build/testing/test.js +15 -15
  473. package/build/utils/backtrace-cleaner.js +1 -1
  474. package/build/utils/format-value.js +1 -1
  475. package/build/utils/model-scope.js +1 -1
  476. package/build/utils/ransack.js +26 -26
  477. package/build/utils/with-tracked-stack-async-hooks.js +7 -7
  478. package/build/utils/with-tracked-stack.js +3 -3
  479. package/package.json +2 -1
  480. package/src/application.js +4 -4
  481. package/src/authorization/ability.js +8 -8
  482. package/src/authorization/base-resource.js +4 -4
  483. package/src/background-jobs/cron-expression.js +1 -1
  484. package/src/background-jobs/forked-runner-child.js +1 -1
  485. package/src/background-jobs/job-registry.js +1 -1
  486. package/src/background-jobs/job-runner.js +1 -1
  487. package/src/background-jobs/job.js +1 -1
  488. package/src/background-jobs/json-socket.js +4 -4
  489. package/src/background-jobs/main.js +21 -21
  490. package/src/background-jobs/scheduler.js +7 -7
  491. package/src/background-jobs/store.js +7 -7
  492. package/src/background-jobs/web/controller.js +2 -2
  493. package/src/background-jobs/worker.js +12 -12
  494. package/src/beacon/client.js +11 -8
  495. package/src/beacon/in-process-broker.js +2 -2
  496. package/src/beacon/in-process-client.js +2 -2
  497. package/src/beacon/server.js +3 -3
  498. package/src/cli/browser-cli.js +1 -1
  499. package/src/cli/commands/db/base-command.js +2 -2
  500. package/src/cli/index.js +2 -2
  501. package/src/cli/tenant-database-command-helper.js +3 -3
  502. package/src/cli/use-browser-cli.js +1 -1
  503. package/src/configuration-types.js +3 -1
  504. package/src/configuration.js +38 -38
  505. package/src/controller.js +8 -8
  506. package/src/current-configuration.js +1 -1
  507. package/src/database/annotations-async-hooks.js +2 -2
  508. package/src/database/annotations.js +3 -3
  509. package/src/database/drivers/base-column.js +1 -1
  510. package/src/database/drivers/base-foreign-key.js +1 -1
  511. package/src/database/drivers/base-table.js +1 -1
  512. package/src/database/drivers/base.js +10 -10
  513. package/src/database/drivers/mssql/index.js +1 -1
  514. package/src/database/drivers/mssql/table.js +1 -1
  515. package/src/database/drivers/mysql/index.js +3 -3
  516. package/src/database/drivers/mysql/query.js +1 -1
  517. package/src/database/drivers/mysql/table.js +1 -1
  518. package/src/database/drivers/pgsql/index.js +2 -2
  519. package/src/database/drivers/sqlite/base.js +16 -16
  520. package/src/database/drivers/sqlite/index.js +11 -11
  521. package/src/database/drivers/sqlite/index.native.js +1 -1
  522. package/src/database/drivers/sqlite/index.web.js +3 -3
  523. package/src/database/drivers/sqlite/query.js +1 -1
  524. package/src/database/drivers/sqlite/query.web.js +1 -1
  525. package/src/database/drivers/sqlite/sql/alter-table.js +2 -2
  526. package/src/database/drivers/sqlite/table.js +1 -1
  527. package/src/database/migrator/files-finder.js +1 -1
  528. package/src/database/migrator.js +6 -6
  529. package/src/database/pool/async-tracked-multi-connection.js +27 -27
  530. package/src/database/pool/base-methods-forward.js +4 -4
  531. package/src/database/pool/base.js +8 -8
  532. package/src/database/query/from-base.js +1 -1
  533. package/src/database/query/index.js +10 -10
  534. package/src/database/query/join-object.js +3 -3
  535. package/src/database/query/model-class-query.js +39 -39
  536. package/src/database/query/preloader/belongs-to.js +22 -22
  537. package/src/database/query/preloader/has-many.js +20 -20
  538. package/src/database/query/preloader/has-one.js +8 -8
  539. package/src/database/query/preloader/selection.js +3 -3
  540. package/src/database/query/preloader.js +8 -8
  541. package/src/database/query/query-data.js +9 -9
  542. package/src/database/query/where-model-class-hash.js +7 -7
  543. package/src/database/query/with-count.js +9 -9
  544. package/src/database/record/acts-as-list.js +15 -15
  545. package/src/database/record/attachments/handle.js +2 -2
  546. package/src/database/record/attachments/normalize-input.js +12 -12
  547. package/src/database/record/attachments/storage-drivers/s3.js +6 -6
  548. package/src/database/record/attachments/store.js +13 -13
  549. package/src/database/record/index.js +115 -121
  550. package/src/database/record/instance-relationships/base.js +11 -11
  551. package/src/database/record/instance-relationships/belongs-to.js +3 -3
  552. package/src/database/record/instance-relationships/has-many.js +8 -8
  553. package/src/database/record/instance-relationships/has-one.js +7 -7
  554. package/src/database/record/relationships/base.js +2 -2
  555. package/src/database/record/state-machine.js +7 -7
  556. package/src/database/record/validators/presence.js +1 -1
  557. package/src/database/record/validators/uniqueness.js +5 -5
  558. package/src/database/table-data/index.js +4 -4
  559. package/src/environment-handlers/base.js +2 -2
  560. package/src/environment-handlers/browser.js +7 -7
  561. package/src/environment-handlers/node/cli/commands/cli-command-context.js +1 -1
  562. package/src/environment-handlers/node/cli/commands/console.js +4 -4
  563. package/src/environment-handlers/node/cli/commands/db/schema/dump.js +1 -1
  564. package/src/environment-handlers/node/cli/commands/db/schema/load.js +3 -3
  565. package/src/environment-handlers/node/cli/commands/generate/frontend-models.js +836 -60
  566. package/src/environment-handlers/node.js +6 -6
  567. package/src/frontend-model-controller.js +81 -82
  568. package/src/frontend-model-resource/base-resource.js +78 -115
  569. package/src/frontend-models/base.js +162 -149
  570. package/src/frontend-models/clear-pending-debounced-callback.js +1 -1
  571. package/src/frontend-models/event-hook-models.js +2 -2
  572. package/src/frontend-models/outgoing-event-buffer.js +2 -2
  573. package/src/frontend-models/preloader.js +5 -5
  574. package/src/frontend-models/query.js +43 -38
  575. package/src/frontend-models/resource-definition.js +6 -6
  576. package/src/frontend-models/transport-serialization.js +11 -11
  577. package/src/frontend-models/use-destroyed-event.js +10 -10
  578. package/src/frontend-models/use-model-class-event.js +11 -11
  579. package/src/frontend-models/use-updated-event.js +11 -11
  580. package/src/frontend-models/websocket-channel.js +26 -17
  581. package/src/frontend-models/websocket-publishers.js +9 -9
  582. package/src/http-client/response.js +2 -2
  583. package/src/http-server/client/index.js +8 -8
  584. package/src/http-server/client/params-to-object.js +10 -10
  585. package/src/http-server/client/request-buffer/form-data-part.js +2 -2
  586. package/src/http-server/client/request-buffer/index.js +8 -8
  587. package/src/http-server/client/request-parser.js +3 -3
  588. package/src/http-server/client/request-runner.js +6 -6
  589. package/src/http-server/client/request-timing.js +5 -5
  590. package/src/http-server/client/request.js +1 -1
  591. package/src/http-server/client/response.js +5 -5
  592. package/src/http-server/client/websocket-request.js +4 -4
  593. package/src/http-server/client/websocket-session.js +18 -18
  594. package/src/http-server/development-reloader.js +5 -5
  595. package/src/http-server/index.js +12 -12
  596. package/src/http-server/remote-address.js +4 -4
  597. package/src/http-server/server-client.js +3 -3
  598. package/src/http-server/server-lock.js +4 -4
  599. package/src/http-server/websocket-channel-subscribers.js +3 -3
  600. package/src/http-server/websocket-channel.js +1 -1
  601. package/src/http-server/websocket-connection.js +1 -1
  602. package/src/http-server/websocket-event-log-store.js +6 -6
  603. package/src/http-server/websocket-events-host.js +2 -2
  604. package/src/http-server/worker-handler/in-process.js +7 -7
  605. package/src/http-server/worker-handler/index.js +4 -4
  606. package/src/http-server/worker-handler/worker-thread.js +3 -3
  607. package/src/logger/outputs/array-output.js +3 -3
  608. package/src/logger/outputs/console-output.js +1 -1
  609. package/src/logger/outputs/file-output.js +4 -4
  610. package/src/logger/outputs/stdout-output.js +1 -1
  611. package/src/logger.js +10 -10
  612. package/src/mailer/backends/smtp.js +3 -3
  613. package/src/mailer/base.js +8 -8
  614. package/src/mailer/delivery.js +4 -4
  615. package/src/plugins/sqljs-wasm-route-controller.js +1 -1
  616. package/src/routes/base-route.js +6 -6
  617. package/src/routes/basic-route.js +1 -1
  618. package/src/routes/hooks/frontend-model-command-route-hook.js +1 -1
  619. package/src/routes/index.js +1 -1
  620. package/src/routes/plugin-routes.js +1 -1
  621. package/src/routes/resolver.js +11 -11
  622. package/src/routes/resource-route.js +1 -1
  623. package/src/testing/browser-frontend-model-event-hook-scenarios.js +7 -7
  624. package/src/testing/expect-utils.js +11 -11
  625. package/src/testing/expect.js +7 -7
  626. package/src/testing/test-files-finder.js +8 -8
  627. package/src/testing/test-filter-parser.js +2 -2
  628. package/src/testing/test-runner.js +16 -16
  629. package/src/testing/test-suite-splitter.js +1 -1
  630. package/src/testing/test.js +15 -15
  631. package/src/utils/backtrace-cleaner.js +1 -1
  632. package/src/utils/format-value.js +1 -1
  633. package/src/utils/model-scope.js +1 -1
  634. package/src/utils/ransack.js +26 -26
  635. package/src/utils/with-tracked-stack-async-hooks.js +7 -7
  636. package/src/utils/with-tracked-stack.js +3 -3
@@ -23,7 +23,7 @@ const DURATION_MULTIPLIERS = {
23
23
  }
24
24
  /**
25
25
  * DurationUnit type.
26
- @typedef {keyof typeof DURATION_MULTIPLIERS} DurationUnit */
26
+ * @typedef {keyof typeof DURATION_MULTIPLIERS} DurationUnit */
27
27
 
28
28
  /**
29
29
  * Runs the parseScheduledDuration helper.
@@ -54,7 +54,7 @@ export function parseScheduledDuration(value, fieldName) {
54
54
  const numericValue = Number(match[1])
55
55
  const multiplier = DURATION_MULTIPLIERS[/**
56
56
  * Narrows the runtime value to the documented type.
57
- @type {DurationUnit} */ (match[2])]
57
+ * @type {DurationUnit} */ (match[2])]
58
58
 
59
59
  if (!multiplier) {
60
60
  throw new Error(`Invalid scheduled background job ${fieldName}: ${value}`)
@@ -77,11 +77,11 @@ export default class BackgroundJobsScheduler {
77
77
  this.logger = new Logger(this)
78
78
  /**
79
79
  * Narrows the runtime value to the documented type.
80
- @type {Array<ReturnType<typeof setInterval>>} */
80
+ * @type {Array<ReturnType<typeof setInterval>>} */
81
81
  this.intervalIds = []
82
82
  /**
83
83
  * Narrows the runtime value to the documented type.
84
- @type {Array<ReturnType<typeof setTimeout>>} */
84
+ * @type {Array<ReturnType<typeof setTimeout>>} */
85
85
  this.timeoutIds = []
86
86
  /**
87
87
  * Narrows the runtime value to the documented type.
@@ -92,7 +92,7 @@ export default class BackgroundJobsScheduler {
92
92
 
93
93
  /**
94
94
  * Runs start.
95
- @returns {Promise<void>} */
95
+ * @returns {Promise<void>} */
96
96
  async start() {
97
97
  this.stopped = false
98
98
 
@@ -115,7 +115,7 @@ export default class BackgroundJobsScheduler {
115
115
 
116
116
  /**
117
117
  * Runs stop.
118
- @returns {void} */
118
+ * @returns {void} */
119
119
  stop() {
120
120
  this.stopped = true
121
121
 
@@ -170,7 +170,7 @@ export default class BackgroundJobsScheduler {
170
170
  scheduleEveryJob({jobConfiguration, jobKey}) {
171
171
  const everyConfig = /**
172
172
  * Narrows the runtime value to the documented type.
173
- @type {NonNullable<typeof jobConfiguration.every>} */ (jobConfiguration.every)
173
+ * @type {NonNullable<typeof jobConfiguration.every>} */ (jobConfiguration.every)
174
174
  const {everyValue, firstInValue} = this.normalizeEvery(everyConfig)
175
175
  const intervalMs = parseScheduledDuration(everyValue, `${jobKey}.every`)
176
176
  const firstInMs = firstInValue !== undefined ? parseScheduledDuration(firstInValue, `${jobKey}.first_in`) : intervalMs
@@ -15,7 +15,7 @@ const DEFAULT_MAX_RETRIES = 10
15
15
  const ORPHANED_AFTER_MS = 2 * 60 * 60 * 1000
16
16
  /**
17
17
  * Execution modes.
18
- @type {import("./types.js").BackgroundJobExecutionMode[]} */
18
+ * @type {import("./types.js").BackgroundJobExecutionMode[]} */
19
19
  const EXECUTION_MODES = ["inline", "forked", "spawned"]
20
20
  const DEFAULT_EXECUTION_MODE = "forked"
21
21
 
@@ -233,13 +233,13 @@ export default class BackgroundJobsStore {
233
233
 
234
234
  /**
235
235
  * Counts.
236
- @type {Record<string, number>} */
236
+ * @type {Record<string, number>} */
237
237
  const counts = {}
238
238
 
239
239
  for (const row of rows) {
240
240
  const typedRow = /**
241
241
  * Narrows the runtime value to the documented type.
242
- @type {Record<string, ?>} */ (row)
242
+ * @type {Record<string, ?>} */ (row)
243
243
 
244
244
  counts[String(typedRow.status)] = this._normalizeNumber(typedRow.count) || 0
245
245
  }
@@ -267,7 +267,7 @@ export default class BackgroundJobsStore {
267
267
  const rows = await query.results()
268
268
  const countRow = /**
269
269
  * Narrows the runtime value to the documented type.
270
- @type {Record<string, ?>} */ (rows[0] || {})
270
+ * @type {Record<string, ?>} */ (rows[0] || {})
271
271
 
272
272
  return this._normalizeNumber(countRow.count) || 0
273
273
  })
@@ -734,7 +734,7 @@ export default class BackgroundJobsStore {
734
734
  _failureUpdate({failureMessage, markOrphaned, nextAttempt, now, scheduledAt, shouldRetry}) {
735
735
  /**
736
736
  * Update.
737
- @type {Record<string, ?>} */
737
+ * @type {Record<string, ?>} */
738
738
  const update = {
739
739
  attempts: nextAttempt,
740
740
  handed_off_at_ms: null,
@@ -926,7 +926,7 @@ export default class BackgroundJobsStore {
926
926
  let callbackCalled = false
927
927
  /**
928
928
  * Defines result.
929
- @type {T | undefined} */
929
+ * @type {T | undefined} */
930
930
  let result
931
931
 
932
932
  await pool.withConnection({name: "Background jobs store"}, async (db) => {
@@ -938,7 +938,7 @@ export default class BackgroundJobsStore {
938
938
  throw new Error("Background jobs store callback was not invoked")
939
939
  }
940
940
 
941
- return /** Narrows the runtime value to the documented type. @type {T} */ (result)
941
+ return /** @type {T} */ (result)
942
942
  }
943
943
 
944
944
  /**
@@ -112,7 +112,7 @@ export default class VelociousBackgroundJobsWebController extends Controller {
112
112
  const counts = await this._store().countsByStatus()
113
113
  /**
114
114
  * By status.
115
- @type {Record<string, number>} */
115
+ * @type {Record<string, number>} */
116
116
  const byStatus = {}
117
117
  let total = 0
118
118
 
@@ -224,7 +224,7 @@ export default class VelociousBackgroundJobsWebController extends Controller {
224
224
  return Object.keys(jobs).map((name) => {
225
225
  const entry = jobs[name] || /**
226
226
  * Narrows the runtime value to the documented type.
227
- @type {?} */ ({})
227
+ * @type {?} */ ({})
228
228
 
229
229
  return {
230
230
  args: redactArgs ? undefined : (entry.args || []),
@@ -14,7 +14,7 @@ const FORKED_CHILD_SIGKILL_GRACE_MS = 5000
14
14
  const FORKED_RUNNER_ENTRY_PATH = fileURLToPath(new URL("./forked-runner-child.js", import.meta.url))
15
15
  /**
16
16
  * Execution modes.
17
- @type {import("./types.js").BackgroundJobExecutionMode[]} */
17
+ * @type {import("./types.js").BackgroundJobExecutionMode[]} */
18
18
  const EXECUTION_MODES = ["inline", "forked", "spawned"]
19
19
 
20
20
  export default class BackgroundJobsWorker {
@@ -31,11 +31,11 @@ export default class BackgroundJobsWorker {
31
31
  constructor({configuration, host, port, maxConcurrentForkedJobs, maxConcurrentInlineJobs, forkedChildSigkillGraceMs} = {}) {
32
32
  /**
33
33
  * Narrows the runtime value to the documented type.
34
- @type {Promise<import("../configuration.js").default>} */
34
+ * @type {Promise<import("../configuration.js").default>} */
35
35
  this.configurationPromise = configuration ? Promise.resolve(configuration) : configurationResolver()
36
36
  /**
37
37
  * Narrows the runtime value to the documented type.
38
- @type {import("../configuration.js").default | undefined} */
38
+ * @type {import("../configuration.js").default | undefined} */
39
39
  this.configuration = undefined
40
40
  this.host = host
41
41
  this.port = port
@@ -50,7 +50,7 @@ export default class BackgroundJobsWorker {
50
50
  : undefined
51
51
  /**
52
52
  * Narrows the runtime value to the documented type.
53
- @type {number | undefined} */
53
+ * @type {number | undefined} */
54
54
  this.maxConcurrentForkedJobsOverride = typeof maxConcurrentForkedJobs === "number" && maxConcurrentForkedJobs >= 1
55
55
  ? maxConcurrentForkedJobs
56
56
  : undefined
@@ -62,7 +62,7 @@ export default class BackgroundJobsWorker {
62
62
  this.maxConcurrentInlineJobs = this.maxConcurrentInlineJobsOverride || 4
63
63
  /**
64
64
  * Narrows the runtime value to the documented type.
65
- @type {number} */
65
+ * @type {number} */
66
66
  this.maxConcurrentForkedJobs = this.maxConcurrentForkedJobsOverride || 4
67
67
  /**
68
68
  * Grace period between SIGTERM and SIGKILL when reaping process runners that
@@ -76,11 +76,11 @@ export default class BackgroundJobsWorker {
76
76
  this.workerId = randomUUID()
77
77
  /**
78
78
  * Narrows the runtime value to the documented type.
79
- @type {JsonSocket | undefined} */
79
+ * @type {JsonSocket | undefined} */
80
80
  this.jsonSocket = undefined
81
81
  /**
82
82
  * Narrows the runtime value to the documented type.
83
- @type {BackgroundJobsStatusReporter | undefined} */
83
+ * @type {BackgroundJobsStatusReporter | undefined} */
84
84
  this.statusReporter = undefined
85
85
  /**
86
86
  * Up to `this.maxConcurrentInlineJobs` of these run in parallel. They
@@ -275,10 +275,10 @@ export default class BackgroundJobsWorker {
275
275
  if (!payload.id) throw new Error("Background job payload missing id")
276
276
  /**
277
277
  * Identified payload.
278
- @type {import("./types.js").BackgroundJobPayload & {id: string}} */
278
+ * @type {import("./types.js").BackgroundJobPayload & {id: string}} */
279
279
  const identifiedPayload = /**
280
280
  * Narrows the runtime value to the documented type.
281
- @type {?} */ (payload)
281
+ * @type {?} */ (payload)
282
282
 
283
283
  const executionMode = this._executionModeForPayload(identifiedPayload)
284
284
 
@@ -322,7 +322,7 @@ export default class BackgroundJobsWorker {
322
322
  // regardless of success or failure.
323
323
  /**
324
324
  * Defines inflight.
325
- @type {Promise<void>} */
325
+ * @type {Promise<void>} */
326
326
  let inflight
327
327
 
328
328
  inflight = this._runInlineJobAndReport(payload).finally(() => {
@@ -375,7 +375,7 @@ export default class BackgroundJobsWorker {
375
375
  _trackProcessJob(processJob) {
376
376
  /**
377
377
  * Defines inflight.
378
- @type {Promise<void>} */
378
+ * @type {Promise<void>} */
379
379
  let inflight
380
380
 
381
381
  inflight = processJob.finally(() => {
@@ -464,7 +464,7 @@ export default class BackgroundJobsWorker {
464
464
  const jobInstance = new JobClass()
465
465
  /**
466
466
  * Perform.
467
- @type {(...args: Array<?>) => Promise<void>} */
467
+ * @type {(...args: Array<?>) => Promise<void>} */
468
468
  const perform = jobInstance.perform
469
469
 
470
470
  await configuration.withConnections({name: `Background job worker inline: ${payload.jobName}`}, async () => {
@@ -55,22 +55,22 @@ export default class BeaconClient extends EventEmitter {
55
55
  this._reconnectDelayMs = this._initialReconnectDelayMs
56
56
  /**
57
57
  * Narrows the runtime value to the documented type.
58
- @type {JsonSocket | undefined} */
58
+ * @type {JsonSocket | undefined} */
59
59
  this._jsonSocket = undefined
60
60
  /**
61
61
  * Narrows the runtime value to the documented type.
62
- @type {net.Socket | undefined} */
62
+ * @type {net.Socket | undefined} */
63
63
  this._socket = undefined
64
64
  this._connected = false
65
65
  this._ready = false
66
66
  this._closed = false
67
67
  /**
68
68
  * Narrows the runtime value to the documented type.
69
- @type {NodeJS.Timeout | undefined} */
69
+ * @type {NodeJS.Timeout | undefined} */
70
70
  this._reconnectTimer = undefined
71
71
  /**
72
72
  * Narrows the runtime value to the documented type.
73
- @type {Promise<void> | undefined} */
73
+ * @type {Promise<void> | undefined} */
74
74
  this._connectPromise = undefined
75
75
  /**
76
76
  * Last socket error observed while connected, surfaced as the disconnect reason.
@@ -118,7 +118,7 @@ export default class BeaconClient extends EventEmitter {
118
118
  }
119
119
  const onError = (/**
120
120
  * Narrows the runtime value to the documented type.
121
- @type {Error} */ error) => {
121
+ * @type {Error} */ error) => {
122
122
  this.off("connect", onConnect)
123
123
  this.off("connect-error", onError)
124
124
  reject(error)
@@ -145,7 +145,10 @@ export default class BeaconClient extends EventEmitter {
145
145
  async waitForReady({timeoutMs} = {}) {
146
146
  if (this._ready) return
147
147
 
148
- /** Cleanup. @type {() => void} */
148
+ /**
149
+ * Cleans up the ready listener and timeout.
150
+ * @type {() => void}
151
+ */
149
152
  let cleanup = () => {}
150
153
  const readyPromise = new Promise((resolve) => {
151
154
  const onReady = () => {
@@ -184,7 +187,7 @@ export default class BeaconClient extends EventEmitter {
184
187
 
185
188
  /**
186
189
  * Message.
187
- @type {import("./types.js").BeaconBroadcastMessage} */
190
+ * @type {import("./types.js").BeaconBroadcastMessage} */
188
191
  const message = {
189
192
  type: "broadcast",
190
193
  channel,
@@ -270,7 +273,7 @@ export default class BeaconClient extends EventEmitter {
270
273
 
271
274
  jsonSocket.on("message", (/**
272
275
  * Narrows the runtime value to the documented type.
273
- @type {import("./types.js").BeaconSocketMessage} */ message) => {
276
+ * @type {import("./types.js").BeaconSocketMessage} */ message) => {
274
277
  if (message?.type === "hello-ack" && message.peerId === this.peerId) {
275
278
  this._ready = true
276
279
  this.emit("ready")
@@ -20,11 +20,11 @@
20
20
 
21
21
  /**
22
22
  * Defines this typedef.
23
- @typedef {{_receiveBroadcast: (message: import("./types.js").BeaconBroadcastMessage) => void}} InProcessPeer */
23
+ * @typedef {{_receiveBroadcast: (message: import("./types.js").BeaconBroadcastMessage) => void}} InProcessPeer */
24
24
 
25
25
  /**
26
26
  * Peers.
27
- @type {Set<InProcessPeer>} */
27
+ * @type {Set<InProcessPeer>} */
28
28
  const peers = new Set()
29
29
 
30
30
  /**
@@ -37,7 +37,7 @@ export default class InProcessBeaconClient extends EventEmitter {
37
37
  this._connected = false
38
38
  /**
39
39
  * Narrows the runtime value to the documented type.
40
- @type {(() => void) | undefined} */
40
+ * @type {(() => void) | undefined} */
41
41
  this._unregister = undefined
42
42
  }
43
43
 
@@ -94,7 +94,7 @@ export default class InProcessBeaconClient extends EventEmitter {
94
94
 
95
95
  /**
96
96
  * Message.
97
- @type {import("./types.js").BeaconBroadcastMessage} */
97
+ * @type {import("./types.js").BeaconBroadcastMessage} */
98
98
  const message = {
99
99
  type: "broadcast",
100
100
  channel,
@@ -31,11 +31,11 @@ export default class BeaconServer {
31
31
  this.logger = new Logger(this)
32
32
  /**
33
33
  * Narrows the runtime value to the documented type.
34
- @type {Set<JsonSocket>} */
34
+ * @type {Set<JsonSocket>} */
35
35
  this.peers = new Set()
36
36
  /**
37
37
  * Narrows the runtime value to the documented type.
38
- @type {net.Server | undefined} */
38
+ * @type {net.Server | undefined} */
39
39
  this.server = undefined
40
40
  /**
41
41
  * Accepted sockets, including connections that have not completed the hello handshake yet.
@@ -110,7 +110,7 @@ export default class BeaconServer {
110
110
  const jsonSocket = new JsonSocket(socket)
111
111
  /**
112
112
  * Defines peerId.
113
- @type {string | undefined} */
113
+ * @type {string | undefined} */
114
114
  let peerId
115
115
 
116
116
  const cleanup = () => {
@@ -21,7 +21,7 @@ export default class VelociousBrowserCli {
21
21
  enable() {
22
22
  /**
23
23
  * Global scope.
24
- @type {typeof globalThis & {velociousCLI?: VelociousBrowserCli}} */
24
+ * @type {typeof globalThis & {velociousCLI?: VelociousBrowserCli}} */
25
25
  const globalScope = globalThis
26
26
 
27
27
  globalScope.velociousCLI = this
@@ -4,12 +4,12 @@ import {digg} from "diggerize"
4
4
  export default class DbBaseCommand extends BaseCommand {
5
5
  /**
6
6
  * Narrows the runtime value to the documented type.
7
- @type {import("../../../database/drivers/base.js").default | undefined} */
7
+ * @type {import("../../../database/drivers/base.js").default | undefined} */
8
8
  databaseConnection
9
9
 
10
10
  /**
11
11
  * Narrows the runtime value to the documented type.
12
- @type {Array<object> | undefined} */
12
+ * @type {Array<object> | undefined} */
13
13
  result
14
14
 
15
15
  /**
package/src/cli/index.js CHANGED
@@ -88,11 +88,11 @@ export default class VelociousCli {
88
88
  const commandNames = new Set(commands.map((command) => command.name))
89
89
  /**
90
90
  * Groups.
91
- @type {string[][]} */
91
+ * @type {string[][]} */
92
92
  const groups = []
93
93
  /**
94
94
  * Current group.
95
- @type {string[]} */
95
+ * @type {string[]} */
96
96
  let currentGroup = []
97
97
 
98
98
  for (const processArg of processArgs) {
@@ -18,7 +18,7 @@ export default class TenantDatabaseCommandHelper {
18
18
 
19
19
  /**
20
20
  * Runs validate tenant database identifier.
21
- @returns {void} */
21
+ * @returns {void} */
22
22
  validateTenantDatabaseIdentifier() {
23
23
  const databaseConfiguration = this.configuration.getDatabaseConfiguration()[this.identifier]
24
24
 
@@ -88,7 +88,7 @@ export default class TenantDatabaseCommandHelper {
88
88
 
89
89
  /**
90
90
  * Failures.
91
- @type {Array<{error: Error, tenant: ?}>} */
91
+ * @type {Array<{error: Error, tenant: ?}>} */
92
92
  const failures = []
93
93
  const workers = []
94
94
  let tenantIndex = 0
@@ -186,7 +186,7 @@ export default class TenantDatabaseCommandHelper {
186
186
  if (tenant && typeof tenant === "object") {
187
187
  const tenantObject = /**
188
188
  * Narrows the runtime value to the documented type.
189
- @type {{id?: ?, name?: ?, slug?: ?}} */ (tenant)
189
+ * @type {{id?: ?, name?: ?, slug?: ?}} */ (tenant)
190
190
 
191
191
  if (tenantObject.slug) return String(tenantObject.slug)
192
192
  if (tenantObject.name) return String(tenantObject.name)
@@ -5,7 +5,7 @@ import restArgsError from "../utils/rest-args-error.js"
5
5
 
6
6
  /**
7
7
  * Shared.
8
- @type {{browserCli?: BrowserCli}} */
8
+ * @type {{browserCli?: BrowserCli}} */
9
9
  const shared = {}
10
10
 
11
11
  /**
@@ -263,6 +263,8 @@
263
263
  * @property {string} [columnType] - Alias for column type name.
264
264
  * @property {string} [sqlType] - Alias for column type name.
265
265
  * @property {string} [dataType] - Alias for column type name.
266
+ * @property {string} [jsDocType] - Exact generated JSDoc type for non-column attributes.
267
+ * @property {string} [name] - Attribute name when configured as an array entry.
266
268
  * @property {boolean} [null] - Whether value can be null.
267
269
  * @property {boolean} [selectedByDefault] - Whether included in default serialization. Defaults to true.
268
270
  */
@@ -274,7 +276,7 @@
274
276
 
275
277
  /**
276
278
  * @typedef {object} FrontendModelResourceConfiguration
277
- * @property {string[] | Record<string, FrontendModelAttributeConfiguration | import("./database/drivers/base-column.js").default | boolean>} attributes - Attributes to expose on the frontend model.
279
+ * @property {Array<string | FrontendModelAttributeConfiguration> | Record<string, FrontendModelAttributeConfiguration | import("./database/drivers/base-column.js").default | boolean>} attributes - Attributes to expose on the frontend model.
278
280
  * @property {string[]} [abilities] - Ability action list (camelCase action names). Defaults to `["read"]` for `find` and `index` when omitted.
279
281
  * @property {Record<string, FrontendModelAttachmentConfiguration>} [attachments] - Attachment helpers keyed by attachment name.
280
282
  * @property {string[]} [commands] - Legacy built-in command names (`index`, `find`, `create`, `update`, `destroy`, `attach`, `download`, `url`).