@fdm-monster/server 2.0.10 → 2.1.0

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 (944) 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 +3 -2
  7. package/RELEASE_NOTES.MD +152 -1
  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 +45 -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 +169 -181
  29. package/dist/container.js.map +1 -1
  30. package/dist/container.tokens.js +79 -85
  31. package/dist/container.tokens.js.map +1 -1
  32. package/dist/controllers/api-key.controller.js +72 -0
  33. package/dist/controllers/api-key.controller.js.map +1 -0
  34. package/dist/controllers/auth.controller.js +156 -225
  35. package/dist/controllers/auth.controller.js.map +1 -1
  36. package/dist/controllers/batch-call.controller.js +79 -116
  37. package/dist/controllers/batch-call.controller.js.map +1 -1
  38. package/dist/controllers/camera-stream.controller.js +74 -119
  39. package/dist/controllers/camera-stream.controller.js.map +1 -1
  40. package/dist/controllers/dto/update-client-dist.dto.js +8 -15
  41. package/dist/controllers/dto/update-client-dist.dto.js.map +1 -1
  42. package/dist/controllers/file-storage.controller.js +251 -312
  43. package/dist/controllers/file-storage.controller.js.map +1 -1
  44. package/dist/controllers/first-time-setup.controller.js +83 -135
  45. package/dist/controllers/first-time-setup.controller.js.map +1 -1
  46. package/dist/controllers/floor.controller.js +111 -175
  47. package/dist/controllers/floor.controller.js.map +1 -1
  48. package/dist/controllers/metrics.controller.js +27 -53
  49. package/dist/controllers/metrics.controller.js.map +1 -1
  50. package/dist/controllers/print-job.controller.js +366 -451
  51. package/dist/controllers/print-job.controller.js.map +1 -1
  52. package/dist/controllers/print-queue.controller.js +329 -427
  53. package/dist/controllers/print-queue.controller.js.map +1 -1
  54. package/dist/controllers/printer-files.controller.js +244 -305
  55. package/dist/controllers/printer-files.controller.js.map +1 -1
  56. package/dist/controllers/printer-maintenance-log.controller.js +109 -165
  57. package/dist/controllers/printer-maintenance-log.controller.js.map +1 -1
  58. package/dist/controllers/printer-settings.controller.js +50 -81
  59. package/dist/controllers/printer-settings.controller.js.map +1 -1
  60. package/dist/controllers/printer-tag.controller.js +104 -166
  61. package/dist/controllers/printer-tag.controller.js.map +1 -1
  62. package/dist/controllers/printer.controller.js +352 -469
  63. package/dist/controllers/printer.controller.js.map +1 -1
  64. package/dist/controllers/server-private.controller.js +182 -239
  65. package/dist/controllers/server-private.controller.js.map +1 -1
  66. package/dist/controllers/server-public.controller.js +104 -158
  67. package/dist/controllers/server-public.controller.js.map +1 -1
  68. package/dist/controllers/settings.controller.js +229 -364
  69. package/dist/controllers/settings.controller.js.map +1 -1
  70. package/dist/controllers/slicer-compat.controller.js +179 -206
  71. package/dist/controllers/slicer-compat.controller.js.map +1 -1
  72. package/dist/controllers/user.controller.js +226 -348
  73. package/dist/controllers/user.controller.js.map +1 -1
  74. package/dist/controllers/validation/api-key-controller.validation.js +11 -0
  75. package/dist/controllers/validation/api-key-controller.validation.js.map +1 -0
  76. package/dist/controllers/validation/auth-controller.validation.js +5 -14
  77. package/dist/controllers/validation/auth-controller.validation.js.map +1 -1
  78. package/dist/controllers/validation/batch-controller.validation.js +13 -35
  79. package/dist/controllers/validation/batch-controller.validation.js.map +1 -1
  80. package/dist/controllers/validation/generic.validation.js +6 -23
  81. package/dist/controllers/validation/generic.validation.js.map +1 -1
  82. package/dist/controllers/validation/printer-completion-controller.validation.js +5 -14
  83. package/dist/controllers/validation/printer-completion-controller.validation.js.map +1 -1
  84. package/dist/controllers/validation/printer-controller.validation.js +16 -48
  85. package/dist/controllers/validation/printer-controller.validation.js.map +1 -1
  86. package/dist/controllers/validation/printer-files-controller.validation.js +12 -47
  87. package/dist/controllers/validation/printer-files-controller.validation.js.map +1 -1
  88. package/dist/controllers/validation/printer-settings-controller.validation.js +5 -14
  89. package/dist/controllers/validation/printer-settings-controller.validation.js.map +1 -1
  90. package/dist/controllers/validation/server-private.validation.js +7 -14
  91. package/dist/controllers/validation/server-private.validation.js.map +1 -1
  92. package/dist/controllers/validation/setting.validation.js +12 -34
  93. package/dist/controllers/validation/setting.validation.js.map +1 -1
  94. package/dist/controllers/validation/user-controller.validation.js +27 -65
  95. package/dist/controllers/validation/user-controller.validation.js.map +1 -1
  96. package/dist/data-source.js +78 -79
  97. package/dist/data-source.js.map +1 -1
  98. package/dist/entities/api-key.entity.js +60 -0
  99. package/dist/entities/api-key.entity.js.map +1 -0
  100. package/dist/entities/camera-stream.entity.js +49 -91
  101. package/dist/entities/camera-stream.entity.js.map +1 -1
  102. package/dist/entities/floor-position.entity.js +38 -75
  103. package/dist/entities/floor-position.entity.js.map +1 -1
  104. package/dist/entities/floor.entity.js +18 -48
  105. package/dist/entities/floor.entity.js.map +1 -1
  106. package/dist/entities/index.js +15 -66
  107. package/dist/entities/print-job.entity.js +114 -196
  108. package/dist/entities/print-job.entity.js.map +1 -1
  109. package/dist/entities/printer-maintenance-log.entity.js +61 -140
  110. package/dist/entities/printer-maintenance-log.entity.js.map +1 -1
  111. package/dist/entities/printer-tag.entity.js +33 -66
  112. package/dist/entities/printer-tag.entity.js.map +1 -1
  113. package/dist/entities/printer.entity.js +67 -124
  114. package/dist/entities/printer.entity.js.map +1 -1
  115. package/dist/entities/refresh-token.entity.js +31 -66
  116. package/dist/entities/refresh-token.entity.js.map +1 -1
  117. package/dist/entities/role.entity.js +16 -45
  118. package/dist/entities/role.entity.js.map +1 -1
  119. package/dist/entities/settings.entity.js +38 -77
  120. package/dist/entities/settings.entity.js.map +1 -1
  121. package/dist/entities/tag.entity.js +19 -43
  122. package/dist/entities/tag.entity.js.map +1 -1
  123. package/dist/entities/user-role.entity.js +30 -67
  124. package/dist/entities/user-role.entity.js.map +1 -1
  125. package/dist/entities/user.entity.js +32 -87
  126. package/dist/entities/user.entity.js.map +1 -1
  127. package/dist/exceptions/failed-dependency.exception.js +11 -18
  128. package/dist/exceptions/failed-dependency.exception.js.map +1 -1
  129. package/dist/exceptions/job.exceptions.js +9 -16
  130. package/dist/exceptions/job.exceptions.js.map +1 -1
  131. package/dist/exceptions/runtime.exceptions.js +82 -121
  132. package/dist/exceptions/runtime.exceptions.js.map +1 -1
  133. package/dist/handlers/event-emitter.js +13 -20
  134. package/dist/handlers/event-emitter.js.map +1 -1
  135. package/dist/handlers/logger-factory.js +7 -14
  136. package/dist/handlers/logger-factory.js.map +1 -1
  137. package/dist/handlers/logger.js +26 -36
  138. package/dist/handlers/logger.js.map +1 -1
  139. package/dist/handlers/logging/file-logging.transport.js +17 -31
  140. package/dist/handlers/logging/file-logging.transport.js.map +1 -1
  141. package/dist/handlers/logging/loki-logging.transport.js +34 -50
  142. package/dist/handlers/logging/loki-logging.transport.js.map +1 -1
  143. package/dist/handlers/logging/static.logger.js +83 -124
  144. package/dist/handlers/logging/static.logger.js.map +1 -1
  145. package/dist/handlers/validators.js +8 -25
  146. package/dist/handlers/validators.js.map +1 -1
  147. package/dist/index.js +23 -26
  148. package/dist/index.js.map +1 -1
  149. package/dist/middleware/api-key.strategy.js +45 -0
  150. package/dist/middleware/api-key.strategy.js.map +1 -0
  151. package/dist/middleware/authenticate.js +26 -69
  152. package/dist/middleware/authenticate.js.map +1 -1
  153. package/dist/middleware/database.js +16 -22
  154. package/dist/middleware/database.js.map +1 -1
  155. package/dist/middleware/demo.middleware.js +19 -27
  156. package/dist/middleware/demo.middleware.js.map +1 -1
  157. package/dist/middleware/exception.filter.js +109 -133
  158. package/dist/middleware/exception.filter.js.map +1 -1
  159. package/dist/middleware/global.middleware.js +28 -47
  160. package/dist/middleware/global.middleware.js.map +1 -1
  161. package/dist/middleware/param-converter.middleware.js +31 -69
  162. package/dist/middleware/param-converter.middleware.js.map +1 -1
  163. package/dist/middleware/passport.js +41 -64
  164. package/dist/middleware/passport.js.map +1 -1
  165. package/dist/middleware/printer-resolver.js +26 -33
  166. package/dist/middleware/printer-resolver.js.map +1 -1
  167. package/dist/middleware/printer.js +56 -94
  168. package/dist/middleware/printer.js.map +1 -1
  169. package/dist/middleware/slicer-api-key.middleware.js +23 -26
  170. package/dist/middleware/slicer-api-key.middleware.js.map +1 -1
  171. package/dist/middleware/socketio.middleware.js +21 -32
  172. package/dist/middleware/socketio.middleware.js.map +1 -1
  173. package/dist/migrations/1706829146617-InitSqlite.js +84 -91
  174. package/dist/migrations/1706829146617-InitSqlite.js.map +1 -1
  175. package/dist/migrations/1707494762198-PrinterGroup.js +22 -29
  176. package/dist/migrations/1707494762198-PrinterGroup.js.map +1 -1
  177. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js +26 -33
  178. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js.map +1 -1
  179. package/dist/migrations/1713300747465-ChangeRoleNameUnique.js +27 -34
  180. package/dist/migrations/1713300747465-ChangeRoleNameUnique.js.map +1 -1
  181. package/dist/migrations/1713897879622-AddPrinterType.js +34 -41
  182. package/dist/migrations/1713897879622-AddPrinterType.js.map +1 -1
  183. package/dist/migrations/1720338804844-RemovePrinterFile.js +12 -19
  184. package/dist/migrations/1720338804844-RemovePrinterFile.js.map +1 -1
  185. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js +26 -33
  186. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js.map +1 -1
  187. package/dist/migrations/1766576698569-DropPermissions.js +11 -18
  188. package/dist/migrations/1766576698569-DropPermissions.js.map +1 -1
  189. package/dist/migrations/1767278216516-ChangeCameraPrinterOnDeleteSetNull.js +26 -33
  190. package/dist/migrations/1767278216516-ChangeCameraPrinterOnDeleteSetNull.js.map +1 -1
  191. package/dist/migrations/1767279607392-DropCustomGcode.js +12 -19
  192. package/dist/migrations/1767279607392-DropCustomGcode.js.map +1 -1
  193. package/dist/migrations/1767291804417-DropPrintCompletions.js +12 -19
  194. package/dist/migrations/1767291804417-DropPrintCompletions.js.map +1 -1
  195. package/dist/migrations/1767352862576-DropSettingsFileClean.js +18 -25
  196. package/dist/migrations/1767352862576-DropSettingsFileClean.js.map +1 -1
  197. package/dist/migrations/1767355639023-ChangeFloorLevelToOrder.js +26 -33
  198. package/dist/migrations/1767355639023-ChangeFloorLevelToOrder.js.map +1 -1
  199. package/dist/migrations/1767370191762-ChangeFloorNonUniqueOrder.js +18 -25
  200. package/dist/migrations/1767370191762-ChangeFloorNonUniqueOrder.js.map +1 -1
  201. package/dist/migrations/1767432108916-RenameGroupToTag.js +22 -29
  202. package/dist/migrations/1767432108916-RenameGroupToTag.js.map +1 -1
  203. package/dist/migrations/1767451444137-AddPrintJob.js +20 -27
  204. package/dist/migrations/1767451444137-AddPrintJob.js.map +1 -1
  205. package/dist/migrations/1767909428129-AddPrinterMaintenanceLog.js +14 -21
  206. package/dist/migrations/1767909428129-AddPrinterMaintenanceLog.js.map +1 -1
  207. package/dist/migrations/1778446203015-AddApiKey.js +49 -0
  208. package/dist/migrations/1778446203015-AddApiKey.js.map +1 -0
  209. package/dist/plugins/controllers-plugin.js +21 -0
  210. package/dist/plugins/controllers-plugin.js.map +1 -0
  211. package/dist/server.constants.js +79 -91
  212. package/dist/server.constants.js.map +1 -1
  213. package/dist/server.core.js +60 -122
  214. package/dist/server.core.js.map +1 -1
  215. package/dist/server.env.js +56 -121
  216. package/dist/server.env.js.map +1 -1
  217. package/dist/server.host.js +66 -99
  218. package/dist/server.host.js.map +1 -1
  219. package/dist/services/authentication/auth.service.js +103 -126
  220. package/dist/services/authentication/auth.service.js.map +1 -1
  221. package/dist/services/authentication/jwt.service.js +23 -32
  222. package/dist/services/authentication/jwt.service.js.map +1 -1
  223. package/dist/services/bambu/bambu-ftp.adapter.js +194 -236
  224. package/dist/services/bambu/bambu-ftp.adapter.js.map +1 -1
  225. package/dist/services/bambu/bambu-mqtt.adapter.js +394 -449
  226. package/dist/services/bambu/bambu-mqtt.adapter.js.map +1 -1
  227. package/dist/services/bambu/bambu.client.js +64 -65
  228. package/dist/services/bambu/bambu.client.js.map +1 -1
  229. package/dist/services/bambu/mqtt-message.types.js +1 -6
  230. package/dist/services/bambu.api.js +230 -247
  231. package/dist/services/bambu.api.js.map +1 -1
  232. package/dist/services/core/batch-call.service.js +139 -163
  233. package/dist/services/core/batch-call.service.js.map +1 -1
  234. package/dist/services/core/client-bundle.service.js +126 -165
  235. package/dist/services/core/client-bundle.service.js.map +1 -1
  236. package/dist/services/core/config.service.js +16 -26
  237. package/dist/services/core/config.service.js.map +1 -1
  238. package/dist/services/core/cradle.service.js +11 -19
  239. package/dist/services/core/cradle.service.js.map +1 -1
  240. package/dist/services/core/github.service.js +59 -79
  241. package/dist/services/core/github.service.js.map +1 -1
  242. package/dist/services/core/http-client.factory.js +30 -38
  243. package/dist/services/core/http-client.factory.js.map +1 -1
  244. package/dist/services/core/logs-manager.service.js +61 -84
  245. package/dist/services/core/logs-manager.service.js.map +1 -1
  246. package/dist/services/core/monsterpi.service.js +26 -36
  247. package/dist/services/core/monsterpi.service.js.map +1 -1
  248. package/dist/services/core/multer.service.js +69 -129
  249. package/dist/services/core/multer.service.js.map +1 -1
  250. package/dist/services/core/server-release.service.js +77 -99
  251. package/dist/services/core/server-release.service.js.map +1 -1
  252. package/dist/services/core/yaml.service.js +443 -573
  253. package/dist/services/core/yaml.service.js.map +1 -1
  254. package/dist/services/file-analysis.service.js +134 -144
  255. package/dist/services/file-analysis.service.js.map +1 -1
  256. package/dist/services/file-storage.service.js +324 -423
  257. package/dist/services/file-storage.service.js.map +1 -1
  258. package/dist/services/interfaces/api-key.dto.js +19 -0
  259. package/dist/services/interfaces/api-key.dto.js.map +1 -0
  260. package/dist/services/interfaces/api-key.service.interface.js +1 -0
  261. package/dist/services/interfaces/auth.service.interface.js +1 -6
  262. package/dist/services/interfaces/camera-stream.dto.js +23 -41
  263. package/dist/services/interfaces/camera-stream.dto.js.map +1 -1
  264. package/dist/services/interfaces/camera-stream.service.interface.js +1 -6
  265. package/dist/services/interfaces/file-upload-tracker.interface.js +1 -6
  266. package/dist/services/interfaces/floor.dto.js +31 -55
  267. package/dist/services/interfaces/floor.dto.js.map +1 -1
  268. package/dist/services/interfaces/floor.service.interface.js +1 -6
  269. package/dist/services/interfaces/jwt.service.interface.js +1 -6
  270. package/dist/services/interfaces/login.dto.js +10 -17
  271. package/dist/services/interfaces/login.dto.js.map +1 -1
  272. package/dist/services/interfaces/page.interface.js +5 -12
  273. package/dist/services/interfaces/page.interface.js.map +1 -1
  274. package/dist/services/interfaces/permission.service.interface.js +1 -6
  275. package/dist/services/interfaces/printer-file.dto.js +1 -6
  276. package/dist/services/interfaces/printer-maintenance-log.dto.js +1 -6
  277. package/dist/services/interfaces/printer-tag.dto.js +11 -26
  278. package/dist/services/interfaces/printer-tag.dto.js.map +1 -1
  279. package/dist/services/interfaces/printer-tag.service.interface.js +1 -6
  280. package/dist/services/interfaces/printer.dto.js +21 -36
  281. package/dist/services/interfaces/printer.dto.js.map +1 -1
  282. package/dist/services/interfaces/printer.service.interface.js +1 -6
  283. package/dist/services/interfaces/refresh-token.dto.js +9 -16
  284. package/dist/services/interfaces/refresh-token.dto.js.map +1 -1
  285. package/dist/services/interfaces/refresh-token.service.interface.js +1 -6
  286. package/dist/services/interfaces/role-service.interface.js +1 -6
  287. package/dist/services/interfaces/role.dto.js +7 -14
  288. package/dist/services/interfaces/role.dto.js.map +1 -1
  289. package/dist/services/interfaces/settings.dto.js +10 -17
  290. package/dist/services/interfaces/settings.dto.js.map +1 -1
  291. package/dist/services/interfaces/settings.service.interface.js +1 -6
  292. package/dist/services/interfaces/tag.dto.js +1 -6
  293. package/dist/services/interfaces/task.interfaces.js +1 -6
  294. package/dist/services/interfaces/user-role.dto.js +9 -16
  295. package/dist/services/interfaces/user-role.dto.js.map +1 -1
  296. package/dist/services/interfaces/user-service.interface.js +1 -6
  297. package/dist/services/interfaces/user.dto.js +24 -37
  298. package/dist/services/interfaces/user.dto.js.map +1 -1
  299. package/dist/services/moonraker/constants/moonraker-event.dto.js +16 -31
  300. package/dist/services/moonraker/constants/moonraker-event.dto.js.map +1 -1
  301. package/dist/services/moonraker/constants/moonraker.constants.js +4 -11
  302. package/dist/services/moonraker/constants/moonraker.constants.js.map +1 -1
  303. package/dist/services/moonraker/dto/access/access-info.dto.js +1 -6
  304. package/dist/services/moonraker/dto/access/access-login-refresh.dto.js +1 -6
  305. package/dist/services/moonraker/dto/access/access-login-result.dto.js +1 -6
  306. package/dist/services/moonraker/dto/access/access-user-result.dto.js +1 -6
  307. package/dist/services/moonraker/dto/access/access-user.dto.js +1 -6
  308. package/dist/services/moonraker/dto/database/database-namespace-item.dto.js +1 -6
  309. package/dist/services/moonraker/dto/database/database-namespace-list.dto.js +1 -6
  310. package/dist/services/moonraker/dto/gcode-help.dto.js +1 -6
  311. package/dist/services/moonraker/dto/gcode-store.dto.js +1 -6
  312. package/dist/services/moonraker/dto/job-queue/enqueue-job.dto.js +1 -6
  313. package/dist/services/moonraker/dto/job-queue/job-queue-status.dto.js +1 -6
  314. package/dist/services/moonraker/dto/machine/machine-device-power-device-state.dto.js +1 -6
  315. package/dist/services/moonraker/dto/machine/machine-device-power-devices.dto.js +1 -6
  316. package/dist/services/moonraker/dto/machine/machine-peripherals-canbus.dto.js +1 -6
  317. package/dist/services/moonraker/dto/machine/machine-peripherals-serial.dto.js +1 -6
  318. package/dist/services/moonraker/dto/machine/machine-peripherals-usb.dto.js +1 -6
  319. package/dist/services/moonraker/dto/machine/machine-peripherals-video.dto.js +1 -6
  320. package/dist/services/moonraker/dto/machine/machine-system-info.dto.js +1 -6
  321. package/dist/services/moonraker/dto/machine/machine-update-status.dto.js +1 -6
  322. package/dist/services/moonraker/dto/machine/machine-wled-strips.dto.js +1 -6
  323. package/dist/services/moonraker/dto/notifier-list.dto.js +1 -6
  324. package/dist/services/moonraker/dto/objects/bed-mesh.dto.js +1 -6
  325. package/dist/services/moonraker/dto/objects/configfile.dto.js +1 -6
  326. package/dist/services/moonraker/dto/objects/display-status.dto.js +1 -6
  327. package/dist/services/moonraker/dto/objects/extruder.dto.js +1 -6
  328. package/dist/services/moonraker/dto/objects/fan.dto.js +1 -6
  329. package/dist/services/moonraker/dto/objects/filament-motion-sensor.dto.js +1 -6
  330. package/dist/services/moonraker/dto/objects/filament-switch-sensor.dto.js +1 -6
  331. package/dist/services/moonraker/dto/objects/gcode-move.dto.js +1 -6
  332. package/dist/services/moonraker/dto/objects/gcode.dto.js +1 -6
  333. package/dist/services/moonraker/dto/objects/heater-bed.dto.js +1 -6
  334. package/dist/services/moonraker/dto/objects/heaters.dto.js +1 -6
  335. package/dist/services/moonraker/dto/objects/idle-timeout.dto.js +6 -21
  336. package/dist/services/moonraker/dto/objects/idle-timeout.dto.js.map +1 -1
  337. package/dist/services/moonraker/dto/objects/mcu.dto.js +1 -6
  338. package/dist/services/moonraker/dto/objects/motion-report.dto.js +1 -6
  339. package/dist/services/moonraker/dto/objects/output-pin.dto.js +1 -6
  340. package/dist/services/moonraker/dto/objects/pause-resume.dto.js +1 -6
  341. package/dist/services/moonraker/dto/objects/print-stats.dto.js +9 -24
  342. package/dist/services/moonraker/dto/objects/print-stats.dto.js.map +1 -1
  343. package/dist/services/moonraker/dto/objects/printer-object.dto.js +1 -6
  344. package/dist/services/moonraker/dto/objects/printer-object.types.js +1 -6
  345. package/dist/services/moonraker/dto/objects/printer-objects-list.dto.js +28 -43
  346. package/dist/services/moonraker/dto/objects/printer-objects-list.dto.js.map +1 -1
  347. package/dist/services/moonraker/dto/objects/printer-objects-query.dto.js +1 -6
  348. package/dist/services/moonraker/dto/objects/stepper-enable.dto.js +1 -6
  349. package/dist/services/moonraker/dto/objects/system-stats.dto.js +1 -6
  350. package/dist/services/moonraker/dto/objects/temperature-fan.dto.js +1 -6
  351. package/dist/services/moonraker/dto/objects/temperature-sensor.dto.js +1 -6
  352. package/dist/services/moonraker/dto/objects/toolhead.dto.js +1 -6
  353. package/dist/services/moonraker/dto/objects/virtual-sdcard.dto.js +1 -6
  354. package/dist/services/moonraker/dto/objects/webhooks.dto.js +1 -6
  355. package/dist/services/moonraker/dto/octoprint-compat/api-job.dto.js +1 -6
  356. package/dist/services/moonraker/dto/octoprint-compat/api-login.dto.js +1 -6
  357. package/dist/services/moonraker/dto/octoprint-compat/api-printer.dto.js +1 -6
  358. package/dist/services/moonraker/dto/octoprint-compat/api-profiles.dto.js +1 -6
  359. package/dist/services/moonraker/dto/octoprint-compat/api-settings.dto.js +1 -6
  360. package/dist/services/moonraker/dto/octoprint-compat/api-version.dto.js +1 -6
  361. package/dist/services/moonraker/dto/octoprint-compat/server-version.dto.js +1 -6
  362. package/dist/services/moonraker/dto/printer-info.dto.js +7 -22
  363. package/dist/services/moonraker/dto/printer-info.dto.js.map +1 -1
  364. package/dist/services/moonraker/dto/printer-query-endstops.dto.js +1 -6
  365. package/dist/services/moonraker/dto/process-stats.dto.js +1 -6
  366. package/dist/services/moonraker/dto/rest/action-result.dto.js +1 -6
  367. package/dist/services/moonraker/dto/rest/error.dto.js +1 -6
  368. package/dist/services/moonraker/dto/rest/result.dto.js +6 -13
  369. package/dist/services/moonraker/dto/rest/result.dto.js.map +1 -1
  370. package/dist/services/moonraker/dto/rollover-logs.dto.js +1 -6
  371. package/dist/services/moonraker/dto/rpc/json-rpc-error.dto.js +1 -6
  372. package/dist/services/moonraker/dto/rpc/json-rpc-request.dto.js +1 -6
  373. package/dist/services/moonraker/dto/rpc/json-rpc-response.dto.js +1 -6
  374. package/dist/services/moonraker/dto/server/server-config.dto.js +1 -6
  375. package/dist/services/moonraker/dto/server/server-info.dto.js +7 -14
  376. package/dist/services/moonraker/dto/server/server-info.dto.js.map +1 -1
  377. package/dist/services/moonraker/dto/server-announcements/announcement-action.dto.js +1 -6
  378. package/dist/services/moonraker/dto/server-announcements/announcement-entry-id.dto.js +1 -6
  379. package/dist/services/moonraker/dto/server-announcements/announcement-feeds.dto.js +1 -6
  380. package/dist/services/moonraker/dto/server-announcements/announcement-list.dto.js +1 -6
  381. package/dist/services/moonraker/dto/server-files/server-file-directory-action.dto.js +1 -6
  382. package/dist/services/moonraker/dto/server-files/server-file-directory-info.dto.js +1 -6
  383. package/dist/services/moonraker/dto/server-files/server-file-metadata.dto.js +1 -6
  384. package/dist/services/moonraker/dto/server-files/server-file-root.dto.js +1 -6
  385. package/dist/services/moonraker/dto/server-files/server-file-thumbnail.dto.js +1 -6
  386. package/dist/services/moonraker/dto/server-files/server-file-zip-action.dto.js +1 -6
  387. package/dist/services/moonraker/dto/server-files/server-file.dto.js +1 -6
  388. package/dist/services/moonraker/dto/server-history/history-job.dto.js +1 -6
  389. package/dist/services/moonraker/dto/server-history/history-last-totals.dto.js +1 -6
  390. package/dist/services/moonraker/dto/server-history/history-list.dto.js +1 -6
  391. package/dist/services/moonraker/dto/server-history/history-totals.dto.js +1 -6
  392. package/dist/services/moonraker/dto/server-history/job.dto.js +6 -21
  393. package/dist/services/moonraker/dto/server-history/job.dto.js.map +1 -1
  394. package/dist/services/moonraker/dto/server-sensors/sensor-info.dto.js +1 -6
  395. package/dist/services/moonraker/dto/server-sensors/sensor-list.dto.js +1 -6
  396. package/dist/services/moonraker/dto/server-sensors/sensor-measurements.dto.js +1 -6
  397. package/dist/services/moonraker/dto/server-webcams/webcam-item.dto.js +1 -6
  398. package/dist/services/moonraker/dto/server-webcams/webcam-list.dto.js +1 -6
  399. package/dist/services/moonraker/dto/server-webcams/webcam-test.dto.js +1 -6
  400. package/dist/services/moonraker/dto/spoolman/spoolman-active-spool.dto.js +1 -6
  401. package/dist/services/moonraker/dto/spoolman/spoolman-proxy-request.dto.js +1 -6
  402. package/dist/services/moonraker/dto/spoolman/spoolman-response.dto.js +1 -6
  403. package/dist/services/moonraker/dto/spoolman/spoolman-status.dto.js +1 -6
  404. package/dist/services/moonraker/dto/sudo-info.dto.js +1 -6
  405. package/dist/services/moonraker/dto/sudo-response.dto.js +1 -6
  406. package/dist/services/moonraker/dto/temperature-store.dto.js +1 -6
  407. package/dist/services/moonraker/dto/websocket/connection-identify-response.dto.js +1 -6
  408. package/dist/services/moonraker/dto/websocket/connection-identify.dto.js +1 -6
  409. package/dist/services/moonraker/dto/websocket/json-rpc-event.dto.js +1 -6
  410. package/dist/services/moonraker/dto/websocket/message.types.js +1 -6
  411. package/dist/services/moonraker/dto/websocket/methods.js +29 -44
  412. package/dist/services/moonraker/dto/websocket/methods.js.map +1 -1
  413. package/dist/services/moonraker/dto/websocket/notify-active-spool-set.params.js +1 -6
  414. package/dist/services/moonraker/dto/websocket/notify-agent-event.params.js +1 -6
  415. package/dist/services/moonraker/dto/websocket/notify-announcement-update.params.js +1 -6
  416. package/dist/services/moonraker/dto/websocket/notify-announcement.params.js +1 -6
  417. package/dist/services/moonraker/dto/websocket/notify-button-event.params.js +1 -6
  418. package/dist/services/moonraker/dto/websocket/notify-filelist-changed.params.js +11 -18
  419. package/dist/services/moonraker/dto/websocket/notify-filelist-changed.params.js.map +1 -1
  420. package/dist/services/moonraker/dto/websocket/notify-history-changed.params.js +1 -6
  421. package/dist/services/moonraker/dto/websocket/notify-job-queue-changed.params.js +1 -6
  422. package/dist/services/moonraker/dto/websocket/notify-proc-stat-update.params.js +1 -6
  423. package/dist/services/moonraker/dto/websocket/notify-sensor-update.params.js +1 -6
  424. package/dist/services/moonraker/dto/websocket/notify-service-state-changed.params.js +1 -6
  425. package/dist/services/moonraker/dto/websocket/notify-spoolman-status-changed.js +1 -6
  426. package/dist/services/moonraker/dto/websocket/notify-sudo-alert.params.js +1 -6
  427. package/dist/services/moonraker/dto/websocket/notify-update-response.params.js +7 -22
  428. package/dist/services/moonraker/dto/websocket/notify-update-response.params.js.map +1 -1
  429. package/dist/services/moonraker/dto/websocket/notify-user-change.params.js +1 -6
  430. package/dist/services/moonraker/moonraker-websocket.adapter.js +313 -348
  431. package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
  432. package/dist/services/moonraker/moonraker.client.js +536 -559
  433. package/dist/services/moonraker/moonraker.client.js.map +1 -1
  434. package/dist/services/moonraker.api.js +167 -192
  435. package/dist/services/moonraker.api.js.map +1 -1
  436. package/dist/services/octoprint/constants/firmware-update-settings.constants.js +19 -28
  437. package/dist/services/octoprint/constants/firmware-update-settings.constants.js.map +1 -1
  438. package/dist/services/octoprint/constants/octoprint-service.constants.js +3 -30
  439. package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -1
  440. package/dist/services/octoprint/constants/octoprint-websocket.constants.js +41 -56
  441. package/dist/services/octoprint/constants/octoprint-websocket.constants.js.map +1 -1
  442. package/dist/services/octoprint/dto/access/user-list.dto.js +1 -6
  443. package/dist/services/octoprint/dto/access/user.dto.js +1 -6
  444. package/dist/services/octoprint/dto/auth/current-user.dto.js +1 -6
  445. package/dist/services/octoprint/dto/auth/login.dto.js +1 -6
  446. package/dist/services/octoprint/dto/connection/connection-state.type.js +23 -30
  447. package/dist/services/octoprint/dto/connection/connection-state.type.js.map +1 -1
  448. package/dist/services/octoprint/dto/connection/connection.dto.js +1 -6
  449. package/dist/services/octoprint/dto/events/client-authed.dto.js +1 -6
  450. package/dist/services/octoprint/dto/events/client-closed.dto.js +1 -6
  451. package/dist/services/octoprint/dto/events/client-opened.dto.js +1 -6
  452. package/dist/services/octoprint/dto/events/dwelling.dto.js +1 -6
  453. package/dist/services/octoprint/dto/events/file-added.dto.js +1 -6
  454. package/dist/services/octoprint/dto/events/file-deselected.dto.js +1 -6
  455. package/dist/services/octoprint/dto/events/file-removed.dto.js +1 -6
  456. package/dist/services/octoprint/dto/events/folder-added.dto.js +1 -6
  457. package/dist/services/octoprint/dto/events/home.dto.js +1 -6
  458. package/dist/services/octoprint/dto/events/metadata-analysis-finished.dto.js +1 -6
  459. package/dist/services/octoprint/dto/events/metadata-analysis-started.dto.js +1 -6
  460. package/dist/services/octoprint/dto/events/metadata-statistics-updated.dto.js +1 -6
  461. package/dist/services/octoprint/dto/events/position-update.dto.js +1 -6
  462. package/dist/services/octoprint/dto/events/print-cancelled.dto.js +1 -6
  463. package/dist/services/octoprint/dto/events/print-cancelling.dto.js +1 -6
  464. package/dist/services/octoprint/dto/events/print-done.dto.js +1 -6
  465. package/dist/services/octoprint/dto/events/print-failed.dto.js +1 -6
  466. package/dist/services/octoprint/dto/events/print-paused.dto.js +1 -6
  467. package/dist/services/octoprint/dto/events/print-resumed.dto.js +1 -6
  468. package/dist/services/octoprint/dto/events/print-started.dto.js +1 -6
  469. package/dist/services/octoprint/dto/events/printer-state-changed.dto.js +1 -6
  470. package/dist/services/octoprint/dto/events/transfer-done.dto.js +1 -6
  471. package/dist/services/octoprint/dto/events/transfer-started.dto.js +1 -6
  472. package/dist/services/octoprint/dto/events/updated-files.dto.js +1 -6
  473. package/dist/services/octoprint/dto/events/upload.dto.js +1 -6
  474. package/dist/services/octoprint/dto/events/user-logged-in.dto.js +1 -6
  475. package/dist/services/octoprint/dto/events/z-change.dto.js +1 -6
  476. package/dist/services/octoprint/dto/files/gcode-analysis.dto.js +1 -6
  477. package/dist/services/octoprint/dto/files/octoprint-file.dto.js +1 -6
  478. package/dist/services/octoprint/dto/files/octoprint-files-response.dto.js +1 -6
  479. package/dist/services/octoprint/dto/job/current-job.dto.js +8 -15
  480. package/dist/services/octoprint/dto/job/current-job.dto.js.map +1 -1
  481. package/dist/services/octoprint/dto/job/job.dto.js +1 -6
  482. package/dist/services/octoprint/dto/octoprint-event.dto.js +21 -39
  483. package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
  484. package/dist/services/octoprint/dto/printer/busy-file.dto.js +1 -6
  485. package/dist/services/octoprint/dto/printer/current-printer-state.dto.js +1 -6
  486. package/dist/services/octoprint/dto/printer/flags.dto.js +1 -6
  487. package/dist/services/octoprint/dto/printer/markings.dto.js +1 -6
  488. package/dist/services/octoprint/dto/printer/progress.dto.js +1 -6
  489. package/dist/services/octoprint/dto/printer/resends.dto.js +1 -6
  490. package/dist/services/octoprint/dto/printer/state.dto.js +1 -6
  491. package/dist/services/octoprint/dto/printer/temps.dto.js +1 -6
  492. package/dist/services/octoprint/dto/rest/error.dto.js +1 -6
  493. package/dist/services/octoprint/dto/server/server.dto.js +1 -6
  494. package/dist/services/octoprint/dto/server/version.dto.js +1 -6
  495. package/dist/services/octoprint/dto/settings/serial-settings.dto.js +1 -6
  496. package/dist/services/octoprint/dto/settings/settings-parts.type.js +1 -6
  497. package/dist/services/octoprint/dto/settings/settings.dto.js +1 -6
  498. package/dist/services/octoprint/dto/settings/virtual-printer-settings.dto.js +1 -6
  499. package/dist/services/octoprint/dto/system/system-info.dto.js +32 -39
  500. package/dist/services/octoprint/dto/system/system-info.dto.js.map +1 -1
  501. package/dist/services/octoprint/dto/websocket/connection-message.dto.js +1 -6
  502. package/dist/services/octoprint/dto/websocket/current-message.dto.js +1 -6
  503. package/dist/services/octoprint/dto/websocket/event-message.dto.js +1 -6
  504. package/dist/services/octoprint/dto/websocket/event.type.js +42 -49
  505. package/dist/services/octoprint/dto/websocket/event.type.js.map +1 -1
  506. package/dist/services/octoprint/dto/websocket/history-message.dto.js +1 -6
  507. package/dist/services/octoprint/dto/websocket/plugin-message.dto.js +1 -6
  508. package/dist/services/octoprint/dto/websocket/timelapse-message.dto.js +1 -6
  509. package/dist/services/octoprint/octoprint-api.routes.js +77 -94
  510. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
  511. package/dist/services/octoprint/octoprint-websocket.adapter.js +265 -315
  512. package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
  513. package/dist/services/octoprint/octoprint.client.js +220 -261
  514. package/dist/services/octoprint/octoprint.client.js.map +1 -1
  515. package/dist/services/octoprint/utils/api.utils.js +15 -32
  516. package/dist/services/octoprint/utils/api.utils.js.map +1 -1
  517. package/dist/services/octoprint/utils/file.utils.js +44 -67
  518. package/dist/services/octoprint/utils/file.utils.js.map +1 -1
  519. package/dist/services/octoprint/utils/octoprint-http-client.builder.js +16 -29
  520. package/dist/services/octoprint/utils/octoprint-http-client.builder.js.map +1 -1
  521. package/dist/services/octoprint.api.js +113 -128
  522. package/dist/services/octoprint.api.js.map +1 -1
  523. package/dist/services/orm/api-key.service.js +90 -0
  524. package/dist/services/orm/api-key.service.js.map +1 -0
  525. package/dist/services/orm/base.interface.js +1 -6
  526. package/dist/services/orm/base.service.js +57 -73
  527. package/dist/services/orm/base.service.js.map +1 -1
  528. package/dist/services/orm/camera-stream.service.js +21 -27
  529. package/dist/services/orm/camera-stream.service.js.map +1 -1
  530. package/dist/services/orm/floor-position.service.js +42 -49
  531. package/dist/services/orm/floor-position.service.js.map +1 -1
  532. package/dist/services/orm/floor.service.js +110 -138
  533. package/dist/services/orm/floor.service.js.map +1 -1
  534. package/dist/services/orm/permission.service.js +16 -23
  535. package/dist/services/orm/permission.service.js.map +1 -1
  536. package/dist/services/orm/print-job.service.js +443 -545
  537. package/dist/services/orm/print-job.service.js.map +1 -1
  538. package/dist/services/orm/printer-maintenance-log.service.js +102 -149
  539. package/dist/services/orm/printer-maintenance-log.service.js.map +1 -1
  540. package/dist/services/orm/printer-tag.service.js +93 -118
  541. package/dist/services/orm/printer-tag.service.js.map +1 -1
  542. package/dist/services/orm/printer.service.js +110 -158
  543. package/dist/services/orm/printer.service.js.map +1 -1
  544. package/dist/services/orm/refresh-token.service.js +69 -99
  545. package/dist/services/orm/refresh-token.service.js.map +1 -1
  546. package/dist/services/orm/role.service.js +99 -116
  547. package/dist/services/orm/role.service.js.map +1 -1
  548. package/dist/services/orm/settings.service.js +84 -94
  549. package/dist/services/orm/settings.service.js.map +1 -1
  550. package/dist/services/orm/user-role.service.js +39 -53
  551. package/dist/services/orm/user-role.service.js.map +1 -1
  552. package/dist/services/orm/user.service.js +142 -189
  553. package/dist/services/orm/user.service.js.map +1 -1
  554. package/dist/services/print-file-downloader.service.js +153 -167
  555. package/dist/services/print-file-downloader.service.js.map +1 -1
  556. package/dist/services/print-queue.service.js +240 -326
  557. package/dist/services/print-queue.service.js.map +1 -1
  558. package/dist/services/printer-api.factory.js +26 -43
  559. package/dist/services/printer-api.factory.js.map +1 -1
  560. package/dist/services/printer-api.interface.js +23 -53
  561. package/dist/services/printer-api.interface.js.map +1 -1
  562. package/dist/services/prusa-link/constants/prusalink-event.dto.js +9 -16
  563. package/dist/services/prusa-link/constants/prusalink-event.dto.js.map +1 -1
  564. package/dist/services/prusa-link/constants/prusalink.constants.js +4 -11
  565. package/dist/services/prusa-link/constants/prusalink.constants.js.map +1 -1
  566. package/dist/services/prusa-link/dto/file-response.dto.js +1 -6
  567. package/dist/services/prusa-link/dto/file.dto.js +1 -6
  568. package/dist/services/prusa-link/dto/job-state.dto.js +1 -6
  569. package/dist/services/prusa-link/dto/printer-state.dto.js +1 -6
  570. package/dist/services/prusa-link/dto/status.dto.js +1 -6
  571. package/dist/services/prusa-link/dto/version.dto.js +1 -6
  572. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js +141 -157
  573. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js.map +1 -1
  574. package/dist/services/prusa-link/prusa-link.api.js +206 -240
  575. package/dist/services/prusa-link/prusa-link.api.js.map +1 -1
  576. package/dist/services/prusa-link/utils/digest-auth.params.js +1 -6
  577. package/dist/services/prusa-link/utils/digest-auth.util.js +17 -24
  578. package/dist/services/prusa-link/utils/digest-auth.util.js.map +1 -1
  579. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js +92 -129
  580. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js.map +1 -1
  581. package/dist/services/socket.factory.js +21 -36
  582. package/dist/services/socket.factory.js.map +1 -1
  583. package/dist/services/task-manager.service.js +190 -174
  584. package/dist/services/task-manager.service.js.map +1 -1
  585. package/dist/services/typeorm/typeorm.service.js +31 -46
  586. package/dist/services/typeorm/typeorm.service.js.map +1 -1
  587. package/dist/services/validators/floor-service.validation.js +26 -63
  588. package/dist/services/validators/floor-service.validation.js.map +1 -1
  589. package/dist/services/validators/print-job.validation.js +11 -26
  590. package/dist/services/validators/print-job.validation.js.map +1 -1
  591. package/dist/services/validators/printer-maintenance-log.validation.js +17 -37
  592. package/dist/services/validators/printer-maintenance-log.validation.js.map +1 -1
  593. package/dist/services/validators/printer-service.validation.js +60 -125
  594. package/dist/services/validators/printer-service.validation.js.map +1 -1
  595. package/dist/services/validators/settings-service.validation.js +46 -106
  596. package/dist/services/validators/settings-service.validation.js.map +1 -1
  597. package/dist/services/validators/user-service.validation.js +19 -36
  598. package/dist/services/validators/user-service.validation.js.map +1 -1
  599. package/dist/services/validators/yaml-service.validation.js +96 -132
  600. package/dist/services/validators/yaml-service.validation.js.map +1 -1
  601. package/dist/services/websocket-adapter.interface.js +1 -6
  602. package/dist/shared/default-http-client.builder.js +74 -92
  603. package/dist/shared/default-http-client.builder.js.map +1 -1
  604. package/dist/shared/dtos/api-state.type.js +8 -15
  605. package/dist/shared/dtos/api-state.type.js.map +1 -1
  606. package/dist/shared/dtos/socket-login.dto.js +1 -6
  607. package/dist/shared/dtos/socket-state.type.js +11 -18
  608. package/dist/shared/dtos/socket-state.type.js.map +1 -1
  609. package/dist/shared/load-controllers.js +41 -19
  610. package/dist/shared/load-controllers.js.map +1 -1
  611. package/dist/shared/runtime-settings.migration.js +43 -50
  612. package/dist/shared/runtime-settings.migration.js.map +1 -1
  613. package/dist/shared/websocket-rpc-extended.adapter.js +74 -75
  614. package/dist/shared/websocket-rpc-extended.adapter.js.map +1 -1
  615. package/dist/shared/websocket.adapter.js +78 -63
  616. package/dist/shared/websocket.adapter.js.map +1 -1
  617. package/dist/state/file-upload-tracker.cache.js +63 -75
  618. package/dist/state/file-upload-tracker.cache.js.map +1 -1
  619. package/dist/state/floor.store.js +77 -89
  620. package/dist/state/floor.store.js.map +1 -1
  621. package/dist/state/printer-events.cache.js +237 -295
  622. package/dist/state/printer-events.cache.js.map +1 -1
  623. package/dist/state/printer-socket.store.js +156 -174
  624. package/dist/state/printer-socket.store.js.map +1 -1
  625. package/dist/state/printer-thumbnail.cache.js +129 -130
  626. package/dist/state/printer-thumbnail.cache.js.map +1 -1
  627. package/dist/state/printer.cache.js +87 -102
  628. package/dist/state/printer.cache.js.map +1 -1
  629. package/dist/state/settings.store.js +211 -234
  630. package/dist/state/settings.store.js.map +1 -1
  631. package/dist/state/socket-io.gateway.js +58 -87
  632. package/dist/state/socket-io.gateway.js.map +1 -1
  633. package/dist/state/test-printer-socket.store.js +116 -137
  634. package/dist/state/test-printer-socket.store.js.map +1 -1
  635. package/dist/state/validation/create-test-printer.validation.js +14 -21
  636. package/dist/state/validation/create-test-printer.validation.js.map +1 -1
  637. package/dist/task.presets.js +30 -37
  638. package/dist/task.presets.js.map +1 -1
  639. package/dist/tasks/boot.task.js +100 -128
  640. package/dist/tasks/boot.task.js.map +1 -1
  641. package/dist/tasks/client-bundle.task.js +20 -28
  642. package/dist/tasks/client-bundle.task.js.map +1 -1
  643. package/dist/tasks/print-job-analysis.task.js +88 -113
  644. package/dist/tasks/print-job-analysis.task.js.map +1 -1
  645. package/dist/tasks/printer-websocket-restore.task.js +41 -54
  646. package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
  647. package/dist/tasks/printer-websocket.task.js +11 -19
  648. package/dist/tasks/printer-websocket.task.js.map +1 -1
  649. package/dist/tasks/socketio.task.js +35 -53
  650. package/dist/tasks/socketio.task.js.map +1 -1
  651. package/dist/tasks/software-update.task.js +12 -20
  652. package/dist/tasks/software-update.task.js.map +1 -1
  653. package/dist/tasks.js +27 -41
  654. package/dist/tasks.js.map +1 -1
  655. package/dist/types/express/index.d.js +1 -6
  656. package/dist/types/virtual-modules.d.js +1 -0
  657. package/dist/utils/array.util.js +9 -24
  658. package/dist/utils/array.util.js.map +1 -1
  659. package/dist/utils/bgcode/bgcode-thumbnail.parser.js +26 -44
  660. package/dist/utils/bgcode/bgcode-thumbnail.parser.js.map +1 -1
  661. package/dist/utils/bgcode/bgcode.constants.js +9 -45
  662. package/dist/utils/bgcode/bgcode.constants.js.map +1 -1
  663. package/dist/utils/bgcode/bgcode.types.js +57 -106
  664. package/dist/utils/bgcode/bgcode.types.js.map +1 -1
  665. package/dist/utils/bgcode/bgcode.utils.js +167 -256
  666. package/dist/utils/bgcode/bgcode.utils.js.map +1 -1
  667. package/dist/utils/bgcode/heatshrink-decoder.js +130 -170
  668. package/dist/utils/bgcode/heatshrink-decoder.js.map +1 -1
  669. package/dist/utils/bgcode/png-encoder.js +53 -66
  670. package/dist/utils/bgcode/png-encoder.js.map +1 -1
  671. package/dist/utils/bgcode/qoi-decoder.js +116 -135
  672. package/dist/utils/bgcode/qoi-decoder.js.map +1 -1
  673. package/dist/utils/cache/key-diff.cache.js +56 -85
  674. package/dist/utils/cache/key-diff.cache.js.map +1 -1
  675. package/dist/utils/correlation-token.util.js +4 -11
  676. package/dist/utils/correlation-token.util.js.map +1 -1
  677. package/dist/utils/crypto.utils.js +7 -23
  678. package/dist/utils/crypto.utils.js.map +1 -1
  679. package/dist/utils/env.utils.js +14 -49
  680. package/dist/utils/env.utils.js.map +1 -1
  681. package/dist/utils/error.utils.js +4 -11
  682. package/dist/utils/error.utils.js.map +1 -1
  683. package/dist/utils/fs.utils.js +26 -49
  684. package/dist/utils/fs.utils.js.map +1 -1
  685. package/dist/utils/gcode.utils.js +30 -43
  686. package/dist/utils/gcode.utils.js.map +1 -1
  687. package/dist/utils/image-dimensions.js +39 -54
  688. package/dist/utils/image-dimensions.js.map +1 -1
  689. package/dist/utils/job-stats.util.js +41 -72
  690. package/dist/utils/job-stats.util.js.map +1 -1
  691. package/dist/utils/normalize-url.js +135 -203
  692. package/dist/utils/normalize-url.js.map +1 -1
  693. package/dist/utils/parsers/3mf.parser.js +298 -365
  694. package/dist/utils/parsers/3mf.parser.js.map +1 -1
  695. package/dist/utils/parsers/bgcode.parser.js +149 -202
  696. package/dist/utils/parsers/bgcode.parser.js.map +1 -1
  697. package/dist/utils/parsers/gcode.parser.js +200 -263
  698. package/dist/utils/parsers/gcode.parser.js.map +1 -1
  699. package/dist/utils/parsers/parser.types.js +1 -6
  700. package/dist/utils/pretty-print.utils.js +5 -20
  701. package/dist/utils/pretty-print.utils.js.map +1 -1
  702. package/dist/utils/semver.utils.js +10 -26
  703. package/dist/utils/semver.utils.js.map +1 -1
  704. package/dist/utils/swagger/decorators.js +14 -32
  705. package/dist/utils/swagger/decorators.js.map +1 -1
  706. package/dist/utils/swagger/generator.js +151 -194
  707. package/dist/utils/swagger/generator.js.map +1 -1
  708. package/dist/utils/swagger/swagger.js +40 -51
  709. package/dist/utils/swagger/swagger.js.map +1 -1
  710. package/dist/utils/thumbnail.util.js +11 -20
  711. package/dist/utils/thumbnail.util.js.map +1 -1
  712. package/dist/utils/time.utils.js +4 -12
  713. package/dist/utils/time.utils.js.map +1 -1
  714. package/dist/utils/url.utils.js +9 -27
  715. package/dist/utils/url.utils.js.map +1 -1
  716. package/package.json +80 -91
  717. package/packages/consoles/package.json +44 -0
  718. package/packages/consoles/tsconfig.json +23 -0
  719. package/packages/consoles/vite.config.ts +15 -0
  720. package/tsconfig.json +10 -6
  721. package/vite.config.ts +62 -0
  722. package/.swcrc +0 -33
  723. package/.yarn/releases/yarn-4.12.0.cjs +0 -942
  724. package/biome.json +0 -36
  725. package/dist/consoles/bambu-mqtt-diagnostic.console.js +0 -565
  726. package/dist/consoles/bambu-mqtt-diagnostic.console.js.map +0 -1
  727. package/dist/consoles/download-github-releases.js +0 -50
  728. package/dist/consoles/download-github-releases.js.map +0 -1
  729. package/dist/consoles/gcode-scanner-poc.console.js +0 -52
  730. package/dist/consoles/gcode-scanner-poc.console.js.map +0 -1
  731. package/dist/consoles/launch-http-servers.js +0 -31
  732. package/dist/consoles/launch-http-servers.js.map +0 -1
  733. package/dist/consoles/mock-bambu.server.js +0 -319
  734. package/dist/consoles/mock-bambu.server.js.map +0 -1
  735. package/dist/consoles/mock-camera/default-image.js +0 -13
  736. package/dist/consoles/mock-camera/default-image.js.map +0 -1
  737. package/dist/consoles/mock-camera/mock-camera.server.js +0 -160
  738. package/dist/consoles/mock-camera/mock-camera.server.js.map +0 -1
  739. package/dist/consoles/mock-octoprint.server.js +0 -499
  740. package/dist/consoles/mock-octoprint.server.js.map +0 -1
  741. package/dist/consoles/mock-prusalink.server.js +0 -57
  742. package/dist/consoles/mock-prusalink.server.js.map +0 -1
  743. package/dist/consoles/moonraker-test.console.js +0 -3
  744. package/dist/consoles/moonraker-test.console.js.map +0 -1
  745. package/dist/consoles/utils/api-messages.js +0 -856
  746. package/dist/consoles/utils/api-messages.js.map +0 -1
  747. package/dist/consoles/utils/delayed-memory.storage.js +0 -42
  748. package/dist/consoles/utils/delayed-memory.storage.js.map +0 -1
  749. package/dist/consoles/utils/ws-messages.js +0 -88
  750. package/dist/consoles/utils/ws-messages.js.map +0 -1
  751. package/dist/entities/index.js.map +0 -1
  752. package/dist/services/bambu/mqtt-message.types.js.map +0 -1
  753. package/dist/services/interfaces/auth.service.interface.js.map +0 -1
  754. package/dist/services/interfaces/camera-stream.service.interface.js.map +0 -1
  755. package/dist/services/interfaces/file-upload-tracker.interface.js.map +0 -1
  756. package/dist/services/interfaces/floor.service.interface.js.map +0 -1
  757. package/dist/services/interfaces/jwt.service.interface.js.map +0 -1
  758. package/dist/services/interfaces/permission.service.interface.js.map +0 -1
  759. package/dist/services/interfaces/printer-file.dto.js.map +0 -1
  760. package/dist/services/interfaces/printer-maintenance-log.dto.js.map +0 -1
  761. package/dist/services/interfaces/printer-tag.service.interface.js.map +0 -1
  762. package/dist/services/interfaces/printer.service.interface.js.map +0 -1
  763. package/dist/services/interfaces/refresh-token.service.interface.js.map +0 -1
  764. package/dist/services/interfaces/role-service.interface.js.map +0 -1
  765. package/dist/services/interfaces/settings.service.interface.js.map +0 -1
  766. package/dist/services/interfaces/tag.dto.js.map +0 -1
  767. package/dist/services/interfaces/task.interfaces.js.map +0 -1
  768. package/dist/services/interfaces/user-service.interface.js.map +0 -1
  769. package/dist/services/moonraker/dto/access/access-info.dto.js.map +0 -1
  770. package/dist/services/moonraker/dto/access/access-login-refresh.dto.js.map +0 -1
  771. package/dist/services/moonraker/dto/access/access-login-result.dto.js.map +0 -1
  772. package/dist/services/moonraker/dto/access/access-user-result.dto.js.map +0 -1
  773. package/dist/services/moonraker/dto/access/access-user.dto.js.map +0 -1
  774. package/dist/services/moonraker/dto/database/database-namespace-item.dto.js.map +0 -1
  775. package/dist/services/moonraker/dto/database/database-namespace-list.dto.js.map +0 -1
  776. package/dist/services/moonraker/dto/gcode-help.dto.js.map +0 -1
  777. package/dist/services/moonraker/dto/gcode-store.dto.js.map +0 -1
  778. package/dist/services/moonraker/dto/job-queue/enqueue-job.dto.js.map +0 -1
  779. package/dist/services/moonraker/dto/job-queue/job-queue-status.dto.js.map +0 -1
  780. package/dist/services/moonraker/dto/machine/machine-device-power-device-state.dto.js.map +0 -1
  781. package/dist/services/moonraker/dto/machine/machine-device-power-devices.dto.js.map +0 -1
  782. package/dist/services/moonraker/dto/machine/machine-peripherals-canbus.dto.js.map +0 -1
  783. package/dist/services/moonraker/dto/machine/machine-peripherals-serial.dto.js.map +0 -1
  784. package/dist/services/moonraker/dto/machine/machine-peripherals-usb.dto.js.map +0 -1
  785. package/dist/services/moonraker/dto/machine/machine-peripherals-video.dto.js.map +0 -1
  786. package/dist/services/moonraker/dto/machine/machine-system-info.dto.js.map +0 -1
  787. package/dist/services/moonraker/dto/machine/machine-update-status.dto.js.map +0 -1
  788. package/dist/services/moonraker/dto/machine/machine-wled-strips.dto.js.map +0 -1
  789. package/dist/services/moonraker/dto/notifier-list.dto.js.map +0 -1
  790. package/dist/services/moonraker/dto/objects/bed-mesh.dto.js.map +0 -1
  791. package/dist/services/moonraker/dto/objects/configfile.dto.js.map +0 -1
  792. package/dist/services/moonraker/dto/objects/display-status.dto.js.map +0 -1
  793. package/dist/services/moonraker/dto/objects/extruder.dto.js.map +0 -1
  794. package/dist/services/moonraker/dto/objects/fan.dto.js.map +0 -1
  795. package/dist/services/moonraker/dto/objects/filament-motion-sensor.dto.js.map +0 -1
  796. package/dist/services/moonraker/dto/objects/filament-switch-sensor.dto.js.map +0 -1
  797. package/dist/services/moonraker/dto/objects/gcode-move.dto.js.map +0 -1
  798. package/dist/services/moonraker/dto/objects/gcode.dto.js.map +0 -1
  799. package/dist/services/moonraker/dto/objects/heater-bed.dto.js.map +0 -1
  800. package/dist/services/moonraker/dto/objects/heaters.dto.js.map +0 -1
  801. package/dist/services/moonraker/dto/objects/mcu.dto.js.map +0 -1
  802. package/dist/services/moonraker/dto/objects/motion-report.dto.js.map +0 -1
  803. package/dist/services/moonraker/dto/objects/output-pin.dto.js.map +0 -1
  804. package/dist/services/moonraker/dto/objects/pause-resume.dto.js.map +0 -1
  805. package/dist/services/moonraker/dto/objects/printer-object.dto.js.map +0 -1
  806. package/dist/services/moonraker/dto/objects/printer-object.types.js.map +0 -1
  807. package/dist/services/moonraker/dto/objects/printer-objects-query.dto.js.map +0 -1
  808. package/dist/services/moonraker/dto/objects/stepper-enable.dto.js.map +0 -1
  809. package/dist/services/moonraker/dto/objects/system-stats.dto.js.map +0 -1
  810. package/dist/services/moonraker/dto/objects/temperature-fan.dto.js.map +0 -1
  811. package/dist/services/moonraker/dto/objects/temperature-sensor.dto.js.map +0 -1
  812. package/dist/services/moonraker/dto/objects/toolhead.dto.js.map +0 -1
  813. package/dist/services/moonraker/dto/objects/virtual-sdcard.dto.js.map +0 -1
  814. package/dist/services/moonraker/dto/objects/webhooks.dto.js.map +0 -1
  815. package/dist/services/moonraker/dto/octoprint-compat/api-job.dto.js.map +0 -1
  816. package/dist/services/moonraker/dto/octoprint-compat/api-login.dto.js.map +0 -1
  817. package/dist/services/moonraker/dto/octoprint-compat/api-printer.dto.js.map +0 -1
  818. package/dist/services/moonraker/dto/octoprint-compat/api-profiles.dto.js.map +0 -1
  819. package/dist/services/moonraker/dto/octoprint-compat/api-settings.dto.js.map +0 -1
  820. package/dist/services/moonraker/dto/octoprint-compat/api-version.dto.js.map +0 -1
  821. package/dist/services/moonraker/dto/octoprint-compat/server-version.dto.js.map +0 -1
  822. package/dist/services/moonraker/dto/printer-query-endstops.dto.js.map +0 -1
  823. package/dist/services/moonraker/dto/process-stats.dto.js.map +0 -1
  824. package/dist/services/moonraker/dto/rest/action-result.dto.js.map +0 -1
  825. package/dist/services/moonraker/dto/rest/error.dto.js.map +0 -1
  826. package/dist/services/moonraker/dto/rollover-logs.dto.js.map +0 -1
  827. package/dist/services/moonraker/dto/rpc/json-rpc-error.dto.js.map +0 -1
  828. package/dist/services/moonraker/dto/rpc/json-rpc-request.dto.js.map +0 -1
  829. package/dist/services/moonraker/dto/rpc/json-rpc-response.dto.js.map +0 -1
  830. package/dist/services/moonraker/dto/server/server-config.dto.js.map +0 -1
  831. package/dist/services/moonraker/dto/server-announcements/announcement-action.dto.js.map +0 -1
  832. package/dist/services/moonraker/dto/server-announcements/announcement-entry-id.dto.js.map +0 -1
  833. package/dist/services/moonraker/dto/server-announcements/announcement-feeds.dto.js.map +0 -1
  834. package/dist/services/moonraker/dto/server-announcements/announcement-list.dto.js.map +0 -1
  835. package/dist/services/moonraker/dto/server-files/server-file-directory-action.dto.js.map +0 -1
  836. package/dist/services/moonraker/dto/server-files/server-file-directory-info.dto.js.map +0 -1
  837. package/dist/services/moonraker/dto/server-files/server-file-metadata.dto.js.map +0 -1
  838. package/dist/services/moonraker/dto/server-files/server-file-root.dto.js.map +0 -1
  839. package/dist/services/moonraker/dto/server-files/server-file-thumbnail.dto.js.map +0 -1
  840. package/dist/services/moonraker/dto/server-files/server-file-zip-action.dto.js.map +0 -1
  841. package/dist/services/moonraker/dto/server-files/server-file.dto.js.map +0 -1
  842. package/dist/services/moonraker/dto/server-history/history-job.dto.js.map +0 -1
  843. package/dist/services/moonraker/dto/server-history/history-last-totals.dto.js.map +0 -1
  844. package/dist/services/moonraker/dto/server-history/history-list.dto.js.map +0 -1
  845. package/dist/services/moonraker/dto/server-history/history-totals.dto.js.map +0 -1
  846. package/dist/services/moonraker/dto/server-sensors/sensor-info.dto.js.map +0 -1
  847. package/dist/services/moonraker/dto/server-sensors/sensor-list.dto.js.map +0 -1
  848. package/dist/services/moonraker/dto/server-sensors/sensor-measurements.dto.js.map +0 -1
  849. package/dist/services/moonraker/dto/server-webcams/webcam-item.dto.js.map +0 -1
  850. package/dist/services/moonraker/dto/server-webcams/webcam-list.dto.js.map +0 -1
  851. package/dist/services/moonraker/dto/server-webcams/webcam-test.dto.js.map +0 -1
  852. package/dist/services/moonraker/dto/spoolman/spoolman-active-spool.dto.js.map +0 -1
  853. package/dist/services/moonraker/dto/spoolman/spoolman-proxy-request.dto.js.map +0 -1
  854. package/dist/services/moonraker/dto/spoolman/spoolman-response.dto.js.map +0 -1
  855. package/dist/services/moonraker/dto/spoolman/spoolman-status.dto.js.map +0 -1
  856. package/dist/services/moonraker/dto/sudo-info.dto.js.map +0 -1
  857. package/dist/services/moonraker/dto/sudo-response.dto.js.map +0 -1
  858. package/dist/services/moonraker/dto/temperature-store.dto.js.map +0 -1
  859. package/dist/services/moonraker/dto/websocket/connection-identify-response.dto.js.map +0 -1
  860. package/dist/services/moonraker/dto/websocket/connection-identify.dto.js.map +0 -1
  861. package/dist/services/moonraker/dto/websocket/json-rpc-event.dto.js.map +0 -1
  862. package/dist/services/moonraker/dto/websocket/message.types.js.map +0 -1
  863. package/dist/services/moonraker/dto/websocket/notify-active-spool-set.params.js.map +0 -1
  864. package/dist/services/moonraker/dto/websocket/notify-agent-event.params.js.map +0 -1
  865. package/dist/services/moonraker/dto/websocket/notify-announcement-update.params.js.map +0 -1
  866. package/dist/services/moonraker/dto/websocket/notify-announcement.params.js.map +0 -1
  867. package/dist/services/moonraker/dto/websocket/notify-button-event.params.js.map +0 -1
  868. package/dist/services/moonraker/dto/websocket/notify-history-changed.params.js.map +0 -1
  869. package/dist/services/moonraker/dto/websocket/notify-job-queue-changed.params.js.map +0 -1
  870. package/dist/services/moonraker/dto/websocket/notify-proc-stat-update.params.js.map +0 -1
  871. package/dist/services/moonraker/dto/websocket/notify-sensor-update.params.js.map +0 -1
  872. package/dist/services/moonraker/dto/websocket/notify-service-state-changed.params.js.map +0 -1
  873. package/dist/services/moonraker/dto/websocket/notify-spoolman-status-changed.js.map +0 -1
  874. package/dist/services/moonraker/dto/websocket/notify-sudo-alert.params.js.map +0 -1
  875. package/dist/services/moonraker/dto/websocket/notify-user-change.params.js.map +0 -1
  876. package/dist/services/octoprint/dto/access/user-list.dto.js.map +0 -1
  877. package/dist/services/octoprint/dto/access/user.dto.js.map +0 -1
  878. package/dist/services/octoprint/dto/auth/current-user.dto.js.map +0 -1
  879. package/dist/services/octoprint/dto/auth/login.dto.js.map +0 -1
  880. package/dist/services/octoprint/dto/connection/connection.dto.js.map +0 -1
  881. package/dist/services/octoprint/dto/events/client-authed.dto.js.map +0 -1
  882. package/dist/services/octoprint/dto/events/client-closed.dto.js.map +0 -1
  883. package/dist/services/octoprint/dto/events/client-opened.dto.js.map +0 -1
  884. package/dist/services/octoprint/dto/events/dwelling.dto.js.map +0 -1
  885. package/dist/services/octoprint/dto/events/file-added.dto.js.map +0 -1
  886. package/dist/services/octoprint/dto/events/file-deselected.dto.js.map +0 -1
  887. package/dist/services/octoprint/dto/events/file-removed.dto.js.map +0 -1
  888. package/dist/services/octoprint/dto/events/folder-added.dto.js.map +0 -1
  889. package/dist/services/octoprint/dto/events/home.dto.js.map +0 -1
  890. package/dist/services/octoprint/dto/events/metadata-analysis-finished.dto.js.map +0 -1
  891. package/dist/services/octoprint/dto/events/metadata-analysis-started.dto.js.map +0 -1
  892. package/dist/services/octoprint/dto/events/metadata-statistics-updated.dto.js.map +0 -1
  893. package/dist/services/octoprint/dto/events/position-update.dto.js.map +0 -1
  894. package/dist/services/octoprint/dto/events/print-cancelled.dto.js.map +0 -1
  895. package/dist/services/octoprint/dto/events/print-cancelling.dto.js.map +0 -1
  896. package/dist/services/octoprint/dto/events/print-done.dto.js.map +0 -1
  897. package/dist/services/octoprint/dto/events/print-failed.dto.js.map +0 -1
  898. package/dist/services/octoprint/dto/events/print-paused.dto.js.map +0 -1
  899. package/dist/services/octoprint/dto/events/print-resumed.dto.js.map +0 -1
  900. package/dist/services/octoprint/dto/events/print-started.dto.js.map +0 -1
  901. package/dist/services/octoprint/dto/events/printer-state-changed.dto.js.map +0 -1
  902. package/dist/services/octoprint/dto/events/transfer-done.dto.js.map +0 -1
  903. package/dist/services/octoprint/dto/events/transfer-started.dto.js.map +0 -1
  904. package/dist/services/octoprint/dto/events/updated-files.dto.js.map +0 -1
  905. package/dist/services/octoprint/dto/events/upload.dto.js.map +0 -1
  906. package/dist/services/octoprint/dto/events/user-logged-in.dto.js.map +0 -1
  907. package/dist/services/octoprint/dto/events/z-change.dto.js.map +0 -1
  908. package/dist/services/octoprint/dto/files/gcode-analysis.dto.js.map +0 -1
  909. package/dist/services/octoprint/dto/files/octoprint-file.dto.js.map +0 -1
  910. package/dist/services/octoprint/dto/files/octoprint-files-response.dto.js.map +0 -1
  911. package/dist/services/octoprint/dto/job/job.dto.js.map +0 -1
  912. package/dist/services/octoprint/dto/printer/busy-file.dto.js.map +0 -1
  913. package/dist/services/octoprint/dto/printer/current-printer-state.dto.js.map +0 -1
  914. package/dist/services/octoprint/dto/printer/flags.dto.js.map +0 -1
  915. package/dist/services/octoprint/dto/printer/markings.dto.js.map +0 -1
  916. package/dist/services/octoprint/dto/printer/progress.dto.js.map +0 -1
  917. package/dist/services/octoprint/dto/printer/resends.dto.js.map +0 -1
  918. package/dist/services/octoprint/dto/printer/state.dto.js.map +0 -1
  919. package/dist/services/octoprint/dto/printer/temps.dto.js.map +0 -1
  920. package/dist/services/octoprint/dto/rest/error.dto.js.map +0 -1
  921. package/dist/services/octoprint/dto/server/server.dto.js.map +0 -1
  922. package/dist/services/octoprint/dto/server/version.dto.js.map +0 -1
  923. package/dist/services/octoprint/dto/settings/serial-settings.dto.js.map +0 -1
  924. package/dist/services/octoprint/dto/settings/settings-parts.type.js.map +0 -1
  925. package/dist/services/octoprint/dto/settings/settings.dto.js.map +0 -1
  926. package/dist/services/octoprint/dto/settings/virtual-printer-settings.dto.js.map +0 -1
  927. package/dist/services/octoprint/dto/websocket/connection-message.dto.js.map +0 -1
  928. package/dist/services/octoprint/dto/websocket/current-message.dto.js.map +0 -1
  929. package/dist/services/octoprint/dto/websocket/event-message.dto.js.map +0 -1
  930. package/dist/services/octoprint/dto/websocket/history-message.dto.js.map +0 -1
  931. package/dist/services/octoprint/dto/websocket/plugin-message.dto.js.map +0 -1
  932. package/dist/services/octoprint/dto/websocket/timelapse-message.dto.js.map +0 -1
  933. package/dist/services/orm/base.interface.js.map +0 -1
  934. package/dist/services/prusa-link/dto/file-response.dto.js.map +0 -1
  935. package/dist/services/prusa-link/dto/file.dto.js.map +0 -1
  936. package/dist/services/prusa-link/dto/job-state.dto.js.map +0 -1
  937. package/dist/services/prusa-link/dto/printer-state.dto.js.map +0 -1
  938. package/dist/services/prusa-link/dto/status.dto.js.map +0 -1
  939. package/dist/services/prusa-link/dto/version.dto.js.map +0 -1
  940. package/dist/services/prusa-link/utils/digest-auth.params.js.map +0 -1
  941. package/dist/services/websocket-adapter.interface.js.map +0 -1
  942. package/dist/shared/dtos/socket-login.dto.js.map +0 -1
  943. package/dist/types/express/index.d.js.map +0 -1
  944. 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