@fdm-monster/server 1.8.2 → 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 (460) 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 +69 -7
  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 +11 -19
  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 +15 -24
  27. package/dist/container.js.map +1 -1
  28. package/dist/container.tokens.js +4 -5
  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 +61 -50
  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 +76 -29
  53. package/dist/controllers/printer-settings.controller.js.map +1 -1
  54. package/dist/controllers/printer.controller.js +62 -197
  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 -113
  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 -31
  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 +40 -0
  197. package/dist/services/core/http-client.factory.js.map +1 -0
  198. package/dist/services/core/logs-manager.service.js +7 -6
  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 +79 -28
  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/file-upload-tracker.interface.js +6 -0
  212. package/dist/services/interfaces/file-upload-tracker.interface.js.map +1 -0
  213. package/dist/services/interfaces/floor.dto.js +5 -47
  214. package/dist/services/interfaces/floor.dto.js.map +1 -1
  215. package/dist/services/interfaces/login.dto.js +2 -0
  216. package/dist/services/interfaces/login.dto.js.map +1 -1
  217. package/dist/services/interfaces/print-completion.dto.js.map +1 -1
  218. package/dist/services/interfaces/printer-group.dto.js +0 -14
  219. package/dist/services/interfaces/printer-group.dto.js.map +1 -1
  220. package/dist/services/interfaces/printer.dto.js +11 -5
  221. package/dist/services/interfaces/printer.dto.js.map +1 -1
  222. package/dist/services/interfaces/settings.dto.js.map +1 -1
  223. package/dist/services/interfaces/task.interfaces.js +6 -0
  224. package/dist/services/interfaces/task.interfaces.js.map +1 -0
  225. package/dist/services/mongoose/camera-stream.service.js +17 -15
  226. package/dist/services/mongoose/camera-stream.service.js.map +1 -1
  227. package/dist/services/mongoose/custom-gcode.service.js +4 -2
  228. package/dist/services/mongoose/custom-gcode.service.js.map +1 -1
  229. package/dist/services/mongoose/floor.service.js +37 -30
  230. package/dist/services/mongoose/floor.service.js.map +1 -1
  231. package/dist/services/mongoose/permission.service.js +1 -1
  232. package/dist/services/mongoose/permission.service.js.map +1 -1
  233. package/dist/services/mongoose/print-completion.service.js +2 -2
  234. package/dist/services/mongoose/print-completion.service.js.map +1 -1
  235. package/dist/services/mongoose/print-completion.shared.js +2 -2
  236. package/dist/services/mongoose/print-completion.shared.js.map +1 -1
  237. package/dist/services/mongoose/printer.service.js +40 -45
  238. package/dist/services/mongoose/printer.service.js.map +1 -1
  239. package/dist/services/mongoose/refresh-token.service.js +5 -8
  240. package/dist/services/mongoose/refresh-token.service.js.map +1 -1
  241. package/dist/services/mongoose/role.service.js +14 -5
  242. package/dist/services/mongoose/role.service.js.map +1 -1
  243. package/dist/services/mongoose/settings.service.js +35 -62
  244. package/dist/services/mongoose/settings.service.js.map +1 -1
  245. package/dist/services/mongoose/user.service.js +8 -7
  246. package/dist/services/mongoose/user.service.js.map +1 -1
  247. package/dist/services/moonraker/constants/{websocket.constants.js → moonraker.constants.js} +1 -1
  248. package/dist/services/moonraker/constants/{websocket.constants.js.map → moonraker.constants.js.map} +1 -1
  249. package/dist/services/moonraker/moonraker-websocket.adapter.js +108 -96
  250. package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
  251. package/dist/services/moonraker/moonraker.client.js +212 -167
  252. package/dist/services/moonraker/moonraker.client.js.map +1 -1
  253. package/dist/services/moonraker.api.js +3 -5
  254. package/dist/services/moonraker.api.js.map +1 -1
  255. package/dist/services/octoprint/constants/octoprint-service.constants.js +7 -36
  256. package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -1
  257. package/dist/services/octoprint/constants/octoprint-websocket.constants.js +12 -3
  258. package/dist/services/octoprint/constants/octoprint-websocket.constants.js.map +1 -1
  259. package/dist/services/octoprint/dto/octoprint-event.dto.js +2 -1
  260. package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
  261. package/dist/services/octoprint/octoprint-api.routes.js +0 -98
  262. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
  263. package/dist/services/octoprint/octoprint-websocket.adapter.js +72 -72
  264. package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
  265. package/dist/services/octoprint/octoprint.client.js +87 -343
  266. package/dist/services/octoprint/octoprint.client.js.map +1 -1
  267. package/dist/services/octoprint/utils/octoprint-http-client.builder.js +31 -0
  268. package/dist/services/octoprint/utils/octoprint-http-client.builder.js.map +1 -0
  269. package/dist/services/octoprint.api.js +14 -18
  270. package/dist/services/octoprint.api.js.map +1 -1
  271. package/dist/services/orm/base.service.js +11 -12
  272. package/dist/services/orm/base.service.js.map +1 -1
  273. package/dist/services/orm/camera-stream.service.js +5 -1
  274. package/dist/services/orm/camera-stream.service.js.map +1 -1
  275. package/dist/services/orm/custom-gcode.service.js +2 -2
  276. package/dist/services/orm/custom-gcode.service.js.map +1 -1
  277. package/dist/services/orm/floor-position.service.js +0 -5
  278. package/dist/services/orm/floor-position.service.js.map +1 -1
  279. package/dist/services/orm/floor.service.js +43 -39
  280. package/dist/services/orm/floor.service.js.map +1 -1
  281. package/dist/services/orm/permission.service.js +3 -4
  282. package/dist/services/orm/permission.service.js.map +1 -1
  283. package/dist/services/orm/print-completion.service.js +2 -4
  284. package/dist/services/orm/print-completion.service.js.map +1 -1
  285. package/dist/services/orm/printer-group.service.js +2 -7
  286. package/dist/services/orm/printer-group.service.js.map +1 -1
  287. package/dist/services/orm/printer.service.js +29 -39
  288. package/dist/services/orm/printer.service.js.map +1 -1
  289. package/dist/services/orm/refresh-token.service.js +5 -11
  290. package/dist/services/orm/refresh-token.service.js.map +1 -1
  291. package/dist/services/orm/role.service.js +11 -10
  292. package/dist/services/orm/role.service.js.map +1 -1
  293. package/dist/services/orm/settings.service.js +37 -133
  294. package/dist/services/orm/settings.service.js.map +1 -1
  295. package/dist/services/orm/user.service.js +13 -15
  296. package/dist/services/orm/user.service.js.map +1 -1
  297. package/dist/services/printer-api.factory.js +9 -6
  298. package/dist/services/printer-api.factory.js.map +1 -1
  299. package/dist/services/printer-api.interface.js +13 -6
  300. package/dist/services/printer-api.interface.js.map +1 -1
  301. package/dist/services/prusa-link/constants/prusalink-event.dto.js +18 -0
  302. package/dist/services/prusa-link/constants/prusalink-event.dto.js.map +1 -0
  303. package/dist/services/prusa-link/constants/prusalink.constants.js +13 -0
  304. package/dist/services/prusa-link/constants/prusalink.constants.js.map +1 -0
  305. package/dist/services/prusa-link/dto/file-response.dto.js +6 -0
  306. package/dist/services/prusa-link/dto/file-response.dto.js.map +1 -0
  307. package/dist/services/prusa-link/dto/file.dto.js +6 -0
  308. package/dist/services/prusa-link/dto/file.dto.js.map +1 -0
  309. package/dist/services/prusa-link/dto/job-state.dto.js +6 -0
  310. package/dist/services/prusa-link/dto/job-state.dto.js.map +1 -0
  311. package/dist/services/prusa-link/dto/printer-state.dto.js +6 -0
  312. package/dist/services/prusa-link/dto/printer-state.dto.js.map +1 -0
  313. package/dist/services/prusa-link/dto/status.dto.js +6 -0
  314. package/dist/services/prusa-link/dto/status.dto.js.map +1 -0
  315. package/dist/services/prusa-link/dto/version.dto.js +6 -0
  316. package/dist/services/prusa-link/dto/version.dto.js.map +1 -0
  317. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js +142 -0
  318. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js.map +1 -0
  319. package/dist/services/prusa-link/prusa-link.api.js +233 -0
  320. package/dist/services/prusa-link/prusa-link.api.js.map +1 -0
  321. package/dist/services/prusa-link/utils/digest-auth.params.js +6 -0
  322. package/dist/services/prusa-link/utils/digest-auth.params.js.map +1 -0
  323. package/dist/services/prusa-link/utils/digest-auth.util.js +28 -0
  324. package/dist/services/prusa-link/utils/digest-auth.util.js.map +1 -0
  325. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js +131 -0
  326. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js.map +1 -0
  327. package/dist/services/socket.factory.js +9 -6
  328. package/dist/services/socket.factory.js.map +1 -1
  329. package/dist/services/{core/task-manager.service.js → task-manager.service.js} +72 -78
  330. package/dist/services/task-manager.service.js.map +1 -0
  331. package/dist/services/validators/camera-service.validation.js +19 -0
  332. package/dist/services/validators/camera-service.validation.js.map +1 -0
  333. package/dist/services/validators/floor-service.validation.js +47 -36
  334. package/dist/services/validators/floor-service.validation.js.map +1 -1
  335. package/dist/services/validators/print-completion-service.validation.js +22 -9
  336. package/dist/services/validators/print-completion-service.validation.js.map +1 -1
  337. package/dist/services/validators/printer-service.validation.js +112 -29
  338. package/dist/services/validators/printer-service.validation.js.map +1 -1
  339. package/dist/services/validators/settings-service.validation.js +78 -66
  340. package/dist/services/validators/settings-service.validation.js.map +1 -1
  341. package/dist/services/validators/user-service.validation.js +17 -16
  342. package/dist/services/validators/user-service.validation.js.map +1 -1
  343. package/dist/services/validators/yaml-service.validation.js +94 -51
  344. package/dist/services/validators/yaml-service.validation.js.map +1 -1
  345. package/dist/shared/default-http-client.builder.js +94 -0
  346. package/dist/shared/default-http-client.builder.js.map +1 -0
  347. package/dist/shared/load-controllers.js +20 -0
  348. package/dist/shared/load-controllers.js.map +1 -0
  349. package/dist/shared/runtime-settings.migration.js +46 -0
  350. package/dist/shared/runtime-settings.migration.js.map +1 -0
  351. package/dist/shared/websocket-rpc-extended.adapter.js +15 -14
  352. package/dist/shared/websocket-rpc-extended.adapter.js.map +1 -1
  353. package/dist/shared/websocket.adapter.js +4 -5
  354. package/dist/shared/websocket.adapter.js.map +1 -1
  355. package/dist/state/file-upload-tracker.cache.js +33 -42
  356. package/dist/state/file-upload-tracker.cache.js.map +1 -1
  357. package/dist/state/file.cache.js +1 -1
  358. package/dist/state/file.cache.js.map +1 -1
  359. package/dist/state/floor.store.js +6 -6
  360. package/dist/state/floor.store.js.map +1 -1
  361. package/dist/state/printer-events.cache.js +21 -22
  362. package/dist/state/printer-events.cache.js.map +1 -1
  363. package/dist/state/printer-files.store.js +6 -8
  364. package/dist/state/printer-files.store.js.map +1 -1
  365. package/dist/state/printer-socket.store.js +27 -50
  366. package/dist/state/printer-socket.store.js.map +1 -1
  367. package/dist/state/printer-thumbnail.cache.js +5 -9
  368. package/dist/state/printer-thumbnail.cache.js.map +1 -1
  369. package/dist/state/printer.cache.js +14 -12
  370. package/dist/state/printer.cache.js.map +1 -1
  371. package/dist/state/settings.store.js +78 -51
  372. package/dist/state/settings.store.js.map +1 -1
  373. package/dist/state/socket-io.gateway.js +39 -36
  374. package/dist/state/socket-io.gateway.js.map +1 -1
  375. package/dist/state/test-printer-socket.store.js +20 -15
  376. package/dist/state/test-printer-socket.store.js.map +1 -1
  377. package/dist/state/validation/create-test-printer.validation.js +13 -10
  378. package/dist/state/validation/create-test-printer.validation.js.map +1 -1
  379. package/dist/task.presets.js.map +1 -1
  380. package/dist/tasks/boot.task.js +14 -19
  381. package/dist/tasks/boot.task.js.map +1 -1
  382. package/dist/tasks/client-bundle.task.js +1 -3
  383. package/dist/tasks/client-bundle.task.js.map +1 -1
  384. package/dist/tasks/print-completion.socketio.task.js +27 -28
  385. package/dist/tasks/print-completion.socketio.task.js.map +1 -1
  386. package/dist/tasks/printer-file-clean.task.js +6 -10
  387. package/dist/tasks/printer-file-clean.task.js.map +1 -1
  388. package/dist/tasks/printer-websocket-restore.task.js +4 -15
  389. package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
  390. package/dist/tasks/printer-websocket.task.js +2 -14
  391. package/dist/tasks/printer-websocket.task.js.map +1 -1
  392. package/dist/tasks/socketio.task.js +8 -35
  393. package/dist/tasks/socketio.task.js.map +1 -1
  394. package/dist/tasks/software-update.task.js +1 -1
  395. package/dist/tasks/software-update.task.js.map +1 -1
  396. package/dist/tasks.js +3 -3
  397. package/dist/tasks.js.map +1 -1
  398. package/dist/utils/array.util.js.map +1 -1
  399. package/dist/utils/cache/key-diff.cache.js.map +1 -1
  400. package/dist/utils/env.utils.js +0 -2
  401. package/dist/utils/env.utils.js.map +1 -1
  402. package/dist/utils/normalize-url.js +6 -3
  403. package/dist/utils/normalize-url.js.map +1 -1
  404. package/dist/utils/pretty-print.utils.js +1 -1
  405. package/dist/utils/pretty-print.utils.js.map +1 -1
  406. package/dist/utils/printer-type.utils.js.map +1 -1
  407. package/dist/utils/time.utils.js +7 -17
  408. package/dist/utils/time.utils.js.map +1 -1
  409. package/dist/utils/url.utils.js +11 -14
  410. package/dist/utils/url.utils.js.map +1 -1
  411. package/package.json +53 -55
  412. package/tsconfig.json +2 -1
  413. package/.yarn/releases/yarn-4.6.0.cjs +0 -934
  414. package/dist/consoles/check-ports.js +0 -170
  415. package/dist/consoles/check-ports.js.map +0 -1
  416. package/dist/consoles/sqlite-torm.js +0 -31
  417. package/dist/consoles/sqlite-torm.js.map +0 -1
  418. package/dist/consoles/upload-test.js +0 -52
  419. package/dist/consoles/upload-test.js.map +0 -1
  420. package/dist/controllers/plugin-firmware-update.controller.js +0 -236
  421. package/dist/controllers/plugin-firmware-update.controller.js.map +0 -1
  422. package/dist/entities/base.entity.js +0 -29
  423. package/dist/entities/base.entity.js.map +0 -1
  424. package/dist/entities/printer-file.entity.js +0 -140
  425. package/dist/entities/printer-file.entity.js.map +0 -1
  426. package/dist/handlers/cache-manager.js +0 -18
  427. package/dist/handlers/cache-manager.js.map +0 -1
  428. package/dist/models/PrinterFile.js +0 -44
  429. package/dist/models/PrinterFile.js.map +0 -1
  430. package/dist/services/core/task-manager.service.js.map +0 -1
  431. package/dist/services/octoprint/plugin-base.service.js +0 -101
  432. package/dist/services/octoprint/plugin-base.service.js.map +0 -1
  433. package/dist/services/octoprint/plugin-firmware-update.service.js +0 -100
  434. package/dist/services/octoprint/plugin-firmware-update.service.js.map +0 -1
  435. package/dist/services/octoprint/plugin-repository.cache.js +0 -45
  436. package/dist/services/octoprint/plugin-repository.cache.js.map +0 -1
  437. package/dist/utils/benchmark.util.js +0 -39
  438. package/dist/utils/benchmark.util.js.map +0 -1
  439. package/dist/utils/is-docker.js +0 -40
  440. package/dist/utils/is-docker.js.map +0 -1
  441. package/dist/utils/metric.utils.js +0 -35
  442. package/dist/utils/metric.utils.js.map +0 -1
  443. package/requests/moonraker/api_job.http +0 -5
  444. package/requests/moonraker/api_printer.http +0 -5
  445. package/requests/moonraker/api_settings.http +0 -5
  446. package/requests/moonraker/printer_info.http +0 -5
  447. package/requests/moonraker/printer_objects_list.http +0 -6
  448. package/requests/moonraker/printer_objects_pause_resume.http +0 -6
  449. package/requests/moonraker/printer_objects_print_stats.http +0 -6
  450. package/requests/moonraker/printer_objects_webhooks.http +0 -6
  451. package/requests/moonraker/server_info.http +0 -5
  452. package/requests/octoprint/octoprint-api-printer-current.http +0 -7
  453. package/requests/octoprint/octoprint-pluginmanager-plugins.http +0 -7
  454. package/requests/printer-file/get-partial-file-moonraker.http +0 -5
  455. package/requests/printer-file/get-thumbnails.http +0 -5
  456. package/requests/printer-file/reload-printer-thumbnails.http +0 -10
  457. package/requests/printer-file/testfile.gcode +0 -5665
  458. package/requests/printer-file/upload-file.http +0 -11
  459. package/requests/printer-file/upload-slicer-file.http +0 -11
  460. package/requests/printers/list.http +0 -5
@@ -10,4 +10,4 @@ Object.defineProperty(exports, "moonrakerEvent", {
10
10
  });
11
11
  const moonrakerEvent = (event)=>`moonraker.${event}`;
12
12
 
13
- //# sourceMappingURL=websocket.constants.js.map
13
+ //# sourceMappingURL=moonraker.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/services/moonraker/constants/websocket.constants.ts"],"names":["moonrakerEvent","event"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,iBAAiB,CAACC,QAAkB,CAAC,UAAU,EAAEA,OAAO"}
1
+ {"version":3,"sources":["../../../../src/services/moonraker/constants/moonraker.constants.ts"],"names":["moonrakerEvent","event"],"mappings":";;;;+BAAaA;;;eAAAA;;;AAAN,MAAMA,iBAAiB,CAACC,QAAkB,CAAC,UAAU,EAAEA,OAAO"}
@@ -11,35 +11,48 @@ Object.defineProperty(exports, "MoonrakerWebsocketAdapter", {
11
11
  const _serverconstants = require("../../server.constants");
12
12
  const _urlutils = require("../../utils/url.utils");
13
13
  const _octoprintwebsocketadapter = require("../octoprint/octoprint-websocket.adapter");
14
- const _websocketconstants = require("./constants/websocket.constants");
14
+ const _moonrakerconstants = require("./constants/moonraker.constants");
15
15
  const _socketstatetype = require("../../shared/dtos/socket-state.type");
16
16
  const _apistatetype = require("../../shared/dtos/api-state.type");
17
17
  const _prettyprintutils = require("../../utils/pretty-print.utils");
18
18
  const _lodash = /*#__PURE__*/ _interop_require_default(require("lodash"));
19
- const _websocketrpcextendedadapter = require("../../shared/websocket-rpc-extended.adapter");
20
19
  const _printerapiinterface = require("../printer-api.interface");
20
+ const _websocketrpcextendedadapter = require("../../shared/websocket-rpc-extended.adapter");
21
+ const _normalizeurl = require("../../utils/normalize-url");
21
22
  function _interop_require_default(obj) {
22
23
  return obj && obj.__esModule ? obj : {
23
24
  default: obj
24
25
  };
25
26
  }
26
27
  class MoonrakerWebsocketAdapter extends _websocketrpcextendedadapter.WebsocketRpcExtendedAdapter {
27
- printerType = 1;
28
- client;
29
- eventEmitter;
28
+ eventEmitter2;
30
29
  configService;
31
- socketState = _socketstatetype.SOCKET_STATE.unopened;
32
- lastMessageReceivedTimestamp = null;
33
- stateUpdated = false;
34
- stateUpdateTimestamp = null;
35
- apiStateUpdated = false;
36
- apiStateUpdateTimestamp = null;
37
- apiState = _apistatetype.API_STATE.unset;
30
+ serverVersion;
31
+ printerType;
32
+ socketState;
33
+ lastMessageReceivedTimestamp;
34
+ stateUpdated;
35
+ stateUpdateTimestamp;
36
+ apiStateUpdated;
37
+ apiStateUpdateTimestamp;
38
+ apiState;
38
39
  login;
39
- socketURL;
40
40
  printerId;
41
- serverVersion;
42
41
  refreshPrinterObjectsInterval;
42
+ printerObjects;
43
+ client;
44
+ socketURL;
45
+ constructor(loggerFactory, moonrakerClient, eventEmitter2, configService, serverVersion){
46
+ super(loggerFactory), this.eventEmitter2 = eventEmitter2, this.configService = configService, this.serverVersion = serverVersion, this.printerType = 1, this.socketState = _socketstatetype.SOCKET_STATE.unopened, this.lastMessageReceivedTimestamp = null, this.stateUpdated = false, this.stateUpdateTimestamp = null, this.apiStateUpdated = false, this.apiStateUpdateTimestamp = null, this.apiState = _apistatetype.API_STATE.unset, this.printerObjects = {
47
+ eventtime: null,
48
+ status: null
49
+ };
50
+ this.logger = loggerFactory(MoonrakerWebsocketAdapter.name);
51
+ this.client = moonrakerClient;
52
+ }
53
+ get _debugMode() {
54
+ return this.configService.get(_serverconstants.AppConstants.debugSocketStatesKey, _serverconstants.AppConstants.defaultDebugSocketStates) === "true";
55
+ }
43
56
  get subscriptionObjects() {
44
57
  return {
45
58
  pause_resume: [],
@@ -58,23 +71,6 @@ class MoonrakerWebsocketAdapter extends _websocketrpcextendedadapter.WebsocketRp
58
71
  system_stats: []
59
72
  };
60
73
  }
61
- printerObjects = {
62
- eventtime: null,
63
- status: null
64
- };
65
- constructor({ moonrakerClient, loggerFactory, eventEmitter2, configService, serverVersion }){
66
- super({
67
- loggerFactory
68
- });
69
- this.client = moonrakerClient;
70
- this.logger = loggerFactory(MoonrakerWebsocketAdapter.name);
71
- this.eventEmitter = eventEmitter2;
72
- this.configService = configService;
73
- this.serverVersion = serverVersion;
74
- }
75
- get _debugMode() {
76
- return this.configService.get(_serverconstants.AppConstants.debugSocketStatesKey, _serverconstants.AppConstants.defaultDebugSocketStates) === "true";
77
- }
78
74
  needsReopen() {
79
75
  return false;
80
76
  }
@@ -84,13 +80,16 @@ class MoonrakerWebsocketAdapter extends _websocketrpcextendedadapter.WebsocketRp
84
80
  needsReauth() {
85
81
  return false;
86
82
  }
87
- reauthSession() {}
83
+ async reauthSession() {}
88
84
  registerCredentials(socketLogin) {
89
85
  const { printerId, loginDto } = socketLogin;
90
86
  this.printerId = printerId;
91
87
  this.login = loginDto;
92
- const wsUrl = (0, _urlutils.httpToWsUrl)(this.login.printerURL);
93
- wsUrl.pathname = "/websocket";
88
+ const httpUrlString = (0, _normalizeurl.normalizeUrl)(this.login.printerURL);
89
+ const httpUrl = new URL(httpUrlString);
90
+ const httpUrlPath = httpUrl.pathname;
91
+ const wsUrl = (0, _urlutils.httpToWsUrl)(httpUrlString);
92
+ wsUrl.pathname = (httpUrlPath ?? "/") + "websocket";
94
93
  this.socketURL = wsUrl;
95
94
  }
96
95
  open() {
@@ -114,28 +113,22 @@ class MoonrakerWebsocketAdapter extends _websocketrpcextendedadapter.WebsocketRp
114
113
  await this.updateCurrentStateSafely();
115
114
  }, 15000);
116
115
  }
117
- async updateCurrentStateSafely() {
118
- try {
119
- const query = this.subscriptionObjects;
120
- const objects = await this.client.getPrinterObjectsQuery(this.login, query);
121
- this.printerObjects = objects.data.result;
122
- this.setApiState(_apistatetype.API_STATE.responding);
123
- return await this.emitCurrentEvent(this.printerObjects);
124
- } catch (e) {
125
- const castError = e;
126
- if (castError.isAxiosError) {
127
- if (castError?.response?.status == 503) {
128
- this.printerObjects.status = {};
129
- this.printerObjects.eventtime = Date.now();
130
- return await this.emitCurrentEvent(this.printerObjects);
131
- }
132
- this.logger.error("Could not update Moonraker printer objects due to a request error");
133
- this.setApiState(_apistatetype.API_STATE.noResponse);
134
- return;
135
- }
136
- this.logger.error(`Could not update Moonraker current due to an unknown error`);
137
- this.setApiState(_apistatetype.API_STATE.noResponse);
116
+ emitEventSync(event, payload) {
117
+ if (!this.eventEmittingAllowed) {
118
+ return;
138
119
  }
120
+ this.eventEmitter2.emit((0, _moonrakerconstants.moonrakerEvent)(event), {
121
+ event,
122
+ payload,
123
+ printerId: this.printerId
124
+ });
125
+ }
126
+ resetSocketState() {
127
+ this.setSocketState("unopened");
128
+ this.setApiState("unset");
129
+ }
130
+ isClosedOrAborted() {
131
+ return this.socketState === _socketstatetype.SOCKET_STATE.closed || this.socketState === _socketstatetype.SOCKET_STATE.aborted;
139
132
  }
140
133
  async afterOpened(_) {
141
134
  this.setSocketState(_socketstatetype.SOCKET_STATE.opened);
@@ -158,9 +151,9 @@ class MoonrakerWebsocketAdapter extends _websocketrpcextendedadapter.WebsocketRp
158
151
  } catch (e) {
159
152
  const ae = e;
160
153
  if (ae.isAxiosError) {
161
- if (ae.response.status === 503) {
154
+ if (ae.response?.status === 503) {
162
155
  this.logger.warn(`Klipper host issue ${(0, _prettyprintutils.PP)(ae.response.data?.error?.message)}`);
163
- } else if (ae.response.status === 404) {
156
+ } else if (ae.response?.status === 404) {
164
157
  this.logger.error("Error while afterOpened (404) - usually this means Moonraker is still starting");
165
158
  }
166
159
  this.setApiState(_apistatetype.API_STATE.noResponse);
@@ -181,6 +174,10 @@ class MoonrakerWebsocketAdapter extends _websocketrpcextendedadapter.WebsocketRp
181
174
  }
182
175
  const payload = event.params?.length ? event.params[0] : undefined;
183
176
  if (eventName === "notify_service_state_changed") {
177
+ if (!event.params) {
178
+ this.logger.error("Received 'notify_service_state_changed' but service indicators params were undefined");
179
+ return;
180
+ }
184
181
  const serviceChanged = event.params[0];
185
182
  if (serviceChanged.klipper?.active_state || serviceChanged.klipper_mcu?.active_state || serviceChanged.moonraker?.active_state) {
186
183
  this.logger.log("Received notify_service_state_changed, reloading Moonraker printer objects");
@@ -201,36 +198,23 @@ class MoonrakerWebsocketAdapter extends _websocketrpcextendedadapter.WebsocketRp
201
198
  return await this.setupSocketSession();
202
199
  }
203
200
  if (eventName === "notify_status_update") {
201
+ if (!event.params) {
202
+ this.logger.error("Received 'notify_status_update' but service indicators params were undefined");
203
+ return;
204
+ }
204
205
  const [data, eventtime] = event.params;
205
- const substate = Object.keys(data)[0];
206
- if (Object.keys(this.printerObjects.status).includes(substate)) {
206
+ const subState = Object.keys(data)[0];
207
+ if (Object.keys(this.printerObjects.status).includes(subState)) {
207
208
  this.printerObjects.status = _lodash.default.merge(this.printerObjects.status, data);
208
209
  this.printerObjects.eventtime = eventtime;
209
210
  await this.emitCurrentEvent(this.printerObjects);
210
211
  } else {
211
- this.logger.warn(`Substate ${substate} unknown`);
212
+ this.logger.warn(`Substate ${subState} unknown`);
212
213
  }
213
214
  return;
214
215
  }
215
216
  await this.emitEvent(eventName, payload);
216
217
  }
217
- emitEventSync(event, payload) {
218
- if (!this.eventEmittingAllowed) {
219
- return;
220
- }
221
- this.eventEmitter.emit((0, _websocketconstants.moonrakerEvent)(event), {
222
- event,
223
- payload,
224
- printerId: this.printerId
225
- });
226
- }
227
- resetSocketState() {
228
- this.setSocketState("unopened");
229
- this.setApiState("unset");
230
- }
231
- isClosedOrAborted() {
232
- return this.socketState === _socketstatetype.SOCKET_STATE.closed || this.socketState === _socketstatetype.SOCKET_STATE.aborted;
233
- }
234
218
  async afterClosed(event) {
235
219
  this.setSocketState("closed");
236
220
  delete this.socket;
@@ -240,6 +224,29 @@ class MoonrakerWebsocketAdapter extends _websocketrpcextendedadapter.WebsocketRp
240
224
  this.setSocketState("error");
241
225
  await this.emitEvent(_octoprintwebsocketadapter.WsMessage.WS_ERROR, error?.length ? error : "connection error");
242
226
  }
227
+ async updateCurrentStateSafely() {
228
+ try {
229
+ const query = this.subscriptionObjects;
230
+ const objects = await this.client.getPrinterObjectsQuery(this.login, query);
231
+ this.printerObjects = objects.data.result;
232
+ this.setApiState(_apistatetype.API_STATE.responding);
233
+ return await this.emitCurrentEvent(this.printerObjects);
234
+ } catch (e) {
235
+ const castError = e;
236
+ if (castError.isAxiosError) {
237
+ if (castError?.response?.status == 503) {
238
+ this.printerObjects.status = null;
239
+ this.printerObjects.eventtime = Date.now();
240
+ return await this.emitCurrentEvent(this.printerObjects);
241
+ }
242
+ this.logger.error("Could not update Moonraker printer objects due to a request error");
243
+ this.setApiState(_apistatetype.API_STATE.noResponse);
244
+ return;
245
+ }
246
+ this.logger.error(`Could not update Moonraker current due to an unknown error`);
247
+ this.setApiState(_apistatetype.API_STATE.noResponse);
248
+ }
249
+ }
243
250
  async emitCurrentEvent(printerObject) {
244
251
  const originalKlipperObjects = printerObject.status;
245
252
  const flags = {
@@ -257,29 +264,34 @@ class MoonrakerWebsocketAdapter extends _websocketrpcextendedadapter.WebsocketRp
257
264
  };
258
265
  let filename = "";
259
266
  let printTime = null;
260
- let stateText = originalKlipperObjects.display_status?.message ?? "Error";
267
+ let stateText = "Unset";
261
268
  let error = "";
262
- if (originalKlipperObjects.print_stats?.state?.length) {
263
- const systemState = originalKlipperObjects.webhooks;
264
- const printState = originalKlipperObjects.print_stats.state;
265
- const idleState = originalKlipperObjects.idle_timeout?.state;
266
- filename = originalKlipperObjects.print_stats.filename;
267
- printTime = originalKlipperObjects.print_stats.print_duration;
268
- flags.operational = systemState.state === "ready";
269
- if (flags.operational) {
270
- flags.printing = printState === "printing";
271
- flags.paused = printState === "paused";
272
- flags.ready = printState === "standby" && idleState !== "Printing";
273
- flags.sdReady = true;
274
- } else {
275
- flags.error = true;
276
- stateText = "Klipper reports: " + (systemState.state ?? "unknown")?.toUpperCase();
269
+ let completion = null;
270
+ if (originalKlipperObjects != null) {
271
+ stateText = originalKlipperObjects.display_status?.message;
272
+ if (originalKlipperObjects.print_stats?.state?.length) {
273
+ const systemState = originalKlipperObjects.webhooks;
274
+ const printState = originalKlipperObjects.print_stats.state;
275
+ const idleState = originalKlipperObjects.idle_timeout?.state;
276
+ filename = originalKlipperObjects.print_stats.filename;
277
+ printTime = originalKlipperObjects.print_stats.print_duration;
278
+ flags.operational = systemState.state === "ready";
279
+ if (flags.operational) {
280
+ flags.printing = printState === "printing";
281
+ flags.paused = printState === "paused";
282
+ flags.ready = printState === "standby" && idleState !== "Printing";
283
+ flags.sdReady = true;
284
+ } else {
285
+ flags.error = true;
286
+ stateText = "Klipper reports: " + (systemState.state ?? "unknown")?.toUpperCase();
287
+ }
277
288
  }
289
+ completion = (originalKlipperObjects.display_status?.progress ?? 0) * 100.0;
278
290
  }
279
291
  const currentMessage = {
280
292
  progress: {
281
- printTime: printTime,
282
- completion: (originalKlipperObjects.display_status?.progress ?? 0) * 100.0
293
+ printTime,
294
+ completion
283
295
  },
284
296
  state: {
285
297
  text: stateText,
@@ -300,7 +312,7 @@ class MoonrakerWebsocketAdapter extends _websocketrpcextendedadapter.WebsocketRp
300
312
  if (!this.eventEmittingAllowed) {
301
313
  return;
302
314
  }
303
- await this.eventEmitter.emitAsync((0, _websocketconstants.moonrakerEvent)(event), {
315
+ await this.eventEmitter2.emitAsync((0, _moonrakerconstants.moonrakerEvent)(event), {
304
316
  event,
305
317
  payload,
306
318
  printerId: this.printerId,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/services/moonraker/moonraker-websocket.adapter.ts"],"names":["MoonrakerWebsocketAdapter","WebsocketRpcExtendedAdapter","printerType","client","eventEmitter","configService","socketState","SOCKET_STATE","unopened","lastMessageReceivedTimestamp","stateUpdated","stateUpdateTimestamp","apiStateUpdated","apiStateUpdateTimestamp","apiState","API_STATE","unset","login","socketURL","printerId","serverVersion","refreshPrinterObjectsInterval","subscriptionObjects","pause_resume","idle_timeout","print_stats","heaters","heater_bed","extruder","display_status","webhooks","virtual_sdcard","gcode_move","stepper_enable","fan","motion_report","system_stats","printerObjects","eventtime","status","constructor","moonrakerClient","loggerFactory","eventEmitter2","logger","name","_debugMode","get","AppConstants","debugSocketStatesKey","defaultDebugSocketStates","needsReopen","needsSetup","needsReauth","reauthSession","registerCredentials","socketLogin","loginDto","wsUrl","httpToWsUrl","printerURL","pathname","open","socket","Error","close","clearInterval","setupSocketSession","getApiVersion","setApiState","responding","updateCurrentStateSafely","setInterval","query","objects","getPrinterObjectsQuery","data","result","emitCurrentEvent","e","castError","isAxiosError","response","Date","now","error","noResponse","afterOpened","_","setSocketState","opened","sendRequest","jsonrpc","method","params","client_name","version","type","url","githubUrl","id","postSubscribePrinterObjects","connection_id","ae","warn","PP","message","onEventMessage","event","authenticated","eventName","log","JSON","stringify","substring","payload","length","undefined","serviceChanged","klipper","active_state","klipper_mcu","moonraker","substate","Object","keys","includes","merge","emitEvent","emitEventSync","eventEmittingAllowed","emit","moonrakerEvent","resetSocketState","isClosedOrAborted","closed","aborted","afterClosed","WsMessage","WS_CLOSED","onError","WS_ERROR","printerObject","originalKlipperObjects","flags","operational","printing","cancelling","pausing","paused","resuming","finishing","closedOrError","ready","sdReady","filename","printTime","stateText","state","systemState","printState","idleState","print_duration","toUpperCase","currentMessage","progress","completion","text","job","file","path","emitAsync","MoonrakerType","WS_STATE_UPDATED","globalKey","API_STATE_UPDATED"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/services/moonraker/moonraker-websocket.adapter.ts"],"names":["MoonrakerWebsocketAdapter","WebsocketRpcExtendedAdapter","printerType","socketState","lastMessageReceivedTimestamp","stateUpdated","stateUpdateTimestamp","apiStateUpdated","apiStateUpdateTimestamp","apiState","login","printerId","refreshPrinterObjectsInterval","printerObjects","client","socketURL","constructor","loggerFactory","moonrakerClient","eventEmitter2","configService","serverVersion","SOCKET_STATE","unopened","API_STATE","unset","eventtime","status","logger","name","_debugMode","get","AppConstants","debugSocketStatesKey","defaultDebugSocketStates","subscriptionObjects","pause_resume","idle_timeout","print_stats","heaters","heater_bed","extruder","display_status","webhooks","virtual_sdcard","gcode_move","stepper_enable","fan","motion_report","system_stats","needsReopen","needsSetup","needsReauth","reauthSession","registerCredentials","socketLogin","loginDto","httpUrlString","normalizeUrl","printerURL","httpUrl","URL","httpUrlPath","pathname","wsUrl","httpToWsUrl","open","socket","Error","close","clearInterval","setupSocketSession","getApiVersion","setApiState","responding","updateCurrentStateSafely","setInterval","emitEventSync","event","payload","eventEmittingAllowed","emit","moonrakerEvent","resetSocketState","setSocketState","isClosedOrAborted","closed","aborted","afterOpened","_","opened","response","sendRequest","jsonrpc","method","params","client_name","version","type","url","githubUrl","id","query","result","postSubscribePrinterObjects","connection_id","data","emitCurrentEvent","e","ae","isAxiosError","warn","PP","error","message","noResponse","onEventMessage","Date","now","authenticated","eventName","log","JSON","stringify","substring","length","undefined","serviceChanged","klipper","active_state","klipper_mcu","moonraker","subState","Object","keys","includes","merge","emitEvent","afterClosed","WsMessage","WS_CLOSED","onError","WS_ERROR","objects","getPrinterObjectsQuery","castError","printerObject","originalKlipperObjects","flags","operational","printing","cancelling","pausing","paused","resuming","finishing","closedOrError","ready","sdReady","filename","printTime","stateText","completion","state","systemState","printState","idleState","print_duration","toUpperCase","progress","currentMessage","text","job","file","path","emitAsync","MoonrakerType","WS_STATE_UPDATED","globalKey","API_STATE_UPDATED"],"mappings":"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"}