@fdm-monster/server 1.8.3 → 1.9.0-rc1

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 (439) hide show
  1. package/.env.template +5 -3
  2. package/.gitattributes +4 -2
  3. package/.yarn/install-state.gz +0 -0
  4. package/.yarn/releases/yarn-4.9.1.cjs +948 -0
  5. package/.yarnrc.yml +1 -1
  6. package/README.md +25 -26
  7. package/RELEASE_NOTES.MD +50 -1
  8. package/biome.json +33 -0
  9. package/dist/consoles/download-github-releases.js.map +1 -1
  10. package/dist/consoles/launch-http-servers.js +31 -0
  11. package/dist/consoles/launch-http-servers.js.map +1 -0
  12. package/dist/consoles/mock-octoprint.server.js +291 -0
  13. package/dist/consoles/mock-octoprint.server.js.map +1 -0
  14. package/dist/consoles/mock-prusalink.server.js +57 -0
  15. package/dist/consoles/mock-prusalink.server.js.map +1 -0
  16. package/dist/consoles/utils/api-messages.js +856 -0
  17. package/dist/consoles/utils/api-messages.js.map +1 -0
  18. package/dist/consoles/utils/delayed-memory.storage.js +42 -0
  19. package/dist/consoles/utils/delayed-memory.storage.js.map +1 -0
  20. package/dist/consoles/utils/ws-messages.js +88 -0
  21. package/dist/consoles/utils/ws-messages.js.map +1 -0
  22. package/dist/constants/event.constants.js +5 -21
  23. package/dist/constants/event.constants.js.map +1 -1
  24. package/dist/constants/server-settings.constants.js +6 -11
  25. package/dist/constants/server-settings.constants.js.map +1 -1
  26. package/dist/container.js +13 -14
  27. package/dist/container.js.map +1 -1
  28. package/dist/container.tokens.js +3 -4
  29. package/dist/container.tokens.js.map +1 -1
  30. package/dist/controllers/auth.controller.js +114 -24
  31. package/dist/controllers/auth.controller.js.map +1 -1
  32. package/dist/controllers/batch-call.controller.js +95 -24
  33. package/dist/controllers/batch-call.controller.js.map +1 -1
  34. package/dist/controllers/camera-stream.controller.js +16 -12
  35. package/dist/controllers/camera-stream.controller.js.map +1 -1
  36. package/dist/controllers/custom-gcode.controller.js +116 -40
  37. package/dist/controllers/custom-gcode.controller.js.map +1 -1
  38. package/dist/controllers/dto/update-client-dist.dto.js +0 -21
  39. package/dist/controllers/dto/update-client-dist.dto.js.map +1 -1
  40. package/dist/controllers/first-time-setup.controller.js +54 -18
  41. package/dist/controllers/first-time-setup.controller.js.map +1 -1
  42. package/dist/controllers/floor.controller.js +154 -43
  43. package/dist/controllers/floor.controller.js.map +1 -1
  44. package/dist/controllers/metrics.controller.js +56 -0
  45. package/dist/controllers/metrics.controller.js.map +1 -0
  46. package/dist/controllers/print-completion.controller.js +81 -18
  47. package/dist/controllers/print-completion.controller.js.map +1 -1
  48. package/dist/controllers/printer-files.controller.js +42 -28
  49. package/dist/controllers/printer-files.controller.js.map +1 -1
  50. package/dist/controllers/printer-group.controller.js +123 -33
  51. package/dist/controllers/printer-group.controller.js.map +1 -1
  52. package/dist/controllers/printer-settings.controller.js +73 -26
  53. package/dist/controllers/printer-settings.controller.js.map +1 -1
  54. package/dist/controllers/printer.controller.js +57 -198
  55. package/dist/controllers/printer.controller.js.map +1 -1
  56. package/dist/controllers/server-private.controller.js +153 -39
  57. package/dist/controllers/server-private.controller.js.map +1 -1
  58. package/dist/controllers/server-public.controller.js +79 -84
  59. package/dist/controllers/server-public.controller.js.map +1 -1
  60. package/dist/controllers/settings.controller.js +222 -79
  61. package/dist/controllers/settings.controller.js.map +1 -1
  62. package/dist/controllers/user.controller.js +67 -57
  63. package/dist/controllers/user.controller.js.map +1 -1
  64. package/dist/controllers/validation/auth-controller.validation.js +6 -5
  65. package/dist/controllers/validation/auth-controller.validation.js.map +1 -1
  66. package/dist/controllers/validation/batch-controller.validation.js +17 -18
  67. package/dist/controllers/validation/batch-controller.validation.js.map +1 -1
  68. package/dist/controllers/validation/generic.validation.js +8 -3
  69. package/dist/controllers/validation/generic.validation.js.map +1 -1
  70. package/dist/controllers/validation/printer-completion-controller.validation.js +16 -0
  71. package/dist/controllers/validation/printer-completion-controller.validation.js.map +1 -0
  72. package/dist/controllers/validation/printer-controller.validation.js +31 -50
  73. package/dist/controllers/validation/printer-controller.validation.js.map +1 -1
  74. package/dist/controllers/validation/printer-files-controller.validation.js +16 -15
  75. package/dist/controllers/validation/printer-files-controller.validation.js.map +1 -1
  76. package/dist/controllers/validation/printer-settings-controller.validation.js +6 -5
  77. package/dist/controllers/validation/printer-settings-controller.validation.js.map +1 -1
  78. package/dist/controllers/validation/server-private.validation.js +17 -0
  79. package/dist/controllers/validation/server-private.validation.js.map +1 -0
  80. package/dist/controllers/validation/setting.validation.js +28 -10
  81. package/dist/controllers/validation/setting.validation.js.map +1 -1
  82. package/dist/controllers/validation/user-controller.validation.js +44 -13
  83. package/dist/controllers/validation/user-controller.validation.js.map +1 -1
  84. package/dist/data-source.js +10 -6
  85. package/dist/data-source.js.map +1 -1
  86. package/dist/entities/camera-stream.entity.js +2 -3
  87. package/dist/entities/camera-stream.entity.js.map +1 -1
  88. package/dist/entities/custom-gcode.entity.js +1 -2
  89. package/dist/entities/custom-gcode.entity.js.map +1 -1
  90. package/dist/entities/floor-position.entity.js.map +1 -1
  91. package/dist/entities/floor.entity.js +1 -2
  92. package/dist/entities/floor.entity.js.map +1 -1
  93. package/dist/entities/group.entity.js +6 -2
  94. package/dist/entities/group.entity.js.map +1 -1
  95. package/dist/entities/permission.entity.js +1 -2
  96. package/dist/entities/permission.entity.js.map +1 -1
  97. package/dist/entities/print-completion.entity.js +1 -2
  98. package/dist/entities/print-completion.entity.js.map +1 -1
  99. package/dist/entities/printer-group.entity.js +6 -2
  100. package/dist/entities/printer-group.entity.js.map +1 -1
  101. package/dist/entities/printer.entity.js +22 -4
  102. package/dist/entities/printer.entity.js.map +1 -1
  103. package/dist/entities/refresh-token.entity.js +1 -2
  104. package/dist/entities/refresh-token.entity.js.map +1 -1
  105. package/dist/entities/role.entity.js +1 -2
  106. package/dist/entities/role.entity.js.map +1 -1
  107. package/dist/entities/settings.entity.js +1 -2
  108. package/dist/entities/settings.entity.js.map +1 -1
  109. package/dist/entities/user-role.entity.js +1 -2
  110. package/dist/entities/user-role.entity.js.map +1 -1
  111. package/dist/entities/user.entity.js +1 -2
  112. package/dist/entities/user.entity.js.map +1 -1
  113. package/dist/exceptions/runtime.exceptions.js.map +1 -1
  114. package/dist/handlers/logger.js +131 -36
  115. package/dist/handlers/logger.js.map +1 -1
  116. package/dist/handlers/validators.js +7 -116
  117. package/dist/handlers/validators.js.map +1 -1
  118. package/dist/index.js.map +1 -1
  119. package/dist/middleware/authenticate.js +11 -22
  120. package/dist/middleware/authenticate.js.map +1 -1
  121. package/dist/middleware/database.js.map +1 -1
  122. package/dist/middleware/demo.middleware.js +4 -17
  123. package/dist/middleware/demo.middleware.js.map +1 -1
  124. package/dist/middleware/exception.filter.js +23 -23
  125. package/dist/middleware/exception.filter.js.map +1 -1
  126. package/dist/middleware/global.middleware.js +4 -4
  127. package/dist/middleware/global.middleware.js.map +1 -1
  128. package/dist/middleware/param-converter.middleware.js +81 -0
  129. package/dist/middleware/param-converter.middleware.js.map +1 -0
  130. package/dist/middleware/passport.js +3 -5
  131. package/dist/middleware/passport.js.map +1 -1
  132. package/dist/middleware/printer-resolver.js +37 -0
  133. package/dist/middleware/printer-resolver.js.map +1 -0
  134. package/dist/middleware/printer.js +22 -10
  135. package/dist/middleware/printer.js.map +1 -1
  136. package/dist/middleware/socketio.middleware.js +27 -0
  137. package/dist/middleware/socketio.middleware.js.map +1 -0
  138. package/dist/migrations/1706829146617-InitSqlite.js +1 -1
  139. package/dist/migrations/1706829146617-InitSqlite.js.map +1 -1
  140. package/dist/migrations/1707494762198-PrinterGroup.js +1 -1
  141. package/dist/migrations/1707494762198-PrinterGroup.js.map +1 -1
  142. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js +1 -1
  143. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js.map +1 -1
  144. package/dist/migrations/1713897879622-AddPrinterType.js +1 -1
  145. package/dist/migrations/1713897879622-AddPrinterType.js.map +1 -1
  146. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js +229 -0
  147. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js.map +1 -0
  148. package/dist/models/Auth/Permission.js.map +1 -1
  149. package/dist/models/Auth/RefreshToken.js +1 -1
  150. package/dist/models/Auth/RefreshToken.js.map +1 -1
  151. package/dist/models/Auth/Role.js.map +1 -1
  152. package/dist/models/Auth/User.js.map +1 -1
  153. package/dist/models/CameraStream.js +20 -0
  154. package/dist/models/CameraStream.js.map +1 -1
  155. package/dist/models/CustomGcode.js.map +1 -1
  156. package/dist/models/Floor.js.map +1 -1
  157. package/dist/models/FloorPrinter.js +10 -1
  158. package/dist/models/FloorPrinter.js.map +1 -1
  159. package/dist/models/PrintCompletion.js.map +1 -1
  160. package/dist/models/Printer.js +12 -5
  161. package/dist/models/Printer.js.map +1 -1
  162. package/dist/models/Settings.js +5 -42
  163. package/dist/models/Settings.js.map +1 -1
  164. package/dist/models/index.js +0 -4
  165. package/dist/models/index.js.map +1 -1
  166. package/dist/mongo-migrations/20210713120034-printers-settingsapperance-apikey.js.map +1 -1
  167. package/dist/mongo-migrations/20210907173950-printers-enabled.js.map +1 -1
  168. package/dist/mongo-migrations/20211029110742-user-password-passwordhash.js.map +1 -1
  169. package/dist/mongo-migrations/20230414141005-floor-remove-groupinfloor.js.map +1 -1
  170. package/dist/mongo-migrations/20230427202911-printer-remove-sortindex.js.map +1 -1
  171. package/dist/mongo-migrations/20230716065316-user-remove-name.js.map +1 -1
  172. package/dist/mongo-migrations/20231111081809-printer-flatten-name.js.map +1 -1
  173. package/dist/mongo-migrations/20231111082521-printer-remove-settingsappearance.js.map +1 -1
  174. package/dist/mongo-migrations/20231202183902-printer-files-simpler.js.map +1 -1
  175. package/dist/server.constants.js +7 -4
  176. package/dist/server.constants.js.map +1 -1
  177. package/dist/server.core.js +29 -2
  178. package/dist/server.core.js.map +1 -1
  179. package/dist/server.env.js +13 -8
  180. package/dist/server.env.js.map +1 -1
  181. package/dist/server.host.js +24 -33
  182. package/dist/server.host.js.map +1 -1
  183. package/dist/services/authentication/auth.service.js +15 -20
  184. package/dist/services/authentication/auth.service.js.map +1 -1
  185. package/dist/services/authentication/jwt.service.js +1 -1
  186. package/dist/services/authentication/jwt.service.js.map +1 -1
  187. package/dist/services/core/batch-call.service.js +23 -25
  188. package/dist/services/core/batch-call.service.js.map +1 -1
  189. package/dist/services/core/client-bundle.service.js +78 -136
  190. package/dist/services/core/client-bundle.service.js.map +1 -1
  191. package/dist/services/core/config.service.js.map +1 -1
  192. package/dist/services/core/cradle.service.js +21 -0
  193. package/dist/services/core/cradle.service.js.map +1 -0
  194. package/dist/services/core/github.service.js +2 -2
  195. package/dist/services/core/github.service.js.map +1 -1
  196. package/dist/services/core/http-client.factory.js +1 -1
  197. package/dist/services/core/http-client.factory.js.map +1 -1
  198. package/dist/services/core/logs-manager.service.js +3 -3
  199. package/dist/services/core/logs-manager.service.js.map +1 -1
  200. package/dist/services/core/monsterpi.service.js +1 -1
  201. package/dist/services/core/monsterpi.service.js.map +1 -1
  202. package/dist/services/core/multer.service.js +8 -7
  203. package/dist/services/core/multer.service.js.map +1 -1
  204. package/dist/services/core/server-release.service.js +14 -8
  205. package/dist/services/core/server-release.service.js.map +1 -1
  206. package/dist/services/core/yaml.service.js +16 -17
  207. package/dist/services/core/yaml.service.js.map +1 -1
  208. package/dist/services/interfaces/camera-stream.dto.js +4 -34
  209. package/dist/services/interfaces/camera-stream.dto.js.map +1 -1
  210. package/dist/services/interfaces/custom-gcode.dto.js.map +1 -1
  211. package/dist/services/interfaces/floor.dto.js +5 -47
  212. package/dist/services/interfaces/floor.dto.js.map +1 -1
  213. package/dist/services/interfaces/login.dto.js +2 -0
  214. package/dist/services/interfaces/login.dto.js.map +1 -1
  215. package/dist/services/interfaces/print-completion.dto.js.map +1 -1
  216. package/dist/services/interfaces/printer-group.dto.js +0 -14
  217. package/dist/services/interfaces/printer-group.dto.js.map +1 -1
  218. package/dist/services/interfaces/printer.dto.js +11 -11
  219. package/dist/services/interfaces/printer.dto.js.map +1 -1
  220. package/dist/services/interfaces/settings.dto.js.map +1 -1
  221. package/dist/services/interfaces/task.interfaces.js +6 -0
  222. package/dist/services/interfaces/task.interfaces.js.map +1 -0
  223. package/dist/services/mongoose/camera-stream.service.js +17 -15
  224. package/dist/services/mongoose/camera-stream.service.js.map +1 -1
  225. package/dist/services/mongoose/custom-gcode.service.js +4 -2
  226. package/dist/services/mongoose/custom-gcode.service.js.map +1 -1
  227. package/dist/services/mongoose/floor.service.js +37 -30
  228. package/dist/services/mongoose/floor.service.js.map +1 -1
  229. package/dist/services/mongoose/permission.service.js +1 -1
  230. package/dist/services/mongoose/permission.service.js.map +1 -1
  231. package/dist/services/mongoose/print-completion.service.js +2 -2
  232. package/dist/services/mongoose/print-completion.service.js.map +1 -1
  233. package/dist/services/mongoose/print-completion.shared.js +2 -2
  234. package/dist/services/mongoose/print-completion.shared.js.map +1 -1
  235. package/dist/services/mongoose/printer.service.js +33 -45
  236. package/dist/services/mongoose/printer.service.js.map +1 -1
  237. package/dist/services/mongoose/refresh-token.service.js +5 -8
  238. package/dist/services/mongoose/refresh-token.service.js.map +1 -1
  239. package/dist/services/mongoose/role.service.js +14 -5
  240. package/dist/services/mongoose/role.service.js.map +1 -1
  241. package/dist/services/mongoose/settings.service.js +35 -62
  242. package/dist/services/mongoose/settings.service.js.map +1 -1
  243. package/dist/services/mongoose/user.service.js +8 -7
  244. package/dist/services/mongoose/user.service.js.map +1 -1
  245. package/dist/services/moonraker/constants/{websocket.constants.js → moonraker.constants.js} +1 -1
  246. package/dist/services/moonraker/constants/{websocket.constants.js.map → moonraker.constants.js.map} +1 -1
  247. package/dist/services/moonraker/moonraker-websocket.adapter.js +102 -94
  248. package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
  249. package/dist/services/moonraker/moonraker.client.js +19 -14
  250. package/dist/services/moonraker/moonraker.client.js.map +1 -1
  251. package/dist/services/moonraker.api.js +3 -5
  252. package/dist/services/moonraker.api.js.map +1 -1
  253. package/dist/services/octoprint/constants/octoprint-service.constants.js +7 -36
  254. package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -1
  255. package/dist/services/octoprint/constants/octoprint-websocket.constants.js +12 -3
  256. package/dist/services/octoprint/constants/octoprint-websocket.constants.js.map +1 -1
  257. package/dist/services/octoprint/dto/octoprint-event.dto.js +2 -1
  258. package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
  259. package/dist/services/octoprint/octoprint-api.routes.js +0 -37
  260. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
  261. package/dist/services/octoprint/octoprint-websocket.adapter.js +66 -72
  262. package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
  263. package/dist/services/octoprint/octoprint.client.js +12 -185
  264. package/dist/services/octoprint/octoprint.client.js.map +1 -1
  265. package/dist/services/octoprint/utils/octoprint-http-client.builder.js.map +1 -1
  266. package/dist/services/octoprint.api.js +8 -14
  267. package/dist/services/octoprint.api.js.map +1 -1
  268. package/dist/services/orm/base.service.js +11 -12
  269. package/dist/services/orm/base.service.js.map +1 -1
  270. package/dist/services/orm/camera-stream.service.js +5 -1
  271. package/dist/services/orm/camera-stream.service.js.map +1 -1
  272. package/dist/services/orm/custom-gcode.service.js +2 -2
  273. package/dist/services/orm/custom-gcode.service.js.map +1 -1
  274. package/dist/services/orm/floor-position.service.js +0 -5
  275. package/dist/services/orm/floor-position.service.js.map +1 -1
  276. package/dist/services/orm/floor.service.js +43 -39
  277. package/dist/services/orm/floor.service.js.map +1 -1
  278. package/dist/services/orm/permission.service.js +3 -4
  279. package/dist/services/orm/permission.service.js.map +1 -1
  280. package/dist/services/orm/print-completion.service.js +2 -4
  281. package/dist/services/orm/print-completion.service.js.map +1 -1
  282. package/dist/services/orm/printer-group.service.js +2 -7
  283. package/dist/services/orm/printer-group.service.js.map +1 -1
  284. package/dist/services/orm/printer.service.js +21 -36
  285. package/dist/services/orm/printer.service.js.map +1 -1
  286. package/dist/services/orm/refresh-token.service.js +5 -11
  287. package/dist/services/orm/refresh-token.service.js.map +1 -1
  288. package/dist/services/orm/role.service.js +11 -10
  289. package/dist/services/orm/role.service.js.map +1 -1
  290. package/dist/services/orm/settings.service.js +37 -133
  291. package/dist/services/orm/settings.service.js.map +1 -1
  292. package/dist/services/orm/user.service.js +13 -15
  293. package/dist/services/orm/user.service.js.map +1 -1
  294. package/dist/services/printer-api.factory.js +9 -6
  295. package/dist/services/printer-api.factory.js.map +1 -1
  296. package/dist/services/printer-api.interface.js +13 -6
  297. package/dist/services/printer-api.interface.js.map +1 -1
  298. package/dist/services/prusa-link/constants/prusalink-event.dto.js +18 -0
  299. package/dist/services/prusa-link/constants/prusalink-event.dto.js.map +1 -0
  300. package/dist/services/prusa-link/constants/prusalink.constants.js +13 -0
  301. package/dist/services/prusa-link/constants/prusalink.constants.js.map +1 -0
  302. package/dist/services/prusa-link/dto/file-response.dto.js +6 -0
  303. package/dist/services/prusa-link/dto/file-response.dto.js.map +1 -0
  304. package/dist/services/{octoprint/dto/plugin.dto.js → prusa-link/dto/file.dto.js} +1 -1
  305. package/dist/services/prusa-link/dto/file.dto.js.map +1 -0
  306. package/dist/services/prusa-link/dto/job-state.dto.js +6 -0
  307. package/dist/services/prusa-link/dto/job-state.dto.js.map +1 -0
  308. package/dist/services/prusa-link/dto/printer-state.dto.js +6 -0
  309. package/dist/services/prusa-link/dto/printer-state.dto.js.map +1 -0
  310. package/dist/services/prusa-link/dto/status.dto.js +6 -0
  311. package/dist/services/prusa-link/dto/status.dto.js.map +1 -0
  312. package/dist/services/prusa-link/dto/version.dto.js +6 -0
  313. package/dist/services/prusa-link/dto/version.dto.js.map +1 -0
  314. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js +142 -0
  315. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js.map +1 -0
  316. package/dist/services/prusa-link/prusa-link.api.js +233 -0
  317. package/dist/services/prusa-link/prusa-link.api.js.map +1 -0
  318. package/dist/services/prusa-link/utils/digest-auth.params.js +6 -0
  319. package/dist/services/prusa-link/utils/digest-auth.params.js.map +1 -0
  320. package/dist/services/prusa-link/utils/digest-auth.util.js +28 -0
  321. package/dist/services/prusa-link/utils/digest-auth.util.js.map +1 -0
  322. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js +131 -0
  323. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js.map +1 -0
  324. package/dist/services/socket.factory.js +9 -6
  325. package/dist/services/socket.factory.js.map +1 -1
  326. package/dist/services/{core/task-manager.service.js → task-manager.service.js} +72 -78
  327. package/dist/services/task-manager.service.js.map +1 -0
  328. package/dist/services/validators/camera-service.validation.js +19 -0
  329. package/dist/services/validators/camera-service.validation.js.map +1 -0
  330. package/dist/services/validators/floor-service.validation.js +47 -36
  331. package/dist/services/validators/floor-service.validation.js.map +1 -1
  332. package/dist/services/validators/print-completion-service.validation.js +22 -9
  333. package/dist/services/validators/print-completion-service.validation.js.map +1 -1
  334. package/dist/services/validators/printer-service.validation.js +112 -29
  335. package/dist/services/validators/printer-service.validation.js.map +1 -1
  336. package/dist/services/validators/settings-service.validation.js +78 -66
  337. package/dist/services/validators/settings-service.validation.js.map +1 -1
  338. package/dist/services/validators/user-service.validation.js +17 -16
  339. package/dist/services/validators/user-service.validation.js.map +1 -1
  340. package/dist/services/validators/yaml-service.validation.js +94 -51
  341. package/dist/services/validators/yaml-service.validation.js.map +1 -1
  342. package/dist/shared/default-http-client.builder.js.map +1 -1
  343. package/dist/shared/load-controllers.js +20 -0
  344. package/dist/shared/load-controllers.js.map +1 -0
  345. package/dist/shared/runtime-settings.migration.js +46 -0
  346. package/dist/shared/runtime-settings.migration.js.map +1 -0
  347. package/dist/shared/websocket-rpc-extended.adapter.js +15 -14
  348. package/dist/shared/websocket-rpc-extended.adapter.js.map +1 -1
  349. package/dist/shared/websocket.adapter.js +4 -5
  350. package/dist/shared/websocket.adapter.js.map +1 -1
  351. package/dist/state/file-upload-tracker.cache.js +5 -4
  352. package/dist/state/file-upload-tracker.cache.js.map +1 -1
  353. package/dist/state/file.cache.js +1 -1
  354. package/dist/state/file.cache.js.map +1 -1
  355. package/dist/state/floor.store.js +6 -6
  356. package/dist/state/floor.store.js.map +1 -1
  357. package/dist/state/printer-events.cache.js +21 -22
  358. package/dist/state/printer-events.cache.js.map +1 -1
  359. package/dist/state/printer-files.store.js +6 -8
  360. package/dist/state/printer-files.store.js.map +1 -1
  361. package/dist/state/printer-socket.store.js +27 -50
  362. package/dist/state/printer-socket.store.js.map +1 -1
  363. package/dist/state/printer-thumbnail.cache.js +5 -9
  364. package/dist/state/printer-thumbnail.cache.js.map +1 -1
  365. package/dist/state/printer.cache.js +14 -12
  366. package/dist/state/printer.cache.js.map +1 -1
  367. package/dist/state/settings.store.js +74 -50
  368. package/dist/state/settings.store.js.map +1 -1
  369. package/dist/state/socket-io.gateway.js +39 -36
  370. package/dist/state/socket-io.gateway.js.map +1 -1
  371. package/dist/state/test-printer-socket.store.js +20 -15
  372. package/dist/state/test-printer-socket.store.js.map +1 -1
  373. package/dist/state/validation/create-test-printer.validation.js +13 -11
  374. package/dist/state/validation/create-test-printer.validation.js.map +1 -1
  375. package/dist/task.presets.js.map +1 -1
  376. package/dist/tasks/boot.task.js +14 -19
  377. package/dist/tasks/boot.task.js.map +1 -1
  378. package/dist/tasks/client-bundle.task.js +1 -3
  379. package/dist/tasks/client-bundle.task.js.map +1 -1
  380. package/dist/tasks/print-completion.socketio.task.js +27 -28
  381. package/dist/tasks/print-completion.socketio.task.js.map +1 -1
  382. package/dist/tasks/printer-file-clean.task.js +6 -10
  383. package/dist/tasks/printer-file-clean.task.js.map +1 -1
  384. package/dist/tasks/printer-websocket-restore.task.js +3 -14
  385. package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
  386. package/dist/tasks/printer-websocket.task.js +2 -14
  387. package/dist/tasks/printer-websocket.task.js.map +1 -1
  388. package/dist/tasks/socketio.task.js +6 -33
  389. package/dist/tasks/socketio.task.js.map +1 -1
  390. package/dist/tasks/software-update.task.js +1 -1
  391. package/dist/tasks/software-update.task.js.map +1 -1
  392. package/dist/tasks.js +3 -3
  393. package/dist/tasks.js.map +1 -1
  394. package/dist/utils/array.util.js.map +1 -1
  395. package/dist/utils/cache/key-diff.cache.js.map +1 -1
  396. package/dist/utils/env.utils.js +0 -2
  397. package/dist/utils/env.utils.js.map +1 -1
  398. package/dist/utils/normalize-url.js +3 -2
  399. package/dist/utils/normalize-url.js.map +1 -1
  400. package/dist/utils/printer-type.utils.js.map +1 -1
  401. package/dist/utils/time.utils.js +7 -17
  402. package/dist/utils/time.utils.js.map +1 -1
  403. package/dist/utils/url.utils.js +3 -4
  404. package/dist/utils/url.utils.js.map +1 -1
  405. package/package.json +44 -47
  406. package/tsconfig.json +2 -1
  407. package/.yarn/releases/yarn-4.7.0.cjs +0 -935
  408. package/dist/consoles/check-ports.js +0 -170
  409. package/dist/consoles/check-ports.js.map +0 -1
  410. package/dist/consoles/http-file-receiver.console.js +0 -81
  411. package/dist/consoles/http-file-receiver.console.js.map +0 -1
  412. package/dist/consoles/sqlite-torm.js +0 -31
  413. package/dist/consoles/sqlite-torm.js.map +0 -1
  414. package/dist/consoles/upload-test.js +0 -52
  415. package/dist/consoles/upload-test.js.map +0 -1
  416. package/dist/controllers/plugin-firmware-update.controller.js +0 -234
  417. package/dist/controllers/plugin-firmware-update.controller.js.map +0 -1
  418. package/dist/entities/base.entity.js +0 -29
  419. package/dist/entities/base.entity.js.map +0 -1
  420. package/dist/entities/printer-file.entity.js +0 -140
  421. package/dist/entities/printer-file.entity.js.map +0 -1
  422. package/dist/handlers/cache-manager.js +0 -18
  423. package/dist/handlers/cache-manager.js.map +0 -1
  424. package/dist/models/PrinterFile.js +0 -44
  425. package/dist/models/PrinterFile.js.map +0 -1
  426. package/dist/services/core/task-manager.service.js.map +0 -1
  427. package/dist/services/octoprint/dto/plugin.dto.js.map +0 -1
  428. package/dist/services/octoprint/plugin-base.service.js +0 -101
  429. package/dist/services/octoprint/plugin-base.service.js.map +0 -1
  430. package/dist/services/octoprint/plugin-firmware-update.service.js +0 -100
  431. package/dist/services/octoprint/plugin-firmware-update.service.js.map +0 -1
  432. package/dist/services/octoprint/plugin-repository.cache.js +0 -46
  433. package/dist/services/octoprint/plugin-repository.cache.js.map +0 -1
  434. package/dist/utils/benchmark.util.js +0 -39
  435. package/dist/utils/benchmark.util.js.map +0 -1
  436. package/dist/utils/is-docker.js +0 -40
  437. package/dist/utils/is-docker.js.map +0 -1
  438. package/dist/utils/metric.utils.js +0 -35
  439. package/dist/utils/metric.utils.js.map +0 -1
@@ -16,13 +16,12 @@ _export(exports, {
16
16
  return httpToWsUrl;
17
17
  }
18
18
  });
19
+ const _zod = require("zod");
19
20
  const _normalizeurl = require("./normalize-url");
20
21
  const defaultHttpProtocol = "https";
21
22
  function httpToWsUrl(url) {
22
- if (!url?.length) {
23
- return;
24
- }
25
- const protocolNormalizedAddress = (0, _normalizeurl.normalizeUrl)(url, {
23
+ const validUrl = _zod.z.string().parse(url);
24
+ const protocolNormalizedAddress = (0, _normalizeurl.normalizeUrl)(validUrl, {
26
25
  defaultProtocol: defaultHttpProtocol
27
26
  });
28
27
  const wsUrl = new URL(protocolNormalizedAddress);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/url.utils.ts"],"names":["defaultHttpProtocol","httpToWsUrl","url","length","protocolNormalizedAddress","normalizeUrl","defaultProtocol","wsUrl","URL","protocol"],"mappings":";;;;;;;;;;;IAEaA,mBAAmB;eAAnBA;;IAEGC,WAAW;eAAXA;;;8BAJa;AAEtB,MAAMD,sBAAsB;AAE5B,SAASC,YAAYC,GAAW;IACrC,IAAI,CAACA,KAAKC,QAAQ;QAChB;IACF;IAEA,MAAMC,4BAA4BC,IAAAA,0BAAY,EAACH,KAAK;QAAEI,iBAAiBN;IAAoB;IAE3F,MAAMO,QAAQ,IAAIC,IAAIJ;IACtBG,MAAME,QAAQ,GAAGF,MAAME,QAAQ,KAAK,WAAW,SAAS;IACxD,OAAOF;AACT"}
1
+ {"version":3,"sources":["../../src/utils/url.utils.ts"],"names":["defaultHttpProtocol","httpToWsUrl","url","validUrl","z","string","parse","protocolNormalizedAddress","normalizeUrl","defaultProtocol","wsUrl","URL","protocol"],"mappings":";;;;;;;;;;;IAGaA,mBAAmB;eAAnBA;;IAEGC,WAAW;eAAXA;;;qBALE;8BACW;AAEtB,MAAMD,sBAAsB;AAE5B,SAASC,YAAYC,GAAY;IACtC,MAAMC,WAAWC,MAAC,CAACC,MAAM,GAAGC,KAAK,CAACJ;IAElC,MAAMK,4BAA4BC,IAAAA,0BAAY,EAACL,UAAU;QAAEM,iBAAiBT;IAAoB;IAEhG,MAAMU,QAAQ,IAAIC,IAAIJ;IACtBG,MAAME,QAAQ,GAAGF,MAAME,QAAQ,KAAK,WAAW,SAAS;IACxD,OAAOF;AACT"}
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  },
7
7
  "author": "David Zwart",
8
8
  "license": "AGPL-3.0-or-later",
9
- "version": "1.8.3",
9
+ "version": "1.9.0-rc1",
10
10
  "bin": {
11
11
  "fdm-monster": "dist/index.js",
12
12
  "fdmm": "dist/index.js"
@@ -14,32 +14,33 @@
14
14
  "description": "FDM Monster is a bulk OctoPrint manager to set up, configure and monitor 3D printers. Our aim is to provide extremely optimized websocket performance and reliability.",
15
15
  "main": "dist/index.js",
16
16
  "scripts": {
17
- "console:upload": "yarn build && cross-env NODE_ENV=development node ./dist/consoles/upload-test.js",
17
+ "build": "swc src -d dist --strip-leading-paths",
18
+ "build:watch": "swc src -w -d dist --strip-leading-paths",
18
19
  "dev": "yarn build:watch & yarn serve",
19
20
  "serve": "NODE_ENV=development node --enable-source-maps --watch dist/index.js",
20
21
  "start:dev": "ts-node src/index.ts",
21
22
  "start": "cross-env NODE_ENV=production node dist/index.js",
22
- "console:http-file-receiver": "node ./dist/consoles/http-file-receiver.console.js",
23
+ "console:http-file-servers": "node ./dist/consoles/http-file-receiver.console.js",
24
+ "console:many-http-file-receivers": "node ./dist/consoles/launch-http-servers.js",
23
25
  "console:github-releases": "yarn build && NODE_ENV=development node --watch --enable-source-maps ./dist/consoles/download-github-releases.js",
24
26
  "console:generate": "yarn build && NODE_ENV=development node --enable-source-maps ./dist/consoles/typeorm-generate.js",
25
- "console:torm": "yarn build && NODE_ENV=development node --watch --enable-source-maps ./dist/consoles/sqlite-torm.js",
26
27
  "console:migrate": "yarn build && NODE_ENV=development node --watch --enable-source-maps ./dist/consoles/typeorm-migrate.js",
27
- "build": "swc src -d dist --strip-leading-paths",
28
- "build:watch": "swc src -w -d dist --strip-leading-paths",
28
+ "console:upload": "yarn build && cross-env NODE_ENV=development node ./dist/consoles/upload-test.js",
29
29
  "migration:create": "migrate-mongo create printer-files-simpler",
30
30
  "migration:up": "migrate-mongo up",
31
31
  "migration:down": "migrate-mongo down",
32
32
  "migration:status": "migrate-mongo status",
33
- "format": "prettier --write \"src/**/*.js\" \"test/**/*.js\"",
33
+ "format": "biome format --write src test",
34
34
  "swc": "swc",
35
35
  "tsc": "tsc --noEmit",
36
+ "tsc:watch": "tsc --noEmit --watch",
36
37
  "test:mongodb": "cross-env MONGODB_MODE=true jest --forceExit --maxConcurrency=8 --runInBand ",
37
38
  "test:sqlite": "cross-env MONGODB_MODE=false jest --forceExit --maxConcurrency=8 --runInBand ",
38
39
  "test:cov-mongodb": "cross-env MONGODB_MODE=true jest --forceExit --coverage --maxConcurrency=8 --runInBand ",
39
40
  "test:cov-sqlite": "cross-env MONGODB_MODE=false jest --forceExit --coverage --maxConcurrency=8 --runInBand ",
40
41
  "cov:show": "./coverage/lcov-report/index.html",
41
42
  "torm": "ts-node --swc -r tsconfig-paths/register ./node_modules/typeorm/cli.js",
42
- "typeorm:generate": "yarn torm migration:generate -d src/data-source.ts --pretty src/migrations/RemovePrinterFile",
43
+ "typeorm:generate": "yarn torm migration:generate -d src/data-source.ts --pretty src/migrations/AddPrinterUsernamePassword",
43
44
  "typeorm:migrate": "yarn torm migration:run -d src/data-source.ts",
44
45
  "typeorm:revert": "yarn torm migration:revert -d src/data-source.ts"
45
46
  },
@@ -47,30 +48,34 @@
47
48
  "fdm-monster",
48
49
  "fdm-connector",
49
50
  "octoprint",
51
+ "moonraker",
52
+ "prusalink",
50
53
  "fdm",
51
54
  "3d printing",
52
55
  "pi",
53
56
  "node",
54
57
  "vue"
55
58
  ],
59
+ "resolutions": {
60
+ "tr46": "5.1.1"
61
+ },
56
62
  "dependencies": {
57
- "@fdm-monster/client": "1.9.0",
58
- "@fdm-monster/client-next": "0.0.18",
63
+ "@fdm-monster/client": "1.10.1",
64
+ "@fdm-monster/client-next": "0.0.19",
59
65
  "@octokit/plugin-throttling": "8.2.0",
60
- "@sentry/node": "9.6.1",
66
+ "@sentry/node": "9.17.0",
61
67
  "adm-zip": "0.5.16",
62
68
  "awilix": "12.0.5",
63
69
  "awilix-express": "9.0.2",
64
- "axios": "1.8.3",
70
+ "axios": "1.9.0",
65
71
  "bcryptjs": "3.0.2",
66
- "better-sqlite3": "11.9.1",
67
- "cache-manager": "6.4.1",
68
- "class-validator": "0.14.1",
72
+ "better-sqlite3": "11.10.0",
73
+ "class-validator": "0.14.2",
69
74
  "connect-history-api-fallback": "2.0.0",
70
75
  "cookie-parser": "1.4.7",
71
76
  "cors": "2.8.5",
72
77
  "cross-env": "7.0.3",
73
- "dotenv": "16.4.7",
78
+ "dotenv": "16.5.0",
74
79
  "eventemitter2": "6.4.9",
75
80
  "express": "4.21.2",
76
81
  "form-data": "4.0.2",
@@ -78,75 +83,67 @@
78
83
  "js-yaml": "4.1.0",
79
84
  "jsonwebtoken": "9.0.2",
80
85
  "lodash": "4.17.21",
81
- "luxon": "3.5.0",
86
+ "luxon": "3.6.1",
82
87
  "migrate-mongo": "11.0.0",
83
88
  "mongoose": "6.13.8",
84
- "multer": "1.4.5-lts.1",
85
- "node-input-validator": "4.5.1",
89
+ "multer": "1.4.5-lts.2",
86
90
  "octokit": "3.2.1",
87
91
  "passport": "0.7.0",
88
92
  "passport-anonymous": "1.0.1",
89
93
  "passport-jwt": "4.0.1",
94
+ "prom-client": "15.1.3",
90
95
  "reflect-metadata": "0.2.2",
91
96
  "semver": "7.7.1",
92
97
  "socket.io": "4.8.1",
93
- "toad-scheduler": "3.0.1",
94
- "typeorm": "0.3.21",
98
+ "toad-scheduler": "3.1.0",
99
+ "typeorm": "0.3.23",
95
100
  "uuid": "11.1.0",
96
101
  "winston": "3.17.0",
97
- "ws": "8.18.1"
102
+ "winston-loki": "6.1.3",
103
+ "ws": "8.18.2",
104
+ "zod": "3.24.4"
98
105
  },
99
106
  "devDependencies": {
107
+ "@biomejs/biome": "1.9.4",
100
108
  "@lcov-viewer/cli": "1.3.0",
101
109
  "@lcov-viewer/istanbul-report": "1.4.0",
102
- "@swc/cli": "0.6.0",
103
- "@swc/core": "1.11.11",
104
- "@swc/jest": "0.2.37",
110
+ "@swc/cli": "0.7.5",
111
+ "@swc/core": "1.11.24",
112
+ "@swc/jest": "0.2.38",
105
113
  "@types/adm-zip": "0.5.7",
106
- "@types/bcryptjs": "3.0.0",
107
- "@types/cache-manager": "5.0.0",
108
114
  "@types/connect-history-api-fallback": "1.5.4",
109
115
  "@types/cookie-parser": "1.4.8",
110
- "@types/express": "5.0.0",
116
+ "@types/express": "5.0.1",
111
117
  "@types/ip": "1.1.3",
112
118
  "@types/jest": "29.5.14",
113
119
  "@types/js-yaml": "4.0.9",
114
120
  "@types/lodash": "4.17.16",
115
- "@types/luxon": "3.4.2",
121
+ "@types/luxon": "3.6.2",
116
122
  "@types/migrate-mongo": "10.0.5",
117
123
  "@types/multer": "1.4.12",
118
- "@types/node": "22.13.10",
124
+ "@types/node": "22.15.17",
119
125
  "@types/passport-anonymous": "1.0.5",
120
126
  "@types/passport-jwt": "4.0.1",
121
- "@types/semver": "7.5.8",
122
- "@types/supertest": "6.0.2",
127
+ "@types/semver": "7.7.0",
128
+ "@types/supertest": "6.0.3",
123
129
  "@types/uuid": "10.0.0",
124
- "@types/ws": "8.18.0",
130
+ "@types/ws": "8.18.1",
125
131
  "chokidar": "4.0.3",
126
- "eslint": "9.22.0",
127
- "eslint-config-airbnb-base": "15.0.0",
128
- "eslint-config-prettier": "10.1.1",
129
- "eslint-config-standard": "17.1.0",
130
- "eslint-plugin-import": "2.31.0",
131
- "eslint-plugin-n": "17.16.2",
132
- "eslint-plugin-prettier": "4.2.1",
133
- "eslint-plugin-promise": "7.2.1",
134
132
  "express-list-routes": "1.2.4",
135
133
  "jest": "29.7.0",
136
134
  "jest-27-expect-message": "1.1.0",
137
135
  "mongodb-memory-server": "10.1.4",
138
136
  "nock": "13.5.6",
139
- "prettier": "2.8.8",
140
- "supertest": "7.0.0",
137
+ "supertest": "7.1.0",
141
138
  "ts-node": "10.9.2",
142
- "typescript": "5.8.2"
139
+ "typescript": "5.8.3"
143
140
  },
144
141
  "ignore-engines": false,
145
142
  "engine-strict": true,
146
143
  "engines": {
147
- "node": ">= 18.0.0",
144
+ "node": ">= 20.0.0",
148
145
  "npm": ">= 8.1.4",
149
- "yarn": ">= 1.22.10"
146
+ "yarn": ">= 4.8.0"
150
147
  },
151
- "packageManager": "yarn@4.7.0"
148
+ "packageManager": "yarn@4.9.1"
152
149
  }
package/tsconfig.json CHANGED
@@ -9,6 +9,8 @@
9
9
  "sourceMap": true,
10
10
  "outDir": "dist",
11
11
  "strict": true,
12
+ "strictNullChecks": true,
13
+ "strictPropertyInitialization": false,
12
14
  "lib": ["es2022"],
13
15
  "baseUrl": "./src",
14
16
  "forceConsistentCasingInFileNames": true,
@@ -17,7 +19,6 @@
17
19
  "emitDecoratorMetadata": true,
18
20
  "moduleResolution": "Node",
19
21
  "skipLibCheck": true,
20
- "strictNullChecks": false,
21
22
  "noImplicitAny": true,
22
23
  "paths": {
23
24
  "@/*": ["./*"]