@fdm-monster/server 2.0.10 → 2.0.11

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 (929) hide show
  1. package/.claude/CLAUDE.md +76 -0
  2. package/.vite-hooks/pre-commit +1 -0
  3. package/.yarn/install-state.gz +0 -0
  4. package/.yarn/releases/yarn-4.13.0.cjs +940 -0
  5. package/.yarnrc.yml +1 -1
  6. package/README.md +1 -1
  7. package/RELEASE_NOTES.MD +14 -0
  8. package/dist/_virtual/_@oxc-project_runtime@0.127.0/helpers/decorate.js +9 -0
  9. package/dist/_virtual/_@oxc-project_runtime@0.127.0/helpers/decorateMetadata.js +6 -0
  10. package/dist/_virtual/_rolldown/runtime.js +13 -0
  11. package/dist/_virtual/_virtual_controllers.js +43 -0
  12. package/dist/consoles/typeorm-create.js +51 -112
  13. package/dist/consoles/typeorm-create.js.map +1 -1
  14. package/dist/consoles/typeorm-generate.js +99 -165
  15. package/dist/consoles/typeorm-generate.js.map +1 -1
  16. package/dist/consoles/typeorm-migrate.js +35 -43
  17. package/dist/consoles/typeorm-migrate.js.map +1 -1
  18. package/dist/constants/authorization.constants.js +75 -97
  19. package/dist/constants/authorization.constants.js.map +1 -1
  20. package/dist/constants/event.constants.js +11 -41
  21. package/dist/constants/event.constants.js.map +1 -1
  22. package/dist/constants/http-status-codes.constants.js +319 -71
  23. package/dist/constants/http-status-codes.constants.js.map +1 -1
  24. package/dist/constants/server-settings.constants.js +45 -87
  25. package/dist/constants/server-settings.constants.js.map +1 -1
  26. package/dist/constants/service.constants.js +3 -21
  27. package/dist/constants/service.constants.js.map +1 -1
  28. package/dist/container.js +167 -181
  29. package/dist/container.js.map +1 -1
  30. package/dist/container.tokens.js +78 -85
  31. package/dist/container.tokens.js.map +1 -1
  32. package/dist/controllers/auth.controller.js +156 -225
  33. package/dist/controllers/auth.controller.js.map +1 -1
  34. package/dist/controllers/batch-call.controller.js +79 -116
  35. package/dist/controllers/batch-call.controller.js.map +1 -1
  36. package/dist/controllers/camera-stream.controller.js +74 -119
  37. package/dist/controllers/camera-stream.controller.js.map +1 -1
  38. package/dist/controllers/dto/update-client-dist.dto.js +8 -15
  39. package/dist/controllers/dto/update-client-dist.dto.js.map +1 -1
  40. package/dist/controllers/file-storage.controller.js +251 -312
  41. package/dist/controllers/file-storage.controller.js.map +1 -1
  42. package/dist/controllers/first-time-setup.controller.js +83 -135
  43. package/dist/controllers/first-time-setup.controller.js.map +1 -1
  44. package/dist/controllers/floor.controller.js +111 -175
  45. package/dist/controllers/floor.controller.js.map +1 -1
  46. package/dist/controllers/metrics.controller.js +27 -53
  47. package/dist/controllers/metrics.controller.js.map +1 -1
  48. package/dist/controllers/print-job.controller.js +366 -451
  49. package/dist/controllers/print-job.controller.js.map +1 -1
  50. package/dist/controllers/print-queue.controller.js +329 -427
  51. package/dist/controllers/print-queue.controller.js.map +1 -1
  52. package/dist/controllers/printer-files.controller.js +244 -305
  53. package/dist/controllers/printer-files.controller.js.map +1 -1
  54. package/dist/controllers/printer-maintenance-log.controller.js +109 -165
  55. package/dist/controllers/printer-maintenance-log.controller.js.map +1 -1
  56. package/dist/controllers/printer-settings.controller.js +50 -81
  57. package/dist/controllers/printer-settings.controller.js.map +1 -1
  58. package/dist/controllers/printer-tag.controller.js +104 -166
  59. package/dist/controllers/printer-tag.controller.js.map +1 -1
  60. package/dist/controllers/printer.controller.js +352 -469
  61. package/dist/controllers/printer.controller.js.map +1 -1
  62. package/dist/controllers/server-private.controller.js +182 -239
  63. package/dist/controllers/server-private.controller.js.map +1 -1
  64. package/dist/controllers/server-public.controller.js +104 -158
  65. package/dist/controllers/server-public.controller.js.map +1 -1
  66. package/dist/controllers/settings.controller.js +229 -364
  67. package/dist/controllers/settings.controller.js.map +1 -1
  68. package/dist/controllers/slicer-compat.controller.js +179 -206
  69. package/dist/controllers/slicer-compat.controller.js.map +1 -1
  70. package/dist/controllers/user.controller.js +226 -348
  71. package/dist/controllers/user.controller.js.map +1 -1
  72. package/dist/controllers/validation/auth-controller.validation.js +5 -14
  73. package/dist/controllers/validation/auth-controller.validation.js.map +1 -1
  74. package/dist/controllers/validation/batch-controller.validation.js +13 -35
  75. package/dist/controllers/validation/batch-controller.validation.js.map +1 -1
  76. package/dist/controllers/validation/generic.validation.js +6 -23
  77. package/dist/controllers/validation/generic.validation.js.map +1 -1
  78. package/dist/controllers/validation/printer-completion-controller.validation.js +5 -14
  79. package/dist/controllers/validation/printer-completion-controller.validation.js.map +1 -1
  80. package/dist/controllers/validation/printer-controller.validation.js +16 -48
  81. package/dist/controllers/validation/printer-controller.validation.js.map +1 -1
  82. package/dist/controllers/validation/printer-files-controller.validation.js +12 -47
  83. package/dist/controllers/validation/printer-files-controller.validation.js.map +1 -1
  84. package/dist/controllers/validation/printer-settings-controller.validation.js +5 -14
  85. package/dist/controllers/validation/printer-settings-controller.validation.js.map +1 -1
  86. package/dist/controllers/validation/server-private.validation.js +7 -14
  87. package/dist/controllers/validation/server-private.validation.js.map +1 -1
  88. package/dist/controllers/validation/setting.validation.js +12 -34
  89. package/dist/controllers/validation/setting.validation.js.map +1 -1
  90. package/dist/controllers/validation/user-controller.validation.js +27 -65
  91. package/dist/controllers/validation/user-controller.validation.js.map +1 -1
  92. package/dist/data-source.js +74 -79
  93. package/dist/data-source.js.map +1 -1
  94. package/dist/entities/camera-stream.entity.js +49 -91
  95. package/dist/entities/camera-stream.entity.js.map +1 -1
  96. package/dist/entities/floor-position.entity.js +38 -75
  97. package/dist/entities/floor-position.entity.js.map +1 -1
  98. package/dist/entities/floor.entity.js +18 -48
  99. package/dist/entities/floor.entity.js.map +1 -1
  100. package/dist/entities/index.js +14 -66
  101. package/dist/entities/print-job.entity.js +114 -196
  102. package/dist/entities/print-job.entity.js.map +1 -1
  103. package/dist/entities/printer-maintenance-log.entity.js +61 -140
  104. package/dist/entities/printer-maintenance-log.entity.js.map +1 -1
  105. package/dist/entities/printer-tag.entity.js +33 -66
  106. package/dist/entities/printer-tag.entity.js.map +1 -1
  107. package/dist/entities/printer.entity.js +67 -124
  108. package/dist/entities/printer.entity.js.map +1 -1
  109. package/dist/entities/refresh-token.entity.js +31 -66
  110. package/dist/entities/refresh-token.entity.js.map +1 -1
  111. package/dist/entities/role.entity.js +16 -45
  112. package/dist/entities/role.entity.js.map +1 -1
  113. package/dist/entities/settings.entity.js +38 -77
  114. package/dist/entities/settings.entity.js.map +1 -1
  115. package/dist/entities/tag.entity.js +19 -43
  116. package/dist/entities/tag.entity.js.map +1 -1
  117. package/dist/entities/user-role.entity.js +30 -67
  118. package/dist/entities/user-role.entity.js.map +1 -1
  119. package/dist/entities/user.entity.js +32 -87
  120. package/dist/entities/user.entity.js.map +1 -1
  121. package/dist/exceptions/failed-dependency.exception.js +11 -18
  122. package/dist/exceptions/failed-dependency.exception.js.map +1 -1
  123. package/dist/exceptions/job.exceptions.js +9 -16
  124. package/dist/exceptions/job.exceptions.js.map +1 -1
  125. package/dist/exceptions/runtime.exceptions.js +82 -121
  126. package/dist/exceptions/runtime.exceptions.js.map +1 -1
  127. package/dist/handlers/event-emitter.js +13 -20
  128. package/dist/handlers/event-emitter.js.map +1 -1
  129. package/dist/handlers/logger-factory.js +7 -14
  130. package/dist/handlers/logger-factory.js.map +1 -1
  131. package/dist/handlers/logger.js +26 -36
  132. package/dist/handlers/logger.js.map +1 -1
  133. package/dist/handlers/logging/file-logging.transport.js +17 -31
  134. package/dist/handlers/logging/file-logging.transport.js.map +1 -1
  135. package/dist/handlers/logging/loki-logging.transport.js +34 -50
  136. package/dist/handlers/logging/loki-logging.transport.js.map +1 -1
  137. package/dist/handlers/logging/static.logger.js +83 -124
  138. package/dist/handlers/logging/static.logger.js.map +1 -1
  139. package/dist/handlers/validators.js +8 -25
  140. package/dist/handlers/validators.js.map +1 -1
  141. package/dist/index.js +23 -26
  142. package/dist/index.js.map +1 -1
  143. package/dist/middleware/authenticate.js +26 -69
  144. package/dist/middleware/authenticate.js.map +1 -1
  145. package/dist/middleware/database.js +16 -22
  146. package/dist/middleware/database.js.map +1 -1
  147. package/dist/middleware/demo.middleware.js +19 -27
  148. package/dist/middleware/demo.middleware.js.map +1 -1
  149. package/dist/middleware/exception.filter.js +109 -133
  150. package/dist/middleware/exception.filter.js.map +1 -1
  151. package/dist/middleware/global.middleware.js +28 -47
  152. package/dist/middleware/global.middleware.js.map +1 -1
  153. package/dist/middleware/param-converter.middleware.js +31 -69
  154. package/dist/middleware/param-converter.middleware.js.map +1 -1
  155. package/dist/middleware/passport.js +38 -64
  156. package/dist/middleware/passport.js.map +1 -1
  157. package/dist/middleware/printer-resolver.js +26 -33
  158. package/dist/middleware/printer-resolver.js.map +1 -1
  159. package/dist/middleware/printer.js +56 -94
  160. package/dist/middleware/printer.js.map +1 -1
  161. package/dist/middleware/slicer-api-key.middleware.js +23 -26
  162. package/dist/middleware/slicer-api-key.middleware.js.map +1 -1
  163. package/dist/middleware/socketio.middleware.js +21 -32
  164. package/dist/middleware/socketio.middleware.js.map +1 -1
  165. package/dist/migrations/1706829146617-InitSqlite.js +84 -91
  166. package/dist/migrations/1706829146617-InitSqlite.js.map +1 -1
  167. package/dist/migrations/1707494762198-PrinterGroup.js +22 -29
  168. package/dist/migrations/1707494762198-PrinterGroup.js.map +1 -1
  169. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js +26 -33
  170. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js.map +1 -1
  171. package/dist/migrations/1713300747465-ChangeRoleNameUnique.js +27 -34
  172. package/dist/migrations/1713300747465-ChangeRoleNameUnique.js.map +1 -1
  173. package/dist/migrations/1713897879622-AddPrinterType.js +34 -41
  174. package/dist/migrations/1713897879622-AddPrinterType.js.map +1 -1
  175. package/dist/migrations/1720338804844-RemovePrinterFile.js +12 -19
  176. package/dist/migrations/1720338804844-RemovePrinterFile.js.map +1 -1
  177. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js +26 -33
  178. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js.map +1 -1
  179. package/dist/migrations/1766576698569-DropPermissions.js +11 -18
  180. package/dist/migrations/1766576698569-DropPermissions.js.map +1 -1
  181. package/dist/migrations/1767278216516-ChangeCameraPrinterOnDeleteSetNull.js +26 -33
  182. package/dist/migrations/1767278216516-ChangeCameraPrinterOnDeleteSetNull.js.map +1 -1
  183. package/dist/migrations/1767279607392-DropCustomGcode.js +12 -19
  184. package/dist/migrations/1767279607392-DropCustomGcode.js.map +1 -1
  185. package/dist/migrations/1767291804417-DropPrintCompletions.js +12 -19
  186. package/dist/migrations/1767291804417-DropPrintCompletions.js.map +1 -1
  187. package/dist/migrations/1767352862576-DropSettingsFileClean.js +18 -25
  188. package/dist/migrations/1767352862576-DropSettingsFileClean.js.map +1 -1
  189. package/dist/migrations/1767355639023-ChangeFloorLevelToOrder.js +26 -33
  190. package/dist/migrations/1767355639023-ChangeFloorLevelToOrder.js.map +1 -1
  191. package/dist/migrations/1767370191762-ChangeFloorNonUniqueOrder.js +18 -25
  192. package/dist/migrations/1767370191762-ChangeFloorNonUniqueOrder.js.map +1 -1
  193. package/dist/migrations/1767432108916-RenameGroupToTag.js +22 -29
  194. package/dist/migrations/1767432108916-RenameGroupToTag.js.map +1 -1
  195. package/dist/migrations/1767451444137-AddPrintJob.js +20 -27
  196. package/dist/migrations/1767451444137-AddPrintJob.js.map +1 -1
  197. package/dist/migrations/1767909428129-AddPrinterMaintenanceLog.js +14 -21
  198. package/dist/migrations/1767909428129-AddPrinterMaintenanceLog.js.map +1 -1
  199. package/dist/plugins/controllers-plugin.js +21 -0
  200. package/dist/plugins/controllers-plugin.js.map +1 -0
  201. package/dist/server.constants.js +79 -91
  202. package/dist/server.constants.js.map +1 -1
  203. package/dist/server.core.js +56 -122
  204. package/dist/server.core.js.map +1 -1
  205. package/dist/server.env.js +56 -121
  206. package/dist/server.env.js.map +1 -1
  207. package/dist/server.host.js +66 -99
  208. package/dist/server.host.js.map +1 -1
  209. package/dist/services/authentication/auth.service.js +103 -126
  210. package/dist/services/authentication/auth.service.js.map +1 -1
  211. package/dist/services/authentication/jwt.service.js +23 -32
  212. package/dist/services/authentication/jwt.service.js.map +1 -1
  213. package/dist/services/bambu/bambu-ftp.adapter.js +194 -236
  214. package/dist/services/bambu/bambu-ftp.adapter.js.map +1 -1
  215. package/dist/services/bambu/bambu-mqtt.adapter.js +394 -449
  216. package/dist/services/bambu/bambu-mqtt.adapter.js.map +1 -1
  217. package/dist/services/bambu/bambu.client.js +64 -65
  218. package/dist/services/bambu/bambu.client.js.map +1 -1
  219. package/dist/services/bambu/mqtt-message.types.js +1 -6
  220. package/dist/services/bambu.api.js +230 -247
  221. package/dist/services/bambu.api.js.map +1 -1
  222. package/dist/services/core/batch-call.service.js +139 -163
  223. package/dist/services/core/batch-call.service.js.map +1 -1
  224. package/dist/services/core/client-bundle.service.js +126 -165
  225. package/dist/services/core/client-bundle.service.js.map +1 -1
  226. package/dist/services/core/config.service.js +16 -26
  227. package/dist/services/core/config.service.js.map +1 -1
  228. package/dist/services/core/cradle.service.js +11 -19
  229. package/dist/services/core/cradle.service.js.map +1 -1
  230. package/dist/services/core/github.service.js +59 -79
  231. package/dist/services/core/github.service.js.map +1 -1
  232. package/dist/services/core/http-client.factory.js +30 -38
  233. package/dist/services/core/http-client.factory.js.map +1 -1
  234. package/dist/services/core/logs-manager.service.js +61 -84
  235. package/dist/services/core/logs-manager.service.js.map +1 -1
  236. package/dist/services/core/monsterpi.service.js +26 -36
  237. package/dist/services/core/monsterpi.service.js.map +1 -1
  238. package/dist/services/core/multer.service.js +69 -129
  239. package/dist/services/core/multer.service.js.map +1 -1
  240. package/dist/services/core/server-release.service.js +77 -99
  241. package/dist/services/core/server-release.service.js.map +1 -1
  242. package/dist/services/core/yaml.service.js +443 -573
  243. package/dist/services/core/yaml.service.js.map +1 -1
  244. package/dist/services/file-analysis.service.js +134 -144
  245. package/dist/services/file-analysis.service.js.map +1 -1
  246. package/dist/services/file-storage.service.js +324 -423
  247. package/dist/services/file-storage.service.js.map +1 -1
  248. package/dist/services/interfaces/auth.service.interface.js +1 -6
  249. package/dist/services/interfaces/camera-stream.dto.js +23 -41
  250. package/dist/services/interfaces/camera-stream.dto.js.map +1 -1
  251. package/dist/services/interfaces/camera-stream.service.interface.js +1 -6
  252. package/dist/services/interfaces/file-upload-tracker.interface.js +1 -6
  253. package/dist/services/interfaces/floor.dto.js +31 -55
  254. package/dist/services/interfaces/floor.dto.js.map +1 -1
  255. package/dist/services/interfaces/floor.service.interface.js +1 -6
  256. package/dist/services/interfaces/jwt.service.interface.js +1 -6
  257. package/dist/services/interfaces/login.dto.js +10 -17
  258. package/dist/services/interfaces/login.dto.js.map +1 -1
  259. package/dist/services/interfaces/page.interface.js +5 -12
  260. package/dist/services/interfaces/page.interface.js.map +1 -1
  261. package/dist/services/interfaces/permission.service.interface.js +1 -6
  262. package/dist/services/interfaces/printer-file.dto.js +1 -6
  263. package/dist/services/interfaces/printer-maintenance-log.dto.js +1 -6
  264. package/dist/services/interfaces/printer-tag.dto.js +11 -26
  265. package/dist/services/interfaces/printer-tag.dto.js.map +1 -1
  266. package/dist/services/interfaces/printer-tag.service.interface.js +1 -6
  267. package/dist/services/interfaces/printer.dto.js +21 -36
  268. package/dist/services/interfaces/printer.dto.js.map +1 -1
  269. package/dist/services/interfaces/printer.service.interface.js +1 -6
  270. package/dist/services/interfaces/refresh-token.dto.js +9 -16
  271. package/dist/services/interfaces/refresh-token.dto.js.map +1 -1
  272. package/dist/services/interfaces/refresh-token.service.interface.js +1 -6
  273. package/dist/services/interfaces/role-service.interface.js +1 -6
  274. package/dist/services/interfaces/role.dto.js +7 -14
  275. package/dist/services/interfaces/role.dto.js.map +1 -1
  276. package/dist/services/interfaces/settings.dto.js +10 -17
  277. package/dist/services/interfaces/settings.dto.js.map +1 -1
  278. package/dist/services/interfaces/settings.service.interface.js +1 -6
  279. package/dist/services/interfaces/tag.dto.js +1 -6
  280. package/dist/services/interfaces/task.interfaces.js +1 -6
  281. package/dist/services/interfaces/user-role.dto.js +9 -16
  282. package/dist/services/interfaces/user-role.dto.js.map +1 -1
  283. package/dist/services/interfaces/user-service.interface.js +1 -6
  284. package/dist/services/interfaces/user.dto.js +22 -37
  285. package/dist/services/interfaces/user.dto.js.map +1 -1
  286. package/dist/services/moonraker/constants/moonraker-event.dto.js +16 -31
  287. package/dist/services/moonraker/constants/moonraker-event.dto.js.map +1 -1
  288. package/dist/services/moonraker/constants/moonraker.constants.js +4 -11
  289. package/dist/services/moonraker/constants/moonraker.constants.js.map +1 -1
  290. package/dist/services/moonraker/dto/access/access-info.dto.js +1 -6
  291. package/dist/services/moonraker/dto/access/access-login-refresh.dto.js +1 -6
  292. package/dist/services/moonraker/dto/access/access-login-result.dto.js +1 -6
  293. package/dist/services/moonraker/dto/access/access-user-result.dto.js +1 -6
  294. package/dist/services/moonraker/dto/access/access-user.dto.js +1 -6
  295. package/dist/services/moonraker/dto/database/database-namespace-item.dto.js +1 -6
  296. package/dist/services/moonraker/dto/database/database-namespace-list.dto.js +1 -6
  297. package/dist/services/moonraker/dto/gcode-help.dto.js +1 -6
  298. package/dist/services/moonraker/dto/gcode-store.dto.js +1 -6
  299. package/dist/services/moonraker/dto/job-queue/enqueue-job.dto.js +1 -6
  300. package/dist/services/moonraker/dto/job-queue/job-queue-status.dto.js +1 -6
  301. package/dist/services/moonraker/dto/machine/machine-device-power-device-state.dto.js +1 -6
  302. package/dist/services/moonraker/dto/machine/machine-device-power-devices.dto.js +1 -6
  303. package/dist/services/moonraker/dto/machine/machine-peripherals-canbus.dto.js +1 -6
  304. package/dist/services/moonraker/dto/machine/machine-peripherals-serial.dto.js +1 -6
  305. package/dist/services/moonraker/dto/machine/machine-peripherals-usb.dto.js +1 -6
  306. package/dist/services/moonraker/dto/machine/machine-peripherals-video.dto.js +1 -6
  307. package/dist/services/moonraker/dto/machine/machine-system-info.dto.js +1 -6
  308. package/dist/services/moonraker/dto/machine/machine-update-status.dto.js +1 -6
  309. package/dist/services/moonraker/dto/machine/machine-wled-strips.dto.js +1 -6
  310. package/dist/services/moonraker/dto/notifier-list.dto.js +1 -6
  311. package/dist/services/moonraker/dto/objects/bed-mesh.dto.js +1 -6
  312. package/dist/services/moonraker/dto/objects/configfile.dto.js +1 -6
  313. package/dist/services/moonraker/dto/objects/display-status.dto.js +1 -6
  314. package/dist/services/moonraker/dto/objects/extruder.dto.js +1 -6
  315. package/dist/services/moonraker/dto/objects/fan.dto.js +1 -6
  316. package/dist/services/moonraker/dto/objects/filament-motion-sensor.dto.js +1 -6
  317. package/dist/services/moonraker/dto/objects/filament-switch-sensor.dto.js +1 -6
  318. package/dist/services/moonraker/dto/objects/gcode-move.dto.js +1 -6
  319. package/dist/services/moonraker/dto/objects/gcode.dto.js +1 -6
  320. package/dist/services/moonraker/dto/objects/heater-bed.dto.js +1 -6
  321. package/dist/services/moonraker/dto/objects/heaters.dto.js +1 -6
  322. package/dist/services/moonraker/dto/objects/idle-timeout.dto.js +6 -21
  323. package/dist/services/moonraker/dto/objects/idle-timeout.dto.js.map +1 -1
  324. package/dist/services/moonraker/dto/objects/mcu.dto.js +1 -6
  325. package/dist/services/moonraker/dto/objects/motion-report.dto.js +1 -6
  326. package/dist/services/moonraker/dto/objects/output-pin.dto.js +1 -6
  327. package/dist/services/moonraker/dto/objects/pause-resume.dto.js +1 -6
  328. package/dist/services/moonraker/dto/objects/print-stats.dto.js +9 -24
  329. package/dist/services/moonraker/dto/objects/print-stats.dto.js.map +1 -1
  330. package/dist/services/moonraker/dto/objects/printer-object.dto.js +1 -6
  331. package/dist/services/moonraker/dto/objects/printer-object.types.js +1 -6
  332. package/dist/services/moonraker/dto/objects/printer-objects-list.dto.js +28 -43
  333. package/dist/services/moonraker/dto/objects/printer-objects-list.dto.js.map +1 -1
  334. package/dist/services/moonraker/dto/objects/printer-objects-query.dto.js +1 -6
  335. package/dist/services/moonraker/dto/objects/stepper-enable.dto.js +1 -6
  336. package/dist/services/moonraker/dto/objects/system-stats.dto.js +1 -6
  337. package/dist/services/moonraker/dto/objects/temperature-fan.dto.js +1 -6
  338. package/dist/services/moonraker/dto/objects/temperature-sensor.dto.js +1 -6
  339. package/dist/services/moonraker/dto/objects/toolhead.dto.js +1 -6
  340. package/dist/services/moonraker/dto/objects/virtual-sdcard.dto.js +1 -6
  341. package/dist/services/moonraker/dto/objects/webhooks.dto.js +1 -6
  342. package/dist/services/moonraker/dto/octoprint-compat/api-job.dto.js +1 -6
  343. package/dist/services/moonraker/dto/octoprint-compat/api-login.dto.js +1 -6
  344. package/dist/services/moonraker/dto/octoprint-compat/api-printer.dto.js +1 -6
  345. package/dist/services/moonraker/dto/octoprint-compat/api-profiles.dto.js +1 -6
  346. package/dist/services/moonraker/dto/octoprint-compat/api-settings.dto.js +1 -6
  347. package/dist/services/moonraker/dto/octoprint-compat/api-version.dto.js +1 -6
  348. package/dist/services/moonraker/dto/octoprint-compat/server-version.dto.js +1 -6
  349. package/dist/services/moonraker/dto/printer-info.dto.js +7 -22
  350. package/dist/services/moonraker/dto/printer-info.dto.js.map +1 -1
  351. package/dist/services/moonraker/dto/printer-query-endstops.dto.js +1 -6
  352. package/dist/services/moonraker/dto/process-stats.dto.js +1 -6
  353. package/dist/services/moonraker/dto/rest/action-result.dto.js +1 -6
  354. package/dist/services/moonraker/dto/rest/error.dto.js +1 -6
  355. package/dist/services/moonraker/dto/rest/result.dto.js +6 -13
  356. package/dist/services/moonraker/dto/rest/result.dto.js.map +1 -1
  357. package/dist/services/moonraker/dto/rollover-logs.dto.js +1 -6
  358. package/dist/services/moonraker/dto/rpc/json-rpc-error.dto.js +1 -6
  359. package/dist/services/moonraker/dto/rpc/json-rpc-request.dto.js +1 -6
  360. package/dist/services/moonraker/dto/rpc/json-rpc-response.dto.js +1 -6
  361. package/dist/services/moonraker/dto/server/server-config.dto.js +1 -6
  362. package/dist/services/moonraker/dto/server/server-info.dto.js +7 -14
  363. package/dist/services/moonraker/dto/server/server-info.dto.js.map +1 -1
  364. package/dist/services/moonraker/dto/server-announcements/announcement-action.dto.js +1 -6
  365. package/dist/services/moonraker/dto/server-announcements/announcement-entry-id.dto.js +1 -6
  366. package/dist/services/moonraker/dto/server-announcements/announcement-feeds.dto.js +1 -6
  367. package/dist/services/moonraker/dto/server-announcements/announcement-list.dto.js +1 -6
  368. package/dist/services/moonraker/dto/server-files/server-file-directory-action.dto.js +1 -6
  369. package/dist/services/moonraker/dto/server-files/server-file-directory-info.dto.js +1 -6
  370. package/dist/services/moonraker/dto/server-files/server-file-metadata.dto.js +1 -6
  371. package/dist/services/moonraker/dto/server-files/server-file-root.dto.js +1 -6
  372. package/dist/services/moonraker/dto/server-files/server-file-thumbnail.dto.js +1 -6
  373. package/dist/services/moonraker/dto/server-files/server-file-zip-action.dto.js +1 -6
  374. package/dist/services/moonraker/dto/server-files/server-file.dto.js +1 -6
  375. package/dist/services/moonraker/dto/server-history/history-job.dto.js +1 -6
  376. package/dist/services/moonraker/dto/server-history/history-last-totals.dto.js +1 -6
  377. package/dist/services/moonraker/dto/server-history/history-list.dto.js +1 -6
  378. package/dist/services/moonraker/dto/server-history/history-totals.dto.js +1 -6
  379. package/dist/services/moonraker/dto/server-history/job.dto.js +6 -21
  380. package/dist/services/moonraker/dto/server-history/job.dto.js.map +1 -1
  381. package/dist/services/moonraker/dto/server-sensors/sensor-info.dto.js +1 -6
  382. package/dist/services/moonraker/dto/server-sensors/sensor-list.dto.js +1 -6
  383. package/dist/services/moonraker/dto/server-sensors/sensor-measurements.dto.js +1 -6
  384. package/dist/services/moonraker/dto/server-webcams/webcam-item.dto.js +1 -6
  385. package/dist/services/moonraker/dto/server-webcams/webcam-list.dto.js +1 -6
  386. package/dist/services/moonraker/dto/server-webcams/webcam-test.dto.js +1 -6
  387. package/dist/services/moonraker/dto/spoolman/spoolman-active-spool.dto.js +1 -6
  388. package/dist/services/moonraker/dto/spoolman/spoolman-proxy-request.dto.js +1 -6
  389. package/dist/services/moonraker/dto/spoolman/spoolman-response.dto.js +1 -6
  390. package/dist/services/moonraker/dto/spoolman/spoolman-status.dto.js +1 -6
  391. package/dist/services/moonraker/dto/sudo-info.dto.js +1 -6
  392. package/dist/services/moonraker/dto/sudo-response.dto.js +1 -6
  393. package/dist/services/moonraker/dto/temperature-store.dto.js +1 -6
  394. package/dist/services/moonraker/dto/websocket/connection-identify-response.dto.js +1 -6
  395. package/dist/services/moonraker/dto/websocket/connection-identify.dto.js +1 -6
  396. package/dist/services/moonraker/dto/websocket/json-rpc-event.dto.js +1 -6
  397. package/dist/services/moonraker/dto/websocket/message.types.js +1 -6
  398. package/dist/services/moonraker/dto/websocket/methods.js +29 -44
  399. package/dist/services/moonraker/dto/websocket/methods.js.map +1 -1
  400. package/dist/services/moonraker/dto/websocket/notify-active-spool-set.params.js +1 -6
  401. package/dist/services/moonraker/dto/websocket/notify-agent-event.params.js +1 -6
  402. package/dist/services/moonraker/dto/websocket/notify-announcement-update.params.js +1 -6
  403. package/dist/services/moonraker/dto/websocket/notify-announcement.params.js +1 -6
  404. package/dist/services/moonraker/dto/websocket/notify-button-event.params.js +1 -6
  405. package/dist/services/moonraker/dto/websocket/notify-filelist-changed.params.js +11 -18
  406. package/dist/services/moonraker/dto/websocket/notify-filelist-changed.params.js.map +1 -1
  407. package/dist/services/moonraker/dto/websocket/notify-history-changed.params.js +1 -6
  408. package/dist/services/moonraker/dto/websocket/notify-job-queue-changed.params.js +1 -6
  409. package/dist/services/moonraker/dto/websocket/notify-proc-stat-update.params.js +1 -6
  410. package/dist/services/moonraker/dto/websocket/notify-sensor-update.params.js +1 -6
  411. package/dist/services/moonraker/dto/websocket/notify-service-state-changed.params.js +1 -6
  412. package/dist/services/moonraker/dto/websocket/notify-spoolman-status-changed.js +1 -6
  413. package/dist/services/moonraker/dto/websocket/notify-sudo-alert.params.js +1 -6
  414. package/dist/services/moonraker/dto/websocket/notify-update-response.params.js +7 -22
  415. package/dist/services/moonraker/dto/websocket/notify-update-response.params.js.map +1 -1
  416. package/dist/services/moonraker/dto/websocket/notify-user-change.params.js +1 -6
  417. package/dist/services/moonraker/moonraker-websocket.adapter.js +313 -348
  418. package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
  419. package/dist/services/moonraker/moonraker.client.js +536 -559
  420. package/dist/services/moonraker/moonraker.client.js.map +1 -1
  421. package/dist/services/moonraker.api.js +167 -192
  422. package/dist/services/moonraker.api.js.map +1 -1
  423. package/dist/services/octoprint/constants/firmware-update-settings.constants.js +19 -28
  424. package/dist/services/octoprint/constants/firmware-update-settings.constants.js.map +1 -1
  425. package/dist/services/octoprint/constants/octoprint-service.constants.js +3 -30
  426. package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -1
  427. package/dist/services/octoprint/constants/octoprint-websocket.constants.js +41 -56
  428. package/dist/services/octoprint/constants/octoprint-websocket.constants.js.map +1 -1
  429. package/dist/services/octoprint/dto/access/user-list.dto.js +1 -6
  430. package/dist/services/octoprint/dto/access/user.dto.js +1 -6
  431. package/dist/services/octoprint/dto/auth/current-user.dto.js +1 -6
  432. package/dist/services/octoprint/dto/auth/login.dto.js +1 -6
  433. package/dist/services/octoprint/dto/connection/connection-state.type.js +23 -30
  434. package/dist/services/octoprint/dto/connection/connection-state.type.js.map +1 -1
  435. package/dist/services/octoprint/dto/connection/connection.dto.js +1 -6
  436. package/dist/services/octoprint/dto/events/client-authed.dto.js +1 -6
  437. package/dist/services/octoprint/dto/events/client-closed.dto.js +1 -6
  438. package/dist/services/octoprint/dto/events/client-opened.dto.js +1 -6
  439. package/dist/services/octoprint/dto/events/dwelling.dto.js +1 -6
  440. package/dist/services/octoprint/dto/events/file-added.dto.js +1 -6
  441. package/dist/services/octoprint/dto/events/file-deselected.dto.js +1 -6
  442. package/dist/services/octoprint/dto/events/file-removed.dto.js +1 -6
  443. package/dist/services/octoprint/dto/events/folder-added.dto.js +1 -6
  444. package/dist/services/octoprint/dto/events/home.dto.js +1 -6
  445. package/dist/services/octoprint/dto/events/metadata-analysis-finished.dto.js +1 -6
  446. package/dist/services/octoprint/dto/events/metadata-analysis-started.dto.js +1 -6
  447. package/dist/services/octoprint/dto/events/metadata-statistics-updated.dto.js +1 -6
  448. package/dist/services/octoprint/dto/events/position-update.dto.js +1 -6
  449. package/dist/services/octoprint/dto/events/print-cancelled.dto.js +1 -6
  450. package/dist/services/octoprint/dto/events/print-cancelling.dto.js +1 -6
  451. package/dist/services/octoprint/dto/events/print-done.dto.js +1 -6
  452. package/dist/services/octoprint/dto/events/print-failed.dto.js +1 -6
  453. package/dist/services/octoprint/dto/events/print-paused.dto.js +1 -6
  454. package/dist/services/octoprint/dto/events/print-resumed.dto.js +1 -6
  455. package/dist/services/octoprint/dto/events/print-started.dto.js +1 -6
  456. package/dist/services/octoprint/dto/events/printer-state-changed.dto.js +1 -6
  457. package/dist/services/octoprint/dto/events/transfer-done.dto.js +1 -6
  458. package/dist/services/octoprint/dto/events/transfer-started.dto.js +1 -6
  459. package/dist/services/octoprint/dto/events/updated-files.dto.js +1 -6
  460. package/dist/services/octoprint/dto/events/upload.dto.js +1 -6
  461. package/dist/services/octoprint/dto/events/user-logged-in.dto.js +1 -6
  462. package/dist/services/octoprint/dto/events/z-change.dto.js +1 -6
  463. package/dist/services/octoprint/dto/files/gcode-analysis.dto.js +1 -6
  464. package/dist/services/octoprint/dto/files/octoprint-file.dto.js +1 -6
  465. package/dist/services/octoprint/dto/files/octoprint-files-response.dto.js +1 -6
  466. package/dist/services/octoprint/dto/job/current-job.dto.js +8 -15
  467. package/dist/services/octoprint/dto/job/current-job.dto.js.map +1 -1
  468. package/dist/services/octoprint/dto/job/job.dto.js +1 -6
  469. package/dist/services/octoprint/dto/octoprint-event.dto.js +21 -39
  470. package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
  471. package/dist/services/octoprint/dto/printer/busy-file.dto.js +1 -6
  472. package/dist/services/octoprint/dto/printer/current-printer-state.dto.js +1 -6
  473. package/dist/services/octoprint/dto/printer/flags.dto.js +1 -6
  474. package/dist/services/octoprint/dto/printer/markings.dto.js +1 -6
  475. package/dist/services/octoprint/dto/printer/progress.dto.js +1 -6
  476. package/dist/services/octoprint/dto/printer/resends.dto.js +1 -6
  477. package/dist/services/octoprint/dto/printer/state.dto.js +1 -6
  478. package/dist/services/octoprint/dto/printer/temps.dto.js +1 -6
  479. package/dist/services/octoprint/dto/rest/error.dto.js +1 -6
  480. package/dist/services/octoprint/dto/server/server.dto.js +1 -6
  481. package/dist/services/octoprint/dto/server/version.dto.js +1 -6
  482. package/dist/services/octoprint/dto/settings/serial-settings.dto.js +1 -6
  483. package/dist/services/octoprint/dto/settings/settings-parts.type.js +1 -6
  484. package/dist/services/octoprint/dto/settings/settings.dto.js +1 -6
  485. package/dist/services/octoprint/dto/settings/virtual-printer-settings.dto.js +1 -6
  486. package/dist/services/octoprint/dto/system/system-info.dto.js +32 -39
  487. package/dist/services/octoprint/dto/system/system-info.dto.js.map +1 -1
  488. package/dist/services/octoprint/dto/websocket/connection-message.dto.js +1 -6
  489. package/dist/services/octoprint/dto/websocket/current-message.dto.js +1 -6
  490. package/dist/services/octoprint/dto/websocket/event-message.dto.js +1 -6
  491. package/dist/services/octoprint/dto/websocket/event.type.js +42 -49
  492. package/dist/services/octoprint/dto/websocket/event.type.js.map +1 -1
  493. package/dist/services/octoprint/dto/websocket/history-message.dto.js +1 -6
  494. package/dist/services/octoprint/dto/websocket/plugin-message.dto.js +1 -6
  495. package/dist/services/octoprint/dto/websocket/timelapse-message.dto.js +1 -6
  496. package/dist/services/octoprint/octoprint-api.routes.js +77 -94
  497. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
  498. package/dist/services/octoprint/octoprint-websocket.adapter.js +265 -315
  499. package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
  500. package/dist/services/octoprint/octoprint.client.js +220 -261
  501. package/dist/services/octoprint/octoprint.client.js.map +1 -1
  502. package/dist/services/octoprint/utils/api.utils.js +15 -32
  503. package/dist/services/octoprint/utils/api.utils.js.map +1 -1
  504. package/dist/services/octoprint/utils/file.utils.js +44 -67
  505. package/dist/services/octoprint/utils/file.utils.js.map +1 -1
  506. package/dist/services/octoprint/utils/octoprint-http-client.builder.js +16 -29
  507. package/dist/services/octoprint/utils/octoprint-http-client.builder.js.map +1 -1
  508. package/dist/services/octoprint.api.js +113 -128
  509. package/dist/services/octoprint.api.js.map +1 -1
  510. package/dist/services/orm/base.interface.js +1 -6
  511. package/dist/services/orm/base.service.js +57 -73
  512. package/dist/services/orm/base.service.js.map +1 -1
  513. package/dist/services/orm/camera-stream.service.js +21 -27
  514. package/dist/services/orm/camera-stream.service.js.map +1 -1
  515. package/dist/services/orm/floor-position.service.js +42 -49
  516. package/dist/services/orm/floor-position.service.js.map +1 -1
  517. package/dist/services/orm/floor.service.js +110 -138
  518. package/dist/services/orm/floor.service.js.map +1 -1
  519. package/dist/services/orm/permission.service.js +16 -23
  520. package/dist/services/orm/permission.service.js.map +1 -1
  521. package/dist/services/orm/print-job.service.js +443 -545
  522. package/dist/services/orm/print-job.service.js.map +1 -1
  523. package/dist/services/orm/printer-maintenance-log.service.js +102 -149
  524. package/dist/services/orm/printer-maintenance-log.service.js.map +1 -1
  525. package/dist/services/orm/printer-tag.service.js +93 -118
  526. package/dist/services/orm/printer-tag.service.js.map +1 -1
  527. package/dist/services/orm/printer.service.js +110 -158
  528. package/dist/services/orm/printer.service.js.map +1 -1
  529. package/dist/services/orm/refresh-token.service.js +69 -99
  530. package/dist/services/orm/refresh-token.service.js.map +1 -1
  531. package/dist/services/orm/role.service.js +99 -116
  532. package/dist/services/orm/role.service.js.map +1 -1
  533. package/dist/services/orm/settings.service.js +84 -94
  534. package/dist/services/orm/settings.service.js.map +1 -1
  535. package/dist/services/orm/user-role.service.js +39 -53
  536. package/dist/services/orm/user-role.service.js.map +1 -1
  537. package/dist/services/orm/user.service.js +142 -189
  538. package/dist/services/orm/user.service.js.map +1 -1
  539. package/dist/services/print-file-downloader.service.js +153 -167
  540. package/dist/services/print-file-downloader.service.js.map +1 -1
  541. package/dist/services/print-queue.service.js +240 -326
  542. package/dist/services/print-queue.service.js.map +1 -1
  543. package/dist/services/printer-api.factory.js +26 -43
  544. package/dist/services/printer-api.factory.js.map +1 -1
  545. package/dist/services/printer-api.interface.js +23 -53
  546. package/dist/services/printer-api.interface.js.map +1 -1
  547. package/dist/services/prusa-link/constants/prusalink-event.dto.js +9 -16
  548. package/dist/services/prusa-link/constants/prusalink-event.dto.js.map +1 -1
  549. package/dist/services/prusa-link/constants/prusalink.constants.js +4 -11
  550. package/dist/services/prusa-link/constants/prusalink.constants.js.map +1 -1
  551. package/dist/services/prusa-link/dto/file-response.dto.js +1 -6
  552. package/dist/services/prusa-link/dto/file.dto.js +1 -6
  553. package/dist/services/prusa-link/dto/job-state.dto.js +1 -6
  554. package/dist/services/prusa-link/dto/printer-state.dto.js +1 -6
  555. package/dist/services/prusa-link/dto/status.dto.js +1 -6
  556. package/dist/services/prusa-link/dto/version.dto.js +1 -6
  557. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js +141 -157
  558. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js.map +1 -1
  559. package/dist/services/prusa-link/prusa-link.api.js +206 -240
  560. package/dist/services/prusa-link/prusa-link.api.js.map +1 -1
  561. package/dist/services/prusa-link/utils/digest-auth.params.js +1 -6
  562. package/dist/services/prusa-link/utils/digest-auth.util.js +17 -24
  563. package/dist/services/prusa-link/utils/digest-auth.util.js.map +1 -1
  564. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js +92 -129
  565. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js.map +1 -1
  566. package/dist/services/socket.factory.js +21 -36
  567. package/dist/services/socket.factory.js.map +1 -1
  568. package/dist/services/task-manager.service.js +190 -174
  569. package/dist/services/task-manager.service.js.map +1 -1
  570. package/dist/services/typeorm/typeorm.service.js +31 -46
  571. package/dist/services/typeorm/typeorm.service.js.map +1 -1
  572. package/dist/services/validators/floor-service.validation.js +26 -63
  573. package/dist/services/validators/floor-service.validation.js.map +1 -1
  574. package/dist/services/validators/print-job.validation.js +11 -26
  575. package/dist/services/validators/print-job.validation.js.map +1 -1
  576. package/dist/services/validators/printer-maintenance-log.validation.js +17 -37
  577. package/dist/services/validators/printer-maintenance-log.validation.js.map +1 -1
  578. package/dist/services/validators/printer-service.validation.js +60 -125
  579. package/dist/services/validators/printer-service.validation.js.map +1 -1
  580. package/dist/services/validators/settings-service.validation.js +46 -106
  581. package/dist/services/validators/settings-service.validation.js.map +1 -1
  582. package/dist/services/validators/user-service.validation.js +19 -36
  583. package/dist/services/validators/user-service.validation.js.map +1 -1
  584. package/dist/services/validators/yaml-service.validation.js +96 -132
  585. package/dist/services/validators/yaml-service.validation.js.map +1 -1
  586. package/dist/services/websocket-adapter.interface.js +1 -6
  587. package/dist/shared/default-http-client.builder.js +74 -92
  588. package/dist/shared/default-http-client.builder.js.map +1 -1
  589. package/dist/shared/dtos/api-state.type.js +8 -15
  590. package/dist/shared/dtos/api-state.type.js.map +1 -1
  591. package/dist/shared/dtos/socket-login.dto.js +1 -6
  592. package/dist/shared/dtos/socket-state.type.js +11 -18
  593. package/dist/shared/dtos/socket-state.type.js.map +1 -1
  594. package/dist/shared/load-controllers.js +41 -19
  595. package/dist/shared/load-controllers.js.map +1 -1
  596. package/dist/shared/runtime-settings.migration.js +43 -50
  597. package/dist/shared/runtime-settings.migration.js.map +1 -1
  598. package/dist/shared/websocket-rpc-extended.adapter.js +74 -75
  599. package/dist/shared/websocket-rpc-extended.adapter.js.map +1 -1
  600. package/dist/shared/websocket.adapter.js +78 -63
  601. package/dist/shared/websocket.adapter.js.map +1 -1
  602. package/dist/state/file-upload-tracker.cache.js +63 -75
  603. package/dist/state/file-upload-tracker.cache.js.map +1 -1
  604. package/dist/state/floor.store.js +77 -89
  605. package/dist/state/floor.store.js.map +1 -1
  606. package/dist/state/printer-events.cache.js +237 -295
  607. package/dist/state/printer-events.cache.js.map +1 -1
  608. package/dist/state/printer-socket.store.js +156 -174
  609. package/dist/state/printer-socket.store.js.map +1 -1
  610. package/dist/state/printer-thumbnail.cache.js +129 -130
  611. package/dist/state/printer-thumbnail.cache.js.map +1 -1
  612. package/dist/state/printer.cache.js +87 -102
  613. package/dist/state/printer.cache.js.map +1 -1
  614. package/dist/state/settings.store.js +211 -234
  615. package/dist/state/settings.store.js.map +1 -1
  616. package/dist/state/socket-io.gateway.js +58 -87
  617. package/dist/state/socket-io.gateway.js.map +1 -1
  618. package/dist/state/test-printer-socket.store.js +116 -137
  619. package/dist/state/test-printer-socket.store.js.map +1 -1
  620. package/dist/state/validation/create-test-printer.validation.js +14 -21
  621. package/dist/state/validation/create-test-printer.validation.js.map +1 -1
  622. package/dist/task.presets.js +30 -37
  623. package/dist/task.presets.js.map +1 -1
  624. package/dist/tasks/boot.task.js +100 -128
  625. package/dist/tasks/boot.task.js.map +1 -1
  626. package/dist/tasks/client-bundle.task.js +20 -28
  627. package/dist/tasks/client-bundle.task.js.map +1 -1
  628. package/dist/tasks/print-job-analysis.task.js +88 -113
  629. package/dist/tasks/print-job-analysis.task.js.map +1 -1
  630. package/dist/tasks/printer-websocket-restore.task.js +41 -54
  631. package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
  632. package/dist/tasks/printer-websocket.task.js +11 -19
  633. package/dist/tasks/printer-websocket.task.js.map +1 -1
  634. package/dist/tasks/socketio.task.js +35 -53
  635. package/dist/tasks/socketio.task.js.map +1 -1
  636. package/dist/tasks/software-update.task.js +12 -20
  637. package/dist/tasks/software-update.task.js.map +1 -1
  638. package/dist/tasks.js +27 -41
  639. package/dist/tasks.js.map +1 -1
  640. package/dist/types/express/index.d.js +1 -6
  641. package/dist/types/virtual-modules.d.js +1 -0
  642. package/dist/utils/array.util.js +9 -24
  643. package/dist/utils/array.util.js.map +1 -1
  644. package/dist/utils/bgcode/bgcode-thumbnail.parser.js +26 -44
  645. package/dist/utils/bgcode/bgcode-thumbnail.parser.js.map +1 -1
  646. package/dist/utils/bgcode/bgcode.constants.js +9 -45
  647. package/dist/utils/bgcode/bgcode.constants.js.map +1 -1
  648. package/dist/utils/bgcode/bgcode.types.js +57 -106
  649. package/dist/utils/bgcode/bgcode.types.js.map +1 -1
  650. package/dist/utils/bgcode/bgcode.utils.js +167 -256
  651. package/dist/utils/bgcode/bgcode.utils.js.map +1 -1
  652. package/dist/utils/bgcode/heatshrink-decoder.js +130 -170
  653. package/dist/utils/bgcode/heatshrink-decoder.js.map +1 -1
  654. package/dist/utils/bgcode/png-encoder.js +53 -66
  655. package/dist/utils/bgcode/png-encoder.js.map +1 -1
  656. package/dist/utils/bgcode/qoi-decoder.js +116 -135
  657. package/dist/utils/bgcode/qoi-decoder.js.map +1 -1
  658. package/dist/utils/cache/key-diff.cache.js +56 -85
  659. package/dist/utils/cache/key-diff.cache.js.map +1 -1
  660. package/dist/utils/correlation-token.util.js +4 -11
  661. package/dist/utils/correlation-token.util.js.map +1 -1
  662. package/dist/utils/crypto.utils.js +7 -23
  663. package/dist/utils/crypto.utils.js.map +1 -1
  664. package/dist/utils/env.utils.js +14 -49
  665. package/dist/utils/env.utils.js.map +1 -1
  666. package/dist/utils/error.utils.js +4 -11
  667. package/dist/utils/error.utils.js.map +1 -1
  668. package/dist/utils/fs.utils.js +26 -49
  669. package/dist/utils/fs.utils.js.map +1 -1
  670. package/dist/utils/gcode.utils.js +30 -43
  671. package/dist/utils/gcode.utils.js.map +1 -1
  672. package/dist/utils/image-dimensions.js +39 -54
  673. package/dist/utils/image-dimensions.js.map +1 -1
  674. package/dist/utils/job-stats.util.js +41 -72
  675. package/dist/utils/job-stats.util.js.map +1 -1
  676. package/dist/utils/normalize-url.js +135 -203
  677. package/dist/utils/normalize-url.js.map +1 -1
  678. package/dist/utils/parsers/3mf.parser.js +298 -365
  679. package/dist/utils/parsers/3mf.parser.js.map +1 -1
  680. package/dist/utils/parsers/bgcode.parser.js +149 -202
  681. package/dist/utils/parsers/bgcode.parser.js.map +1 -1
  682. package/dist/utils/parsers/gcode.parser.js +200 -263
  683. package/dist/utils/parsers/gcode.parser.js.map +1 -1
  684. package/dist/utils/parsers/parser.types.js +1 -6
  685. package/dist/utils/pretty-print.utils.js +5 -20
  686. package/dist/utils/pretty-print.utils.js.map +1 -1
  687. package/dist/utils/semver.utils.js +10 -26
  688. package/dist/utils/semver.utils.js.map +1 -1
  689. package/dist/utils/swagger/decorators.js +14 -32
  690. package/dist/utils/swagger/decorators.js.map +1 -1
  691. package/dist/utils/swagger/generator.js +151 -194
  692. package/dist/utils/swagger/generator.js.map +1 -1
  693. package/dist/utils/swagger/swagger.js +40 -51
  694. package/dist/utils/swagger/swagger.js.map +1 -1
  695. package/dist/utils/thumbnail.util.js +11 -20
  696. package/dist/utils/thumbnail.util.js.map +1 -1
  697. package/dist/utils/time.utils.js +4 -12
  698. package/dist/utils/time.utils.js.map +1 -1
  699. package/dist/utils/url.utils.js +9 -27
  700. package/dist/utils/url.utils.js.map +1 -1
  701. package/package.json +79 -90
  702. package/packages/consoles/package.json +44 -0
  703. package/packages/consoles/tsconfig.json +23 -0
  704. package/packages/consoles/vite.config.ts +15 -0
  705. package/tsconfig.json +10 -6
  706. package/vite.config.ts +62 -0
  707. package/.swcrc +0 -33
  708. package/.yarn/releases/yarn-4.12.0.cjs +0 -942
  709. package/biome.json +0 -36
  710. package/dist/consoles/bambu-mqtt-diagnostic.console.js +0 -565
  711. package/dist/consoles/bambu-mqtt-diagnostic.console.js.map +0 -1
  712. package/dist/consoles/download-github-releases.js +0 -50
  713. package/dist/consoles/download-github-releases.js.map +0 -1
  714. package/dist/consoles/gcode-scanner-poc.console.js +0 -52
  715. package/dist/consoles/gcode-scanner-poc.console.js.map +0 -1
  716. package/dist/consoles/launch-http-servers.js +0 -31
  717. package/dist/consoles/launch-http-servers.js.map +0 -1
  718. package/dist/consoles/mock-bambu.server.js +0 -319
  719. package/dist/consoles/mock-bambu.server.js.map +0 -1
  720. package/dist/consoles/mock-camera/default-image.js +0 -13
  721. package/dist/consoles/mock-camera/default-image.js.map +0 -1
  722. package/dist/consoles/mock-camera/mock-camera.server.js +0 -160
  723. package/dist/consoles/mock-camera/mock-camera.server.js.map +0 -1
  724. package/dist/consoles/mock-octoprint.server.js +0 -499
  725. package/dist/consoles/mock-octoprint.server.js.map +0 -1
  726. package/dist/consoles/mock-prusalink.server.js +0 -57
  727. package/dist/consoles/mock-prusalink.server.js.map +0 -1
  728. package/dist/consoles/moonraker-test.console.js +0 -3
  729. package/dist/consoles/moonraker-test.console.js.map +0 -1
  730. package/dist/consoles/utils/api-messages.js +0 -856
  731. package/dist/consoles/utils/api-messages.js.map +0 -1
  732. package/dist/consoles/utils/delayed-memory.storage.js +0 -42
  733. package/dist/consoles/utils/delayed-memory.storage.js.map +0 -1
  734. package/dist/consoles/utils/ws-messages.js +0 -88
  735. package/dist/consoles/utils/ws-messages.js.map +0 -1
  736. package/dist/entities/index.js.map +0 -1
  737. package/dist/services/bambu/mqtt-message.types.js.map +0 -1
  738. package/dist/services/interfaces/auth.service.interface.js.map +0 -1
  739. package/dist/services/interfaces/camera-stream.service.interface.js.map +0 -1
  740. package/dist/services/interfaces/file-upload-tracker.interface.js.map +0 -1
  741. package/dist/services/interfaces/floor.service.interface.js.map +0 -1
  742. package/dist/services/interfaces/jwt.service.interface.js.map +0 -1
  743. package/dist/services/interfaces/permission.service.interface.js.map +0 -1
  744. package/dist/services/interfaces/printer-file.dto.js.map +0 -1
  745. package/dist/services/interfaces/printer-maintenance-log.dto.js.map +0 -1
  746. package/dist/services/interfaces/printer-tag.service.interface.js.map +0 -1
  747. package/dist/services/interfaces/printer.service.interface.js.map +0 -1
  748. package/dist/services/interfaces/refresh-token.service.interface.js.map +0 -1
  749. package/dist/services/interfaces/role-service.interface.js.map +0 -1
  750. package/dist/services/interfaces/settings.service.interface.js.map +0 -1
  751. package/dist/services/interfaces/tag.dto.js.map +0 -1
  752. package/dist/services/interfaces/task.interfaces.js.map +0 -1
  753. package/dist/services/interfaces/user-service.interface.js.map +0 -1
  754. package/dist/services/moonraker/dto/access/access-info.dto.js.map +0 -1
  755. package/dist/services/moonraker/dto/access/access-login-refresh.dto.js.map +0 -1
  756. package/dist/services/moonraker/dto/access/access-login-result.dto.js.map +0 -1
  757. package/dist/services/moonraker/dto/access/access-user-result.dto.js.map +0 -1
  758. package/dist/services/moonraker/dto/access/access-user.dto.js.map +0 -1
  759. package/dist/services/moonraker/dto/database/database-namespace-item.dto.js.map +0 -1
  760. package/dist/services/moonraker/dto/database/database-namespace-list.dto.js.map +0 -1
  761. package/dist/services/moonraker/dto/gcode-help.dto.js.map +0 -1
  762. package/dist/services/moonraker/dto/gcode-store.dto.js.map +0 -1
  763. package/dist/services/moonraker/dto/job-queue/enqueue-job.dto.js.map +0 -1
  764. package/dist/services/moonraker/dto/job-queue/job-queue-status.dto.js.map +0 -1
  765. package/dist/services/moonraker/dto/machine/machine-device-power-device-state.dto.js.map +0 -1
  766. package/dist/services/moonraker/dto/machine/machine-device-power-devices.dto.js.map +0 -1
  767. package/dist/services/moonraker/dto/machine/machine-peripherals-canbus.dto.js.map +0 -1
  768. package/dist/services/moonraker/dto/machine/machine-peripherals-serial.dto.js.map +0 -1
  769. package/dist/services/moonraker/dto/machine/machine-peripherals-usb.dto.js.map +0 -1
  770. package/dist/services/moonraker/dto/machine/machine-peripherals-video.dto.js.map +0 -1
  771. package/dist/services/moonraker/dto/machine/machine-system-info.dto.js.map +0 -1
  772. package/dist/services/moonraker/dto/machine/machine-update-status.dto.js.map +0 -1
  773. package/dist/services/moonraker/dto/machine/machine-wled-strips.dto.js.map +0 -1
  774. package/dist/services/moonraker/dto/notifier-list.dto.js.map +0 -1
  775. package/dist/services/moonraker/dto/objects/bed-mesh.dto.js.map +0 -1
  776. package/dist/services/moonraker/dto/objects/configfile.dto.js.map +0 -1
  777. package/dist/services/moonraker/dto/objects/display-status.dto.js.map +0 -1
  778. package/dist/services/moonraker/dto/objects/extruder.dto.js.map +0 -1
  779. package/dist/services/moonraker/dto/objects/fan.dto.js.map +0 -1
  780. package/dist/services/moonraker/dto/objects/filament-motion-sensor.dto.js.map +0 -1
  781. package/dist/services/moonraker/dto/objects/filament-switch-sensor.dto.js.map +0 -1
  782. package/dist/services/moonraker/dto/objects/gcode-move.dto.js.map +0 -1
  783. package/dist/services/moonraker/dto/objects/gcode.dto.js.map +0 -1
  784. package/dist/services/moonraker/dto/objects/heater-bed.dto.js.map +0 -1
  785. package/dist/services/moonraker/dto/objects/heaters.dto.js.map +0 -1
  786. package/dist/services/moonraker/dto/objects/mcu.dto.js.map +0 -1
  787. package/dist/services/moonraker/dto/objects/motion-report.dto.js.map +0 -1
  788. package/dist/services/moonraker/dto/objects/output-pin.dto.js.map +0 -1
  789. package/dist/services/moonraker/dto/objects/pause-resume.dto.js.map +0 -1
  790. package/dist/services/moonraker/dto/objects/printer-object.dto.js.map +0 -1
  791. package/dist/services/moonraker/dto/objects/printer-object.types.js.map +0 -1
  792. package/dist/services/moonraker/dto/objects/printer-objects-query.dto.js.map +0 -1
  793. package/dist/services/moonraker/dto/objects/stepper-enable.dto.js.map +0 -1
  794. package/dist/services/moonraker/dto/objects/system-stats.dto.js.map +0 -1
  795. package/dist/services/moonraker/dto/objects/temperature-fan.dto.js.map +0 -1
  796. package/dist/services/moonraker/dto/objects/temperature-sensor.dto.js.map +0 -1
  797. package/dist/services/moonraker/dto/objects/toolhead.dto.js.map +0 -1
  798. package/dist/services/moonraker/dto/objects/virtual-sdcard.dto.js.map +0 -1
  799. package/dist/services/moonraker/dto/objects/webhooks.dto.js.map +0 -1
  800. package/dist/services/moonraker/dto/octoprint-compat/api-job.dto.js.map +0 -1
  801. package/dist/services/moonraker/dto/octoprint-compat/api-login.dto.js.map +0 -1
  802. package/dist/services/moonraker/dto/octoprint-compat/api-printer.dto.js.map +0 -1
  803. package/dist/services/moonraker/dto/octoprint-compat/api-profiles.dto.js.map +0 -1
  804. package/dist/services/moonraker/dto/octoprint-compat/api-settings.dto.js.map +0 -1
  805. package/dist/services/moonraker/dto/octoprint-compat/api-version.dto.js.map +0 -1
  806. package/dist/services/moonraker/dto/octoprint-compat/server-version.dto.js.map +0 -1
  807. package/dist/services/moonraker/dto/printer-query-endstops.dto.js.map +0 -1
  808. package/dist/services/moonraker/dto/process-stats.dto.js.map +0 -1
  809. package/dist/services/moonraker/dto/rest/action-result.dto.js.map +0 -1
  810. package/dist/services/moonraker/dto/rest/error.dto.js.map +0 -1
  811. package/dist/services/moonraker/dto/rollover-logs.dto.js.map +0 -1
  812. package/dist/services/moonraker/dto/rpc/json-rpc-error.dto.js.map +0 -1
  813. package/dist/services/moonraker/dto/rpc/json-rpc-request.dto.js.map +0 -1
  814. package/dist/services/moonraker/dto/rpc/json-rpc-response.dto.js.map +0 -1
  815. package/dist/services/moonraker/dto/server/server-config.dto.js.map +0 -1
  816. package/dist/services/moonraker/dto/server-announcements/announcement-action.dto.js.map +0 -1
  817. package/dist/services/moonraker/dto/server-announcements/announcement-entry-id.dto.js.map +0 -1
  818. package/dist/services/moonraker/dto/server-announcements/announcement-feeds.dto.js.map +0 -1
  819. package/dist/services/moonraker/dto/server-announcements/announcement-list.dto.js.map +0 -1
  820. package/dist/services/moonraker/dto/server-files/server-file-directory-action.dto.js.map +0 -1
  821. package/dist/services/moonraker/dto/server-files/server-file-directory-info.dto.js.map +0 -1
  822. package/dist/services/moonraker/dto/server-files/server-file-metadata.dto.js.map +0 -1
  823. package/dist/services/moonraker/dto/server-files/server-file-root.dto.js.map +0 -1
  824. package/dist/services/moonraker/dto/server-files/server-file-thumbnail.dto.js.map +0 -1
  825. package/dist/services/moonraker/dto/server-files/server-file-zip-action.dto.js.map +0 -1
  826. package/dist/services/moonraker/dto/server-files/server-file.dto.js.map +0 -1
  827. package/dist/services/moonraker/dto/server-history/history-job.dto.js.map +0 -1
  828. package/dist/services/moonraker/dto/server-history/history-last-totals.dto.js.map +0 -1
  829. package/dist/services/moonraker/dto/server-history/history-list.dto.js.map +0 -1
  830. package/dist/services/moonraker/dto/server-history/history-totals.dto.js.map +0 -1
  831. package/dist/services/moonraker/dto/server-sensors/sensor-info.dto.js.map +0 -1
  832. package/dist/services/moonraker/dto/server-sensors/sensor-list.dto.js.map +0 -1
  833. package/dist/services/moonraker/dto/server-sensors/sensor-measurements.dto.js.map +0 -1
  834. package/dist/services/moonraker/dto/server-webcams/webcam-item.dto.js.map +0 -1
  835. package/dist/services/moonraker/dto/server-webcams/webcam-list.dto.js.map +0 -1
  836. package/dist/services/moonraker/dto/server-webcams/webcam-test.dto.js.map +0 -1
  837. package/dist/services/moonraker/dto/spoolman/spoolman-active-spool.dto.js.map +0 -1
  838. package/dist/services/moonraker/dto/spoolman/spoolman-proxy-request.dto.js.map +0 -1
  839. package/dist/services/moonraker/dto/spoolman/spoolman-response.dto.js.map +0 -1
  840. package/dist/services/moonraker/dto/spoolman/spoolman-status.dto.js.map +0 -1
  841. package/dist/services/moonraker/dto/sudo-info.dto.js.map +0 -1
  842. package/dist/services/moonraker/dto/sudo-response.dto.js.map +0 -1
  843. package/dist/services/moonraker/dto/temperature-store.dto.js.map +0 -1
  844. package/dist/services/moonraker/dto/websocket/connection-identify-response.dto.js.map +0 -1
  845. package/dist/services/moonraker/dto/websocket/connection-identify.dto.js.map +0 -1
  846. package/dist/services/moonraker/dto/websocket/json-rpc-event.dto.js.map +0 -1
  847. package/dist/services/moonraker/dto/websocket/message.types.js.map +0 -1
  848. package/dist/services/moonraker/dto/websocket/notify-active-spool-set.params.js.map +0 -1
  849. package/dist/services/moonraker/dto/websocket/notify-agent-event.params.js.map +0 -1
  850. package/dist/services/moonraker/dto/websocket/notify-announcement-update.params.js.map +0 -1
  851. package/dist/services/moonraker/dto/websocket/notify-announcement.params.js.map +0 -1
  852. package/dist/services/moonraker/dto/websocket/notify-button-event.params.js.map +0 -1
  853. package/dist/services/moonraker/dto/websocket/notify-history-changed.params.js.map +0 -1
  854. package/dist/services/moonraker/dto/websocket/notify-job-queue-changed.params.js.map +0 -1
  855. package/dist/services/moonraker/dto/websocket/notify-proc-stat-update.params.js.map +0 -1
  856. package/dist/services/moonraker/dto/websocket/notify-sensor-update.params.js.map +0 -1
  857. package/dist/services/moonraker/dto/websocket/notify-service-state-changed.params.js.map +0 -1
  858. package/dist/services/moonraker/dto/websocket/notify-spoolman-status-changed.js.map +0 -1
  859. package/dist/services/moonraker/dto/websocket/notify-sudo-alert.params.js.map +0 -1
  860. package/dist/services/moonraker/dto/websocket/notify-user-change.params.js.map +0 -1
  861. package/dist/services/octoprint/dto/access/user-list.dto.js.map +0 -1
  862. package/dist/services/octoprint/dto/access/user.dto.js.map +0 -1
  863. package/dist/services/octoprint/dto/auth/current-user.dto.js.map +0 -1
  864. package/dist/services/octoprint/dto/auth/login.dto.js.map +0 -1
  865. package/dist/services/octoprint/dto/connection/connection.dto.js.map +0 -1
  866. package/dist/services/octoprint/dto/events/client-authed.dto.js.map +0 -1
  867. package/dist/services/octoprint/dto/events/client-closed.dto.js.map +0 -1
  868. package/dist/services/octoprint/dto/events/client-opened.dto.js.map +0 -1
  869. package/dist/services/octoprint/dto/events/dwelling.dto.js.map +0 -1
  870. package/dist/services/octoprint/dto/events/file-added.dto.js.map +0 -1
  871. package/dist/services/octoprint/dto/events/file-deselected.dto.js.map +0 -1
  872. package/dist/services/octoprint/dto/events/file-removed.dto.js.map +0 -1
  873. package/dist/services/octoprint/dto/events/folder-added.dto.js.map +0 -1
  874. package/dist/services/octoprint/dto/events/home.dto.js.map +0 -1
  875. package/dist/services/octoprint/dto/events/metadata-analysis-finished.dto.js.map +0 -1
  876. package/dist/services/octoprint/dto/events/metadata-analysis-started.dto.js.map +0 -1
  877. package/dist/services/octoprint/dto/events/metadata-statistics-updated.dto.js.map +0 -1
  878. package/dist/services/octoprint/dto/events/position-update.dto.js.map +0 -1
  879. package/dist/services/octoprint/dto/events/print-cancelled.dto.js.map +0 -1
  880. package/dist/services/octoprint/dto/events/print-cancelling.dto.js.map +0 -1
  881. package/dist/services/octoprint/dto/events/print-done.dto.js.map +0 -1
  882. package/dist/services/octoprint/dto/events/print-failed.dto.js.map +0 -1
  883. package/dist/services/octoprint/dto/events/print-paused.dto.js.map +0 -1
  884. package/dist/services/octoprint/dto/events/print-resumed.dto.js.map +0 -1
  885. package/dist/services/octoprint/dto/events/print-started.dto.js.map +0 -1
  886. package/dist/services/octoprint/dto/events/printer-state-changed.dto.js.map +0 -1
  887. package/dist/services/octoprint/dto/events/transfer-done.dto.js.map +0 -1
  888. package/dist/services/octoprint/dto/events/transfer-started.dto.js.map +0 -1
  889. package/dist/services/octoprint/dto/events/updated-files.dto.js.map +0 -1
  890. package/dist/services/octoprint/dto/events/upload.dto.js.map +0 -1
  891. package/dist/services/octoprint/dto/events/user-logged-in.dto.js.map +0 -1
  892. package/dist/services/octoprint/dto/events/z-change.dto.js.map +0 -1
  893. package/dist/services/octoprint/dto/files/gcode-analysis.dto.js.map +0 -1
  894. package/dist/services/octoprint/dto/files/octoprint-file.dto.js.map +0 -1
  895. package/dist/services/octoprint/dto/files/octoprint-files-response.dto.js.map +0 -1
  896. package/dist/services/octoprint/dto/job/job.dto.js.map +0 -1
  897. package/dist/services/octoprint/dto/printer/busy-file.dto.js.map +0 -1
  898. package/dist/services/octoprint/dto/printer/current-printer-state.dto.js.map +0 -1
  899. package/dist/services/octoprint/dto/printer/flags.dto.js.map +0 -1
  900. package/dist/services/octoprint/dto/printer/markings.dto.js.map +0 -1
  901. package/dist/services/octoprint/dto/printer/progress.dto.js.map +0 -1
  902. package/dist/services/octoprint/dto/printer/resends.dto.js.map +0 -1
  903. package/dist/services/octoprint/dto/printer/state.dto.js.map +0 -1
  904. package/dist/services/octoprint/dto/printer/temps.dto.js.map +0 -1
  905. package/dist/services/octoprint/dto/rest/error.dto.js.map +0 -1
  906. package/dist/services/octoprint/dto/server/server.dto.js.map +0 -1
  907. package/dist/services/octoprint/dto/server/version.dto.js.map +0 -1
  908. package/dist/services/octoprint/dto/settings/serial-settings.dto.js.map +0 -1
  909. package/dist/services/octoprint/dto/settings/settings-parts.type.js.map +0 -1
  910. package/dist/services/octoprint/dto/settings/settings.dto.js.map +0 -1
  911. package/dist/services/octoprint/dto/settings/virtual-printer-settings.dto.js.map +0 -1
  912. package/dist/services/octoprint/dto/websocket/connection-message.dto.js.map +0 -1
  913. package/dist/services/octoprint/dto/websocket/current-message.dto.js.map +0 -1
  914. package/dist/services/octoprint/dto/websocket/event-message.dto.js.map +0 -1
  915. package/dist/services/octoprint/dto/websocket/history-message.dto.js.map +0 -1
  916. package/dist/services/octoprint/dto/websocket/plugin-message.dto.js.map +0 -1
  917. package/dist/services/octoprint/dto/websocket/timelapse-message.dto.js.map +0 -1
  918. package/dist/services/orm/base.interface.js.map +0 -1
  919. package/dist/services/prusa-link/dto/file-response.dto.js.map +0 -1
  920. package/dist/services/prusa-link/dto/file.dto.js.map +0 -1
  921. package/dist/services/prusa-link/dto/job-state.dto.js.map +0 -1
  922. package/dist/services/prusa-link/dto/printer-state.dto.js.map +0 -1
  923. package/dist/services/prusa-link/dto/status.dto.js.map +0 -1
  924. package/dist/services/prusa-link/dto/version.dto.js.map +0 -1
  925. package/dist/services/prusa-link/utils/digest-auth.params.js.map +0 -1
  926. package/dist/services/websocket-adapter.interface.js.map +0 -1
  927. package/dist/shared/dtos/socket-login.dto.js.map +0 -1
  928. package/dist/types/express/index.d.js.map +0 -1
  929. package/dist/utils/parsers/parser.types.js.map +0 -1
@@ -1,561 +1,538 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "MoonrakerClient", {
6
- enumerable: true,
7
- get: function() {
8
- return MoonrakerClient;
9
- }
10
- });
11
- const _formdata = /*#__PURE__*/ _interop_require_default(require("form-data"));
12
- const _eventconstants = require("../../constants/event.constants");
13
- const _defaulthttpclientbuilder = require("../../shared/default-http-client.builder");
14
- const _runtimeexceptions = require("../../exceptions/runtime.exceptions");
15
- function _interop_require_default(obj) {
16
- return obj && obj.__esModule ? obj : {
17
- default: obj
18
- };
19
- }
20
- class MoonrakerClient {
21
- httpClientFactory;
22
- eventEmitter2;
23
- settingsStore;
24
- logger;
25
- constructor(loggerFactory, httpClientFactory, eventEmitter2, settingsStore){
26
- this.httpClientFactory = httpClientFactory;
27
- this.eventEmitter2 = eventEmitter2;
28
- this.settingsStore = settingsStore;
29
- this.logger = loggerFactory(MoonrakerClient.name);
30
- }
31
- async getServerInfo(login) {
32
- return this.createClient(login).get("/server/info");
33
- }
34
- async getServerConfig(login) {
35
- return this.createClient(login).get("/server/config");
36
- }
37
- async getTemperatureStore(login, includeMonitors = false) {
38
- return this.createClient(login).get(`/server/temperature_store?include_monitors=${!!includeMonitors}`);
39
- }
40
- async getGcodeStore(login, count = 100) {
41
- return this.createClient(login).get(`/server/gcode_store?count=${count}`);
42
- }
43
- async postRolloverLogs(login, application = "") {
44
- return this.createClient(login).post(`server/logs/rollover`, {
45
- application
46
- });
47
- }
48
- async postRestartServer(login) {
49
- return this.createClient(login).post(`server/restart`);
50
- }
51
- async postJsonRpc(login, method, params, id) {
52
- return this.createClient(login).post(`server/jsonrpc`, {
53
- jsonrpc: "2.0",
54
- id: id ? id : 0,
55
- method,
56
- params
57
- });
58
- }
59
- async getPrinterInfo(login) {
60
- return this.createClient(login).post(`printer/info`);
61
- }
62
- async postQuickStop(login) {
63
- return this.createClient(login).post(`printer/emergency_stop`);
64
- }
65
- async postHostRestart(login) {
66
- return this.createClient(login).post(`printer/restart`);
67
- }
68
- async postFirmwareRestart(login) {
69
- return this.createClient(login).post(`printer/firmware_restart`);
70
- }
71
- async getPrinterObjectsList(login) {
72
- return this.createClient(login).get(`printer/objects/list`);
73
- }
74
- async getPrinterObjectsQuery(login, query) {
75
- const queryString = this.convertToQueryString(query);
76
- return this.createClient(login).get(`printer/objects/query?${queryString}`);
77
- }
78
- postSubscribePrinterObjects(login, connectionId, query) {
79
- const queryString = this.convertToQueryString(query);
80
- return this.createClient(login).post(`printer/objects/subscribe?connection_id=${connectionId}&${queryString}`);
81
- }
82
- async getPrinterQueryEndstops(login) {
83
- return this.createClient(login).get(`printer/query-endstops`);
84
- }
85
- async postGcodeScript(login, script = "G28") {
86
- return this.createClient(login).get(`printer/gcode/script?script=${script}`);
87
- }
88
- async getGcodeHelp(login) {
89
- return this.createClient(login).get(`printer/gcode/help`);
90
- }
91
- async postPrintStart(login, filename) {
92
- return this.createClient(login).post(`printer/print/start?filename=${filename}`);
93
- }
94
- async postPrintPause(login) {
95
- return this.createClient(login).post(`printer/print/pause`);
96
- }
97
- async postPrintResume(login) {
98
- return this.createClient(login).post(`printer/print/resume`);
99
- }
100
- async postPrintCancel(login) {
101
- return this.createClient(login).post(`printer/print/cancel`);
102
- }
103
- async getMachineSystemInfo(login) {
104
- return this.createClient(login).get(`machine/system_info`);
105
- }
106
- async postMachineShutdown(login) {
107
- return this.createClient(login).post(`machine/shutdown`);
108
- }
109
- async postMachineReboot(login) {
110
- return this.createClient(login).post(`machine/reboot`);
111
- }
112
- async postMachineRestartService(login, service) {
113
- return this.createClient(login).post(`machine/services/restart?service=${service}`);
114
- }
115
- async postMachineStartService(login, service) {
116
- return this.createClient(login).post(`machine/services/restart?service=${service}`);
117
- }
118
- async postMachineProcessStats(login) {
119
- return this.createClient(login).post(`machine/proc_stats`);
120
- }
121
- async getMachineSudoInfo(login, checkAccess = false) {
122
- return this.createClient(login).get(`machine/sudo/info?check_access=${checkAccess}`);
123
- }
124
- async postMachineSetSudoPassword(login, password) {
125
- return this.createClient(login).post(`machine/sudo/password`, {
126
- password
127
- });
128
- }
129
- async getMachineListPeripheralsUsb(login) {
130
- return this.createClient(login).get(`machine/peripherals/usb`);
131
- }
132
- async getMachineListPeripheralsSerial(login) {
133
- return this.createClient(login).get(`machine/peripherals/serial`);
134
- }
135
- async getMachineListPeripheralsVideo(login) {
136
- return this.createClient(login).get(`machine/peripherals/video`);
137
- }
138
- async getMachineListPeripheralsCanbus(login, canInterface = "can0") {
139
- return this.createClient(login).get(`machine/peripherals/canbus?interface=${canInterface}`);
140
- }
141
- async getServerFilesList(login, rootFolder = "") {
142
- const paramString = rootFolder?.length ? `?root=${rootFolder}` : "";
143
- return this.createClient(login).get(`server/files/list${paramString}`);
144
- }
145
- async getServerFilesRoots(login) {
146
- return this.createClient(login).get(`server/files/roots`);
147
- }
148
- async getServerFileMetadata(login, filename) {
149
- return this.createClient(login).get(`server/files/metadata?filename=${filename}`);
150
- }
151
- async getServerFileMetadataScan(login, filename) {
152
- return this.createClient(login).get(`server/files/metascan?filename=${filename}`);
153
- }
154
- async getServerFilesThumbnails(login, filename) {
155
- return this.createClient(login).get(`server/files/thumbnails?filename=${filename}`);
156
- }
157
- async getServerFilesDirectoryInfo(login, path, extended) {
158
- return this.createClient(login).get(`server/files/directory?path=${path}&extended=${extended}`);
159
- }
160
- async postServerFilesDirectory(login, path) {
161
- return this.createClient(login).post(`server/files/directory`, {
162
- path
163
- });
164
- }
165
- async deleteServerFilesDirectory(login, path, force) {
166
- return this.createClient(login).delete(`server/files/directory?path=${path}&force=${!!force}`);
167
- }
168
- async postServerFilesMove(login, source, dest) {
169
- return this.createClient(login).post(`server/files/directory`, {
170
- source,
171
- dest
172
- });
173
- }
174
- async postServerFilesCopy(login, source, dest) {
175
- return this.createClient(login).post(`server/files/copy`, {
176
- source,
177
- dest
178
- });
179
- }
180
- async postServerFilesZip(login, items, dest, store_only) {
181
- return this.createClient(login).post(`server/files/zip`, {
182
- items,
183
- store_only,
184
- dest
185
- });
186
- }
187
- async getServerFilesDownload(login, root, filename) {
188
- return await this.createClient(login).get(`server/files/${root}/${filename}`, {
189
- responseType: "stream"
190
- });
191
- }
192
- async getServerFilesDownloadChunk(login, root, filename, startBytes, endBytes) {
193
- return await this.createClient(login).get(`server/files/${root}/${filename}`, {
194
- headers: {
195
- Range: `bytes=${startBytes}-${endBytes}`
196
- }
197
- });
198
- }
199
- async postServerFileUpload(login, stream, fileName, contentLength, startPrint, progressToken, root, path, checksum) {
200
- const formData = new _formdata.default();
201
- if (root?.length) {
202
- formData.append("root", root);
203
- }
204
- if (path?.length) {
205
- formData.append("path", path);
206
- }
207
- if (checksum?.length) {
208
- formData.append("checksum", checksum);
209
- }
210
- if (startPrint) {
211
- formData.append("print", "true");
212
- }
213
- formData.append("file", stream, {
214
- filename: fileName,
215
- knownLength: contentLength
216
- });
217
- const result = await new Promise((resolve, reject)=>{
218
- return formData.getLength((err, length)=>{
219
- if (err) reject(new Error("Could not retrieve formData length"));
220
- resolve(length);
221
- });
222
- });
223
- try {
224
- const response = await this.createClient(login, (b)=>{
225
- b.withMultiPartFormData().withTimeout(this.settingsStore.getTimeoutSettings().apiUploadTimeout).withHeaders({
226
- ...formData.getHeaders(),
227
- "Content-Length": result.toString()
228
- }).withOnUploadProgress((p)=>{
229
- if (progressToken) {
230
- this.eventEmitter2.emit(`${(0, _eventconstants.uploadProgressEvent)(progressToken)}`, progressToken, p);
231
- }
232
- });
233
- }).post(`server/files/upload`, formData);
234
- if (progressToken) {
235
- this.eventEmitter2.emit(`${(0, _eventconstants.uploadDoneEvent)(progressToken)}`, progressToken);
236
- }
237
- return response.data;
238
- } catch (e) {
239
- if (progressToken) {
240
- this.eventEmitter2.emit(`${(0, _eventconstants.uploadFailedEvent)(progressToken)}`, progressToken, e?.message);
241
- }
242
- let data;
243
- try {
244
- data = JSON.parse(e.response?.body);
245
- } catch {
246
- data = e.response?.body;
247
- }
248
- throw new _runtimeexceptions.ExternalServiceError({
249
- error: e.message,
250
- statusCode: e.response?.statusCode,
251
- data,
252
- success: false,
253
- stack: e.stack
254
- }, "Moonraker");
255
- }
256
- }
257
- async deleteServerFile(login, root, path) {
258
- const url = `server/files/${root}/${path}`;
259
- return this.createClient(login).delete(url);
260
- }
261
- async getServerFileKlippyLogDownload(login) {
262
- return this.createClient(login).get(`server/files/klippy.log`);
263
- }
264
- async getServerFileMoonrakerLogDownload(login) {
265
- return this.createClient(login).get(`server/files/moonraker.log`);
266
- }
267
- async postAccessLoginUser(login, username, password, source = "moonraker") {
268
- return this.createClient(login).post("/access/login", {
269
- username,
270
- password,
271
- source
272
- });
273
- }
274
- async postAccessLogoutUser(login) {
275
- return this.createClient(login).post(`access/logout`);
276
- }
277
- async getAccessUser(login) {
278
- return this.createClient(login).get(`access/user`);
279
- }
280
- async postAccessCreateUser(login, username, password) {
281
- return this.createClient(login).post(`access/login`, {
282
- username,
283
- password
284
- });
285
- }
286
- async deleteAccessUser(login, username) {
287
- return this.createClient(login).delete(`access/user`, {
288
- data: {
289
- username
290
- }
291
- });
292
- }
293
- async listAccessUsers(login) {
294
- return this.createClient(login).get(`access/user/list`);
295
- }
296
- async postAccessResetPassword(login, refresh_token) {
297
- return this.createClient(login).post(`access/refresh_jwt`, {
298
- refresh_token
299
- });
300
- }
301
- async getAccessOneshotToken(login) {
302
- return this.createClient(login).get(`access/oneshot_token`);
303
- }
304
- async getAccessInfo(login) {
305
- return this.createClient(login).get(`access/info`);
306
- }
307
- async getAccessApiKey(login) {
308
- return this.createClient(login).get(`access/api_key`);
309
- }
310
- async postAccessApiKeyCreate(login) {
311
- return this.createClient(login).post(`access/api_key`);
312
- }
313
- async getDatabaseNamespaceList(login) {
314
- return this.createClient(login).get(`database/list`);
315
- }
316
- async getDatabaseNamespaceItem(login, namespace, key) {
317
- return this.createClient(login).get(`database/item?namespace=${namespace}&key=${key}`);
318
- }
319
- async postDatabaseNamespaceItem(login, namespace, key, value, typeHint) {
320
- const typeHintParam = typeHint?.length ? `:${typeHint}` : "";
321
- return this.createClient(login).post(`database/item?namespace=${namespace}&key=${key}&value${typeHintParam}=${value}`);
322
- }
323
- async deleteDatabaseNamespaceItem(login, namespace, key) {
324
- return this.createClient(login).delete(`database/item?namespace=${namespace}&key=${key}`);
325
- }
326
- async getJobQueueStatus(login) {
327
- return this.createClient(login).get(`job_queue/status`);
328
- }
329
- async postJobQueueJob(login, filenames, reset) {
330
- return this.createClient(login).post(`job_queue/job`, {
331
- filenames,
332
- reset
333
- });
334
- }
335
- async deleteJobQueueJob(login, jobIds, all) {
336
- const base = `job_queue/job`;
337
- const url = !!all ? `${base}?all=true` : `${base}?job_ids=${jobIds.join(",")}`;
338
- return this.createClient(login).delete(url);
339
- }
340
- async postJobQueuePause(login) {
341
- return this.createClient(login).post(`job_queue/pause`);
342
- }
343
- async postJobQueueStart(login) {
344
- return this.createClient(login).post(`job_queue/start`);
345
- }
346
- async postJobQueueJump(login, jobId) {
347
- return this.createClient(login).post(`job_queue/jump?job_id=${jobId}`);
348
- }
349
- async getAnnouncementsList(login, includeDismissed) {
350
- return this.createClient(login).get(`server/announcements/list?include_dismissed=${includeDismissed}`);
351
- }
352
- async postAnnouncementsUpdate(login) {
353
- return this.createClient(login).post(`server/announcements/update`);
354
- }
355
- async postAnnouncementsDismiss(login, entryId, wakeTime) {
356
- return this.createClient(login).post(`server/announcements/dismiss?entry_id=${encodeURIComponent(entryId)}&wake_time=${wakeTime}`);
357
- }
358
- async getAnnouncementsFeeds(login) {
359
- return this.createClient(login).get(`server/announcements/feeds`);
360
- }
361
- async postAnnouncementsFeedAdd(login, name) {
362
- return this.createClient(login).get(`server/announcements/feeds?name=${name}`);
363
- }
364
- async deleteAnnouncementsFeedRemove(login, name) {
365
- return this.createClient(login).delete(`server/announcements/feeds?name=${name}`);
366
- }
367
- async getWebcamList(login) {
368
- return this.createClient(login).get(`server/webcams/list`);
369
- }
370
- async getWebcamItem(login, uid, name) {
371
- const base = `server/webcams/get_item`;
372
- const url = !!uid?.length ? `${base}?uid=${uid}` : `${base}?name=${name}`;
373
- return this.createClient(login).get(url);
374
- }
375
- async postWebcamItemUpdate(login, webcam) {
376
- return this.createClient(login).post(`server/webcams/post_item`, webcam);
377
- }
378
- async deleteWebcamItem(login, uid, name) {
379
- const base = `server/webcams/delete_item`;
380
- const url = !!uid?.length ? `${base}?uid=${uid}` : `${base}?name=${name}`;
381
- return this.createClient(login).get(url);
382
- }
383
- async postWebcamTest(login, uid, name) {
384
- const base = `server/webcams/test`;
385
- const url = !!uid?.length ? `${base}?uid=${uid}` : `${base}?name=${name}`;
386
- return this.createClient(login).get(url);
387
- }
388
- async getNotifierList(login) {
389
- return this.createClient(login).get(`server/notifiers/list`);
390
- }
391
- async postMachineUpdateStatus(login) {
392
- return this.createClient(login).post(`machine/update/status`);
393
- }
394
- async postMachineUpdateRefresh(login, name) {
395
- const base = `machine/update/refresh`;
396
- const url = !!name ? `${base}` : `${base}?name=${name}`;
397
- return this.createClient(login).post(url);
398
- }
399
- async postMachineUpdateFull(login) {
400
- return this.createClient(login).post(`machine/update/full`);
401
- }
402
- async postMachineUpdateMoonraker(login) {
403
- return this.createClient(login).post(`machine/update/moonraker`);
404
- }
405
- async postMachineUpdateKlipper(login) {
406
- return this.createClient(login).post(`machine/update/klipper`);
407
- }
408
- async postMachineUpdateClient(login, name) {
409
- return this.createClient(login).post(`machine/update/client?name=${name}`);
410
- }
411
- async postMachineUpdateSystem(login) {
412
- return this.createClient(login).post(`machine/update/system`);
413
- }
414
- async postMachineUpdateRecover(login, name, hard = false) {
415
- return this.createClient(login).post(`machine/update/recover?name=${name}&hard=${hard}`);
416
- }
417
- async postMachineUpdateRollback(login, name) {
418
- return this.createClient(login).post(`machine/update/rollback?name=${name}`);
419
- }
420
- async getMachineDevicePowerDevices(login) {
421
- return this.createClient(login).get(`machine/device_power/devices`);
422
- }
423
- async getMachineDevicePowerDeviceState(login, device) {
424
- return this.createClient(login).get(`machine/device_power/device?device=${device}`);
425
- }
426
- async postMachineDevicePowerDeviceState(login, device, action) {
427
- return this.createClient(login).post(`machine/device_power/device?device=${device}&action=${action}`);
428
- }
429
- async getMachineDevicePowerBatchDeviceState(login, devices) {
430
- return this.createClient(login).get(`machine/device_power/status?${devices.join("&")}`);
431
- }
432
- async postMachineDevicePowerBatchPowerOn(login, device) {
433
- return this.createClient(login).post(`machine/device_power/on?device=${device}`);
434
- }
435
- async postMachineDevicePowerBatchPowerOff(login, device) {
436
- return this.createClient(login).post(`machine/device_power/off?device=${device}`);
437
- }
438
- async getMachineWledStrips(login) {
439
- return this.createClient(login).get(`machine/wled/strips`);
440
- }
441
- async getMachineWledStatuses(login, strips) {
442
- return this.createClient(login).get(`machine/wled/status?${strips.join("&")}`);
443
- }
444
- async postMachineWledPowerOn(login, strips) {
445
- return this.createClient(login).post(`machine/wled/on?${strips.join("&")}`);
446
- }
447
- async postMachineWledPowerOff(login, strips) {
448
- return this.createClient(login).post(`machine/wled/off?${strips.join("&")}`);
449
- }
450
- async postMachineWledPowerStripAction(login, strips) {
451
- return this.createClient(login).post(`machine/wled/toggle?${strips.join("&")}`);
452
- }
453
- async getMachineWledStripAction(login, strip, action, controlParams) {
454
- const queryParams = Object.entries(controlParams).map(([k, v])=>`${k}=${v}`).join("&");
455
- return this.createClient(login).get(`machine/wled/strip?strip=${strip}&action=${action}&${queryParams}`);
456
- }
457
- async getServerSensorsList(login) {
458
- return this.createClient(login).get(`server/sensors/list`);
459
- }
460
- async getServerSensorItem(login, sensor) {
461
- return this.createClient(login).get(`server/sensors/info?sensor=${sensor}`);
462
- }
463
- async getServerSensorMeasurements(login, sensor) {
464
- return this.createClient(login).get(`server/sensors/measurements?sensor=${sensor}`);
465
- }
466
- async getServerSensorMeasurementsBatch(login) {
467
- return this.createClient(login).get(`server/sensors/measurements`);
468
- }
469
- async getServerSpoolmanStatus(login) {
470
- return this.createClient(login).get(`server/spoolman/status`);
471
- }
472
- async postServerSpoolmanActiveSpool(login, spoolId) {
473
- return this.createClient(login).post(`server/spoolman/spool_id`, {
474
- spool_id: spoolId
475
- });
476
- }
477
- async getServerSpoolmanActiveSpool(login) {
478
- return this.createClient(login).get(`server/spoolman/spool_id`);
479
- }
480
- async postServerSpoolmanProxyRequest(login, body) {
481
- return this.createClient(login).post(`server/spoolman/proxy`, body);
482
- }
483
- async getApiVersion(login) {
484
- return this.createClient(login).get(`api/version`);
485
- }
486
- async getServerVersion(login) {
487
- return this.createClient(login).get(`api/server`);
488
- }
489
- async getApiLogin(login) {
490
- return this.createClient(login).get(`api/login`);
491
- }
492
- async getApiSettings(login) {
493
- return this.createClient(login).get(`api/settings`);
494
- }
495
- async getApiJob(login) {
496
- return this.createClient(login).get(`api/job`);
497
- }
498
- async getApiPrinter(login) {
499
- return this.createClient(login).get(`api/printer`);
500
- }
501
- async postApiPrinterCommand(login, commands) {
502
- return this.createClient(login).post(`api/command`, {
503
- commands
504
- });
505
- }
506
- async getApiProfiles(login) {
507
- return this.createClient(login).get(`api/printerprofiles`);
508
- }
509
- async getServerHistoryList(login, limit, start, since, before, order = "desc") {
510
- let params = `limit=${limit}&start=${start}&order=${order}`;
511
- if (!!before || before === 0) {
512
- params += "&before=" + before;
513
- }
514
- if (!!since || since === 0) {
515
- params += "&since=" + since;
516
- }
517
- return this.createClient(login).get(`server/history/list?${params}`);
518
- }
519
- async getServerHistoryTotals(login) {
520
- return this.createClient(login).get(`server/history/totals`);
521
- }
522
- async postServerHistoryResetTotals(login) {
523
- return this.createClient(login).post(`server/history/reset_totals`);
524
- }
525
- async getServerHistoryJob(login, uid) {
526
- return this.createClient(login).get(`server/history/job?uid=${uid}`);
527
- }
528
- async deleteServerHistoryJob(login, uid) {
529
- const base = `server/history/job`;
530
- const url = !!uid?.length ? `${base}?uid=${uid}` : `${base}?all=true`;
531
- return this.createClient(login).get(url);
532
- }
533
- convertToQueryString(query) {
534
- return Object.entries(query).reduce((acc, [key, value])=>{
535
- if (value.length > 0) {
536
- acc.push(`${key}=${value.join(",")}`);
537
- } else {
538
- acc.push(key);
539
- }
540
- return acc;
541
- }, []).join("&");
542
- }
543
- createClient(login, buildFluentOptions) {
544
- const baseAddress = login.printerURL;
545
- return this.createAnonymousClient(baseAddress, (o)=>{
546
- if (buildFluentOptions) {
547
- buildFluentOptions(o);
548
- }
549
- });
550
- }
551
- createAnonymousClient(baseAddress, buildFluentOptions) {
552
- const builder = new _defaulthttpclientbuilder.DefaultHttpClientBuilder();
553
- return this.httpClientFactory.createClientWithBaseUrl(builder, baseAddress, (b)=>{
554
- if (buildFluentOptions) {
555
- buildFluentOptions(b);
556
- }
557
- });
558
- }
559
- }
1
+ import { ExternalServiceError } from "../../exceptions/runtime.exceptions.js";
2
+ import { uploadDoneEvent, uploadFailedEvent, uploadProgressEvent } from "../../constants/event.constants.js";
3
+ import { DefaultHttpClientBuilder } from "../../shared/default-http-client.builder.js";
4
+ import FormData from "form-data";
5
+ //#region src/services/moonraker/moonraker.client.ts
6
+ var MoonrakerClient = class MoonrakerClient {
7
+ logger;
8
+ constructor(loggerFactory, httpClientFactory, eventEmitter2, settingsStore) {
9
+ this.httpClientFactory = httpClientFactory;
10
+ this.eventEmitter2 = eventEmitter2;
11
+ this.settingsStore = settingsStore;
12
+ this.logger = loggerFactory(MoonrakerClient.name);
13
+ }
14
+ async getServerInfo(login) {
15
+ return this.createClient(login).get("/server/info");
16
+ }
17
+ async getServerConfig(login) {
18
+ return this.createClient(login).get("/server/config");
19
+ }
20
+ async getTemperatureStore(login, includeMonitors = false) {
21
+ return this.createClient(login).get(`/server/temperature_store?include_monitors=${!!includeMonitors}`);
22
+ }
23
+ async getGcodeStore(login, count = 100) {
24
+ return this.createClient(login).get(`/server/gcode_store?count=${count}`);
25
+ }
26
+ async postRolloverLogs(login, application = "") {
27
+ return this.createClient(login).post(`server/logs/rollover`, { application });
28
+ }
29
+ async postRestartServer(login) {
30
+ return this.createClient(login).post(`server/restart`);
31
+ }
32
+ async postJsonRpc(login, method, params, id) {
33
+ return this.createClient(login).post(`server/jsonrpc`, {
34
+ jsonrpc: "2.0",
35
+ id: id ? id : 0,
36
+ method,
37
+ params
38
+ });
39
+ }
40
+ async getPrinterInfo(login) {
41
+ return this.createClient(login).post(`printer/info`);
42
+ }
43
+ async postQuickStop(login) {
44
+ return this.createClient(login).post(`printer/emergency_stop`);
45
+ }
46
+ async postHostRestart(login) {
47
+ return this.createClient(login).post(`printer/restart`);
48
+ }
49
+ async postFirmwareRestart(login) {
50
+ return this.createClient(login).post(`printer/firmware_restart`);
51
+ }
52
+ async getPrinterObjectsList(login) {
53
+ return this.createClient(login).get(`printer/objects/list`);
54
+ }
55
+ async getPrinterObjectsQuery(login, query) {
56
+ const queryString = this.convertToQueryString(query);
57
+ return this.createClient(login).get(`printer/objects/query?${queryString}`);
58
+ }
59
+ postSubscribePrinterObjects(login, connectionId, query) {
60
+ const queryString = this.convertToQueryString(query);
61
+ return this.createClient(login).post(`printer/objects/subscribe?connection_id=${connectionId}&${queryString}`);
62
+ }
63
+ async getPrinterQueryEndstops(login) {
64
+ return this.createClient(login).get(`printer/query-endstops`);
65
+ }
66
+ async postGcodeScript(login, script = "G28") {
67
+ return this.createClient(login).get(`printer/gcode/script?script=${script}`);
68
+ }
69
+ async getGcodeHelp(login) {
70
+ return this.createClient(login).get(`printer/gcode/help`);
71
+ }
72
+ async postPrintStart(login, filename) {
73
+ return this.createClient(login).post(`printer/print/start?filename=${filename}`);
74
+ }
75
+ async postPrintPause(login) {
76
+ return this.createClient(login).post(`printer/print/pause`);
77
+ }
78
+ async postPrintResume(login) {
79
+ return this.createClient(login).post(`printer/print/resume`);
80
+ }
81
+ async postPrintCancel(login) {
82
+ return this.createClient(login).post(`printer/print/cancel`);
83
+ }
84
+ async getMachineSystemInfo(login) {
85
+ return this.createClient(login).get(`machine/system_info`);
86
+ }
87
+ async postMachineShutdown(login) {
88
+ return this.createClient(login).post(`machine/shutdown`);
89
+ }
90
+ async postMachineReboot(login) {
91
+ return this.createClient(login).post(`machine/reboot`);
92
+ }
93
+ async postMachineRestartService(login, service) {
94
+ return this.createClient(login).post(`machine/services/restart?service=${service}`);
95
+ }
96
+ async postMachineStartService(login, service) {
97
+ return this.createClient(login).post(`machine/services/restart?service=${service}`);
98
+ }
99
+ async postMachineProcessStats(login) {
100
+ return this.createClient(login).post(`machine/proc_stats`);
101
+ }
102
+ async getMachineSudoInfo(login, checkAccess = false) {
103
+ return this.createClient(login).get(`machine/sudo/info?check_access=${checkAccess}`);
104
+ }
105
+ async postMachineSetSudoPassword(login, password) {
106
+ return this.createClient(login).post(`machine/sudo/password`, { password });
107
+ }
108
+ async getMachineListPeripheralsUsb(login) {
109
+ return this.createClient(login).get(`machine/peripherals/usb`);
110
+ }
111
+ async getMachineListPeripheralsSerial(login) {
112
+ return this.createClient(login).get(`machine/peripherals/serial`);
113
+ }
114
+ async getMachineListPeripheralsVideo(login) {
115
+ return this.createClient(login).get(`machine/peripherals/video`);
116
+ }
117
+ async getMachineListPeripheralsCanbus(login, canInterface = "can0") {
118
+ return this.createClient(login).get(`machine/peripherals/canbus?interface=${canInterface}`);
119
+ }
120
+ async getServerFilesList(login, rootFolder = "") {
121
+ const paramString = rootFolder?.length ? `?root=${rootFolder}` : "";
122
+ return this.createClient(login).get(`server/files/list${paramString}`);
123
+ }
124
+ async getServerFilesRoots(login) {
125
+ return this.createClient(login).get(`server/files/roots`);
126
+ }
127
+ async getServerFileMetadata(login, filename) {
128
+ return this.createClient(login).get(`server/files/metadata?filename=${filename}`);
129
+ }
130
+ async getServerFileMetadataScan(login, filename) {
131
+ return this.createClient(login).get(`server/files/metascan?filename=${filename}`);
132
+ }
133
+ async getServerFilesThumbnails(login, filename) {
134
+ return this.createClient(login).get(`server/files/thumbnails?filename=${filename}`);
135
+ }
136
+ async getServerFilesDirectoryInfo(login, path, extended) {
137
+ return this.createClient(login).get(`server/files/directory?path=${path}&extended=${extended}`);
138
+ }
139
+ async postServerFilesDirectory(login, path) {
140
+ return this.createClient(login).post(`server/files/directory`, { path });
141
+ }
142
+ async deleteServerFilesDirectory(login, path, force) {
143
+ return this.createClient(login).delete(`server/files/directory?path=${path}&force=${!!force}`);
144
+ }
145
+ async postServerFilesMove(login, source, dest) {
146
+ return this.createClient(login).post(`server/files/directory`, {
147
+ source,
148
+ dest
149
+ });
150
+ }
151
+ async postServerFilesCopy(login, source, dest) {
152
+ return this.createClient(login).post(`server/files/copy`, {
153
+ source,
154
+ dest
155
+ });
156
+ }
157
+ async postServerFilesZip(login, items, dest, store_only) {
158
+ return this.createClient(login).post(`server/files/zip`, {
159
+ items,
160
+ store_only,
161
+ dest
162
+ });
163
+ }
164
+ async getServerFilesDownload(login, root, filename) {
165
+ return await this.createClient(login).get(`server/files/${root}/${filename}`, { responseType: "stream" });
166
+ }
167
+ async getServerFilesDownloadChunk(login, root, filename, startBytes, endBytes) {
168
+ return await this.createClient(login).get(`server/files/${root}/${filename}`, { headers: { Range: `bytes=${startBytes}-${endBytes}` } });
169
+ }
170
+ async postServerFileUpload(login, stream, fileName, contentLength, startPrint, progressToken, root, path, checksum) {
171
+ const formData = new FormData();
172
+ if (root?.length) formData.append("root", root);
173
+ if (path?.length) formData.append("path", path);
174
+ if (checksum?.length) formData.append("checksum", checksum);
175
+ if (startPrint) formData.append("print", "true");
176
+ formData.append("file", stream, {
177
+ filename: fileName,
178
+ knownLength: contentLength
179
+ });
180
+ const result = await new Promise((resolve, reject) => {
181
+ return formData.getLength((err, length) => {
182
+ if (err) reject(/* @__PURE__ */ new Error("Could not retrieve formData length"));
183
+ resolve(length);
184
+ });
185
+ });
186
+ try {
187
+ const response = await this.createClient(login, (b) => {
188
+ b.withMultiPartFormData().withTimeout(this.settingsStore.getTimeoutSettings().apiUploadTimeout).withHeaders({
189
+ ...formData.getHeaders(),
190
+ "Content-Length": result.toString()
191
+ }).withOnUploadProgress((p) => {
192
+ if (progressToken) this.eventEmitter2.emit(`${uploadProgressEvent(progressToken)}`, progressToken, p);
193
+ });
194
+ }).post(`server/files/upload`, formData);
195
+ if (progressToken) this.eventEmitter2.emit(`${uploadDoneEvent(progressToken)}`, progressToken);
196
+ return response.data;
197
+ } catch (e) {
198
+ if (progressToken) this.eventEmitter2.emit(`${uploadFailedEvent(progressToken)}`, progressToken, e?.message);
199
+ let data;
200
+ try {
201
+ data = JSON.parse(e.response?.body);
202
+ } catch {
203
+ data = e.response?.body;
204
+ }
205
+ throw new ExternalServiceError({
206
+ error: e.message,
207
+ statusCode: e.response?.statusCode,
208
+ data,
209
+ success: false,
210
+ stack: e.stack
211
+ }, "Moonraker");
212
+ }
213
+ }
214
+ async deleteServerFile(login, root, path) {
215
+ const url = `server/files/${root}/${path}`;
216
+ return this.createClient(login).delete(url);
217
+ }
218
+ async getServerFileKlippyLogDownload(login) {
219
+ return this.createClient(login).get(`server/files/klippy.log`);
220
+ }
221
+ async getServerFileMoonrakerLogDownload(login) {
222
+ return this.createClient(login).get(`server/files/moonraker.log`);
223
+ }
224
+ async postAccessLoginUser(login, username, password, source = "moonraker") {
225
+ return this.createClient(login).post("/access/login", {
226
+ username,
227
+ password,
228
+ source
229
+ });
230
+ }
231
+ async postAccessLogoutUser(login) {
232
+ return this.createClient(login).post(`access/logout`);
233
+ }
234
+ async getAccessUser(login) {
235
+ return this.createClient(login).get(`access/user`);
236
+ }
237
+ async postAccessCreateUser(login, username, password) {
238
+ return this.createClient(login).post(`access/login`, {
239
+ username,
240
+ password
241
+ });
242
+ }
243
+ async deleteAccessUser(login, username) {
244
+ return this.createClient(login).delete(`access/user`, { data: { username } });
245
+ }
246
+ async listAccessUsers(login) {
247
+ return this.createClient(login).get(`access/user/list`);
248
+ }
249
+ async postAccessResetPassword(login, refresh_token) {
250
+ return this.createClient(login).post(`access/refresh_jwt`, { refresh_token });
251
+ }
252
+ async getAccessOneshotToken(login) {
253
+ return this.createClient(login).get(`access/oneshot_token`);
254
+ }
255
+ async getAccessInfo(login) {
256
+ return this.createClient(login).get(`access/info`);
257
+ }
258
+ async getAccessApiKey(login) {
259
+ return this.createClient(login).get(`access/api_key`);
260
+ }
261
+ async postAccessApiKeyCreate(login) {
262
+ return this.createClient(login).post(`access/api_key`);
263
+ }
264
+ async getDatabaseNamespaceList(login) {
265
+ return this.createClient(login).get(`database/list`);
266
+ }
267
+ async getDatabaseNamespaceItem(login, namespace, key) {
268
+ return this.createClient(login).get(`database/item?namespace=${namespace}&key=${key}`);
269
+ }
270
+ async postDatabaseNamespaceItem(login, namespace, key, value, typeHint) {
271
+ const typeHintParam = typeHint?.length ? `:${typeHint}` : "";
272
+ return this.createClient(login).post(`database/item?namespace=${namespace}&key=${key}&value${typeHintParam}=${value}`);
273
+ }
274
+ async deleteDatabaseNamespaceItem(login, namespace, key) {
275
+ return this.createClient(login).delete(`database/item?namespace=${namespace}&key=${key}`);
276
+ }
277
+ async getJobQueueStatus(login) {
278
+ return this.createClient(login).get(`job_queue/status`);
279
+ }
280
+ async postJobQueueJob(login, filenames, reset) {
281
+ return this.createClient(login).post(`job_queue/job`, {
282
+ filenames,
283
+ reset
284
+ });
285
+ }
286
+ async deleteJobQueueJob(login, jobIds, all) {
287
+ const base = `job_queue/job`;
288
+ const url = !!all ? `${base}?all=true` : `${base}?job_ids=${jobIds.join(",")}`;
289
+ return this.createClient(login).delete(url);
290
+ }
291
+ async postJobQueuePause(login) {
292
+ return this.createClient(login).post(`job_queue/pause`);
293
+ }
294
+ async postJobQueueStart(login) {
295
+ return this.createClient(login).post(`job_queue/start`);
296
+ }
297
+ async postJobQueueJump(login, jobId) {
298
+ return this.createClient(login).post(`job_queue/jump?job_id=${jobId}`);
299
+ }
300
+ async getAnnouncementsList(login, includeDismissed) {
301
+ return this.createClient(login).get(`server/announcements/list?include_dismissed=${includeDismissed}`);
302
+ }
303
+ async postAnnouncementsUpdate(login) {
304
+ return this.createClient(login).post(`server/announcements/update`);
305
+ }
306
+ /**
307
+ *
308
+ * @param login
309
+ * @param entryId The entry identifier (name). This field may contain forward slashes, so it should be url escaped when placed in the query string of an http request. This parameter is required.
310
+ * @param wakeTime The time, in seconds, in which the entry's dismissed state will revert to false. This parameter is optional, if omitted the entry will be dismissed indefinitely.
311
+ */
312
+ async postAnnouncementsDismiss(login, entryId, wakeTime) {
313
+ return this.createClient(login).post(`server/announcements/dismiss?entry_id=${encodeURIComponent(entryId)}&wake_time=${wakeTime}`);
314
+ }
315
+ async getAnnouncementsFeeds(login) {
316
+ return this.createClient(login).get(`server/announcements/feeds`);
317
+ }
318
+ async postAnnouncementsFeedAdd(login, name) {
319
+ return this.createClient(login).get(`server/announcements/feeds?name=${name}`);
320
+ }
321
+ async deleteAnnouncementsFeedRemove(login, name) {
322
+ return this.createClient(login).delete(`server/announcements/feeds?name=${name}`);
323
+ }
324
+ async getWebcamList(login) {
325
+ return this.createClient(login).get(`server/webcams/list`);
326
+ }
327
+ async getWebcamItem(login, uid, name) {
328
+ const base = `server/webcams/get_item`;
329
+ const url = !!uid?.length ? `${base}?uid=${uid}` : `${base}?name=${name}`;
330
+ return this.createClient(login).get(url);
331
+ }
332
+ async postWebcamItemUpdate(login, webcam) {
333
+ return this.createClient(login).post(`server/webcams/post_item`, webcam);
334
+ }
335
+ async deleteWebcamItem(login, uid, name) {
336
+ const base = `server/webcams/delete_item`;
337
+ const url = !!uid?.length ? `${base}?uid=${uid}` : `${base}?name=${name}`;
338
+ return this.createClient(login).get(url);
339
+ }
340
+ async postWebcamTest(login, uid, name) {
341
+ const base = `server/webcams/test`;
342
+ const url = !!uid?.length ? `${base}?uid=${uid}` : `${base}?name=${name}`;
343
+ return this.createClient(login).get(url);
344
+ }
345
+ async getNotifierList(login) {
346
+ return this.createClient(login).get(`server/notifiers/list`);
347
+ }
348
+ async postMachineUpdateStatus(login) {
349
+ return this.createClient(login).post(`machine/update/status`);
350
+ }
351
+ async postMachineUpdateRefresh(login, name) {
352
+ const base = `machine/update/refresh`;
353
+ const url = !!name ? `${base}` : `${base}?name=${name}`;
354
+ return this.createClient(login).post(url);
355
+ }
356
+ async postMachineUpdateFull(login) {
357
+ return this.createClient(login).post(`machine/update/full`);
358
+ }
359
+ async postMachineUpdateMoonraker(login) {
360
+ return this.createClient(login).post(`machine/update/moonraker`);
361
+ }
362
+ async postMachineUpdateKlipper(login) {
363
+ return this.createClient(login).post(`machine/update/klipper`);
364
+ }
365
+ async postMachineUpdateClient(login, name) {
366
+ return this.createClient(login).post(`machine/update/client?name=${name}`);
367
+ }
368
+ async postMachineUpdateSystem(login) {
369
+ return this.createClient(login).post(`machine/update/system`);
370
+ }
371
+ async postMachineUpdateRecover(login, name, hard = false) {
372
+ return this.createClient(login).post(`machine/update/recover?name=${name}&hard=${hard}`);
373
+ }
374
+ async postMachineUpdateRollback(login, name) {
375
+ return this.createClient(login).post(`machine/update/rollback?name=${name}`);
376
+ }
377
+ async getMachineDevicePowerDevices(login) {
378
+ return this.createClient(login).get(`machine/device_power/devices`);
379
+ }
380
+ async getMachineDevicePowerDeviceState(login, device) {
381
+ return this.createClient(login).get(`machine/device_power/device?device=${device}`);
382
+ }
383
+ async postMachineDevicePowerDeviceState(login, device, action) {
384
+ return this.createClient(login).post(`machine/device_power/device?device=${device}&action=${action}`);
385
+ }
386
+ async getMachineDevicePowerBatchDeviceState(login, devices) {
387
+ return this.createClient(login).get(`machine/device_power/status?${devices.join("&")}`);
388
+ }
389
+ async postMachineDevicePowerBatchPowerOn(login, device) {
390
+ return this.createClient(login).post(`machine/device_power/on?device=${device}`);
391
+ }
392
+ async postMachineDevicePowerBatchPowerOff(login, device) {
393
+ return this.createClient(login).post(`machine/device_power/off?device=${device}`);
394
+ }
395
+ async getMachineWledStrips(login) {
396
+ return this.createClient(login).get(`machine/wled/strips`);
397
+ }
398
+ async getMachineWledStatuses(login, strips) {
399
+ return this.createClient(login).get(`machine/wled/status?${strips.join("&")}`);
400
+ }
401
+ async postMachineWledPowerOn(login, strips) {
402
+ return this.createClient(login).post(`machine/wled/on?${strips.join("&")}`);
403
+ }
404
+ async postMachineWledPowerOff(login, strips) {
405
+ return this.createClient(login).post(`machine/wled/off?${strips.join("&")}`);
406
+ }
407
+ async postMachineWledPowerStripAction(login, strips) {
408
+ return this.createClient(login).post(`machine/wled/toggle?${strips.join("&")}`);
409
+ }
410
+ async getMachineWledStripAction(login, strip, action, controlParams) {
411
+ const queryParams = Object.entries(controlParams).map(([k, v]) => `${k}=${v}`).join("&");
412
+ return this.createClient(login).get(`machine/wled/strip?strip=${strip}&action=${action}&${queryParams}`);
413
+ }
414
+ async getServerSensorsList(login) {
415
+ return this.createClient(login).get(`server/sensors/list`);
416
+ }
417
+ async getServerSensorItem(login, sensor) {
418
+ return this.createClient(login).get(`server/sensors/info?sensor=${sensor}`);
419
+ }
420
+ async getServerSensorMeasurements(login, sensor) {
421
+ return this.createClient(login).get(`server/sensors/measurements?sensor=${sensor}`);
422
+ }
423
+ async getServerSensorMeasurementsBatch(login) {
424
+ return this.createClient(login).get(`server/sensors/measurements`);
425
+ }
426
+ async getServerSpoolmanStatus(login) {
427
+ return this.createClient(login).get(`server/spoolman/status`);
428
+ }
429
+ async postServerSpoolmanActiveSpool(login, spoolId) {
430
+ return this.createClient(login).post(`server/spoolman/spool_id`, { spool_id: spoolId });
431
+ }
432
+ async getServerSpoolmanActiveSpool(login) {
433
+ return this.createClient(login).get(`server/spoolman/spool_id`);
434
+ }
435
+ async postServerSpoolmanProxyRequest(login, body) {
436
+ return this.createClient(login).post(`server/spoolman/proxy`, body);
437
+ }
438
+ /**
439
+ * @description API might not be available in the future
440
+ * @param login
441
+ */
442
+ async getApiVersion(login) {
443
+ return this.createClient(login).get(`api/version`);
444
+ }
445
+ /**
446
+ * @description API might not be available in the future
447
+ * @param login
448
+ */
449
+ async getServerVersion(login) {
450
+ return this.createClient(login).get(`api/server`);
451
+ }
452
+ /**
453
+ * @description API might not be available in the future
454
+ * @param login
455
+ */
456
+ async getApiLogin(login) {
457
+ return this.createClient(login).get(`api/login`);
458
+ }
459
+ /**
460
+ * @deprecated API might not be available in the future
461
+ * @param login
462
+ */
463
+ async getApiSettings(login) {
464
+ return this.createClient(login).get(`api/settings`);
465
+ }
466
+ /**
467
+ * @deprecated API might not be available in the future
468
+ * @param login
469
+ */
470
+ async getApiJob(login) {
471
+ return this.createClient(login).get(`api/job`);
472
+ }
473
+ /**
474
+ * @deprecated API might not be available in the future
475
+ * @param login
476
+ */
477
+ async getApiPrinter(login) {
478
+ return this.createClient(login).get(`api/printer`);
479
+ }
480
+ /**
481
+ * @deprecated API might not be available in the future
482
+ * @param login
483
+ * @param commands
484
+ */
485
+ async postApiPrinterCommand(login, commands) {
486
+ return this.createClient(login).post(`api/command`, { commands });
487
+ }
488
+ /**
489
+ * @deprecated API might not be available in the future
490
+ * @param login
491
+ */
492
+ async getApiProfiles(login) {
493
+ return this.createClient(login).get(`api/printerprofiles`);
494
+ }
495
+ async getServerHistoryList(login, limit, start, since, before, order = "desc") {
496
+ let params = `limit=${limit}&start=${start}&order=${order}`;
497
+ if (!!before || before === 0) params += "&before=" + before;
498
+ if (!!since || since === 0) params += "&since=" + since;
499
+ return this.createClient(login).get(`server/history/list?${params}`);
500
+ }
501
+ async getServerHistoryTotals(login) {
502
+ return this.createClient(login).get(`server/history/totals`);
503
+ }
504
+ async postServerHistoryResetTotals(login) {
505
+ return this.createClient(login).post(`server/history/reset_totals`);
506
+ }
507
+ async getServerHistoryJob(login, uid) {
508
+ return this.createClient(login).get(`server/history/job?uid=${uid}`);
509
+ }
510
+ async deleteServerHistoryJob(login, uid) {
511
+ const base = `server/history/job`;
512
+ const url = !!uid?.length ? `${base}?uid=${uid}` : `${base}?all=true`;
513
+ return this.createClient(login).get(url);
514
+ }
515
+ convertToQueryString(query) {
516
+ return Object.entries(query).reduce((acc, [key, value]) => {
517
+ if (value.length > 0) acc.push(`${key}=${value.join(",")}`);
518
+ else acc.push(key);
519
+ return acc;
520
+ }, []).join("&");
521
+ }
522
+ createClient(login, buildFluentOptions) {
523
+ const baseAddress = login.printerURL;
524
+ return this.createAnonymousClient(baseAddress, (o) => {
525
+ if (buildFluentOptions) buildFluentOptions(o);
526
+ });
527
+ }
528
+ createAnonymousClient(baseAddress, buildFluentOptions) {
529
+ const builder = new DefaultHttpClientBuilder();
530
+ return this.httpClientFactory.createClientWithBaseUrl(builder, baseAddress, (b) => {
531
+ if (buildFluentOptions) buildFluentOptions(b);
532
+ });
533
+ }
534
+ };
535
+ //#endregion
536
+ export { MoonrakerClient };
560
537
 
561
538
  //# sourceMappingURL=moonraker.client.js.map