@fdm-monster/server 2.0.10 → 2.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (929) hide show
  1. package/.claude/CLAUDE.md +76 -0
  2. package/.vite-hooks/pre-commit +1 -0
  3. package/.yarn/install-state.gz +0 -0
  4. package/.yarn/releases/yarn-4.13.0.cjs +940 -0
  5. package/.yarnrc.yml +1 -1
  6. package/README.md +1 -1
  7. package/RELEASE_NOTES.MD +14 -0
  8. package/dist/_virtual/_@oxc-project_runtime@0.127.0/helpers/decorate.js +9 -0
  9. package/dist/_virtual/_@oxc-project_runtime@0.127.0/helpers/decorateMetadata.js +6 -0
  10. package/dist/_virtual/_rolldown/runtime.js +13 -0
  11. package/dist/_virtual/_virtual_controllers.js +43 -0
  12. package/dist/consoles/typeorm-create.js +51 -112
  13. package/dist/consoles/typeorm-create.js.map +1 -1
  14. package/dist/consoles/typeorm-generate.js +99 -165
  15. package/dist/consoles/typeorm-generate.js.map +1 -1
  16. package/dist/consoles/typeorm-migrate.js +35 -43
  17. package/dist/consoles/typeorm-migrate.js.map +1 -1
  18. package/dist/constants/authorization.constants.js +75 -97
  19. package/dist/constants/authorization.constants.js.map +1 -1
  20. package/dist/constants/event.constants.js +11 -41
  21. package/dist/constants/event.constants.js.map +1 -1
  22. package/dist/constants/http-status-codes.constants.js +319 -71
  23. package/dist/constants/http-status-codes.constants.js.map +1 -1
  24. package/dist/constants/server-settings.constants.js +45 -87
  25. package/dist/constants/server-settings.constants.js.map +1 -1
  26. package/dist/constants/service.constants.js +3 -21
  27. package/dist/constants/service.constants.js.map +1 -1
  28. package/dist/container.js +167 -181
  29. package/dist/container.js.map +1 -1
  30. package/dist/container.tokens.js +78 -85
  31. package/dist/container.tokens.js.map +1 -1
  32. package/dist/controllers/auth.controller.js +156 -225
  33. package/dist/controllers/auth.controller.js.map +1 -1
  34. package/dist/controllers/batch-call.controller.js +79 -116
  35. package/dist/controllers/batch-call.controller.js.map +1 -1
  36. package/dist/controllers/camera-stream.controller.js +74 -119
  37. package/dist/controllers/camera-stream.controller.js.map +1 -1
  38. package/dist/controllers/dto/update-client-dist.dto.js +8 -15
  39. package/dist/controllers/dto/update-client-dist.dto.js.map +1 -1
  40. package/dist/controllers/file-storage.controller.js +251 -312
  41. package/dist/controllers/file-storage.controller.js.map +1 -1
  42. package/dist/controllers/first-time-setup.controller.js +83 -135
  43. package/dist/controllers/first-time-setup.controller.js.map +1 -1
  44. package/dist/controllers/floor.controller.js +111 -175
  45. package/dist/controllers/floor.controller.js.map +1 -1
  46. package/dist/controllers/metrics.controller.js +27 -53
  47. package/dist/controllers/metrics.controller.js.map +1 -1
  48. package/dist/controllers/print-job.controller.js +366 -451
  49. package/dist/controllers/print-job.controller.js.map +1 -1
  50. package/dist/controllers/print-queue.controller.js +329 -427
  51. package/dist/controllers/print-queue.controller.js.map +1 -1
  52. package/dist/controllers/printer-files.controller.js +244 -305
  53. package/dist/controllers/printer-files.controller.js.map +1 -1
  54. package/dist/controllers/printer-maintenance-log.controller.js +109 -165
  55. package/dist/controllers/printer-maintenance-log.controller.js.map +1 -1
  56. package/dist/controllers/printer-settings.controller.js +50 -81
  57. package/dist/controllers/printer-settings.controller.js.map +1 -1
  58. package/dist/controllers/printer-tag.controller.js +104 -166
  59. package/dist/controllers/printer-tag.controller.js.map +1 -1
  60. package/dist/controllers/printer.controller.js +352 -469
  61. package/dist/controllers/printer.controller.js.map +1 -1
  62. package/dist/controllers/server-private.controller.js +182 -239
  63. package/dist/controllers/server-private.controller.js.map +1 -1
  64. package/dist/controllers/server-public.controller.js +104 -158
  65. package/dist/controllers/server-public.controller.js.map +1 -1
  66. package/dist/controllers/settings.controller.js +229 -364
  67. package/dist/controllers/settings.controller.js.map +1 -1
  68. package/dist/controllers/slicer-compat.controller.js +179 -206
  69. package/dist/controllers/slicer-compat.controller.js.map +1 -1
  70. package/dist/controllers/user.controller.js +226 -348
  71. package/dist/controllers/user.controller.js.map +1 -1
  72. package/dist/controllers/validation/auth-controller.validation.js +5 -14
  73. package/dist/controllers/validation/auth-controller.validation.js.map +1 -1
  74. package/dist/controllers/validation/batch-controller.validation.js +13 -35
  75. package/dist/controllers/validation/batch-controller.validation.js.map +1 -1
  76. package/dist/controllers/validation/generic.validation.js +6 -23
  77. package/dist/controllers/validation/generic.validation.js.map +1 -1
  78. package/dist/controllers/validation/printer-completion-controller.validation.js +5 -14
  79. package/dist/controllers/validation/printer-completion-controller.validation.js.map +1 -1
  80. package/dist/controllers/validation/printer-controller.validation.js +16 -48
  81. package/dist/controllers/validation/printer-controller.validation.js.map +1 -1
  82. package/dist/controllers/validation/printer-files-controller.validation.js +12 -47
  83. package/dist/controllers/validation/printer-files-controller.validation.js.map +1 -1
  84. package/dist/controllers/validation/printer-settings-controller.validation.js +5 -14
  85. package/dist/controllers/validation/printer-settings-controller.validation.js.map +1 -1
  86. package/dist/controllers/validation/server-private.validation.js +7 -14
  87. package/dist/controllers/validation/server-private.validation.js.map +1 -1
  88. package/dist/controllers/validation/setting.validation.js +12 -34
  89. package/dist/controllers/validation/setting.validation.js.map +1 -1
  90. package/dist/controllers/validation/user-controller.validation.js +27 -65
  91. package/dist/controllers/validation/user-controller.validation.js.map +1 -1
  92. package/dist/data-source.js +74 -79
  93. package/dist/data-source.js.map +1 -1
  94. package/dist/entities/camera-stream.entity.js +49 -91
  95. package/dist/entities/camera-stream.entity.js.map +1 -1
  96. package/dist/entities/floor-position.entity.js +38 -75
  97. package/dist/entities/floor-position.entity.js.map +1 -1
  98. package/dist/entities/floor.entity.js +18 -48
  99. package/dist/entities/floor.entity.js.map +1 -1
  100. package/dist/entities/index.js +14 -66
  101. package/dist/entities/print-job.entity.js +114 -196
  102. package/dist/entities/print-job.entity.js.map +1 -1
  103. package/dist/entities/printer-maintenance-log.entity.js +61 -140
  104. package/dist/entities/printer-maintenance-log.entity.js.map +1 -1
  105. package/dist/entities/printer-tag.entity.js +33 -66
  106. package/dist/entities/printer-tag.entity.js.map +1 -1
  107. package/dist/entities/printer.entity.js +67 -124
  108. package/dist/entities/printer.entity.js.map +1 -1
  109. package/dist/entities/refresh-token.entity.js +31 -66
  110. package/dist/entities/refresh-token.entity.js.map +1 -1
  111. package/dist/entities/role.entity.js +16 -45
  112. package/dist/entities/role.entity.js.map +1 -1
  113. package/dist/entities/settings.entity.js +38 -77
  114. package/dist/entities/settings.entity.js.map +1 -1
  115. package/dist/entities/tag.entity.js +19 -43
  116. package/dist/entities/tag.entity.js.map +1 -1
  117. package/dist/entities/user-role.entity.js +30 -67
  118. package/dist/entities/user-role.entity.js.map +1 -1
  119. package/dist/entities/user.entity.js +32 -87
  120. package/dist/entities/user.entity.js.map +1 -1
  121. package/dist/exceptions/failed-dependency.exception.js +11 -18
  122. package/dist/exceptions/failed-dependency.exception.js.map +1 -1
  123. package/dist/exceptions/job.exceptions.js +9 -16
  124. package/dist/exceptions/job.exceptions.js.map +1 -1
  125. package/dist/exceptions/runtime.exceptions.js +82 -121
  126. package/dist/exceptions/runtime.exceptions.js.map +1 -1
  127. package/dist/handlers/event-emitter.js +13 -20
  128. package/dist/handlers/event-emitter.js.map +1 -1
  129. package/dist/handlers/logger-factory.js +7 -14
  130. package/dist/handlers/logger-factory.js.map +1 -1
  131. package/dist/handlers/logger.js +26 -36
  132. package/dist/handlers/logger.js.map +1 -1
  133. package/dist/handlers/logging/file-logging.transport.js +17 -31
  134. package/dist/handlers/logging/file-logging.transport.js.map +1 -1
  135. package/dist/handlers/logging/loki-logging.transport.js +34 -50
  136. package/dist/handlers/logging/loki-logging.transport.js.map +1 -1
  137. package/dist/handlers/logging/static.logger.js +83 -124
  138. package/dist/handlers/logging/static.logger.js.map +1 -1
  139. package/dist/handlers/validators.js +8 -25
  140. package/dist/handlers/validators.js.map +1 -1
  141. package/dist/index.js +23 -26
  142. package/dist/index.js.map +1 -1
  143. package/dist/middleware/authenticate.js +26 -69
  144. package/dist/middleware/authenticate.js.map +1 -1
  145. package/dist/middleware/database.js +16 -22
  146. package/dist/middleware/database.js.map +1 -1
  147. package/dist/middleware/demo.middleware.js +19 -27
  148. package/dist/middleware/demo.middleware.js.map +1 -1
  149. package/dist/middleware/exception.filter.js +109 -133
  150. package/dist/middleware/exception.filter.js.map +1 -1
  151. package/dist/middleware/global.middleware.js +28 -47
  152. package/dist/middleware/global.middleware.js.map +1 -1
  153. package/dist/middleware/param-converter.middleware.js +31 -69
  154. package/dist/middleware/param-converter.middleware.js.map +1 -1
  155. package/dist/middleware/passport.js +38 -64
  156. package/dist/middleware/passport.js.map +1 -1
  157. package/dist/middleware/printer-resolver.js +26 -33
  158. package/dist/middleware/printer-resolver.js.map +1 -1
  159. package/dist/middleware/printer.js +56 -94
  160. package/dist/middleware/printer.js.map +1 -1
  161. package/dist/middleware/slicer-api-key.middleware.js +23 -26
  162. package/dist/middleware/slicer-api-key.middleware.js.map +1 -1
  163. package/dist/middleware/socketio.middleware.js +21 -32
  164. package/dist/middleware/socketio.middleware.js.map +1 -1
  165. package/dist/migrations/1706829146617-InitSqlite.js +84 -91
  166. package/dist/migrations/1706829146617-InitSqlite.js.map +1 -1
  167. package/dist/migrations/1707494762198-PrinterGroup.js +22 -29
  168. package/dist/migrations/1707494762198-PrinterGroup.js.map +1 -1
  169. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js +26 -33
  170. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js.map +1 -1
  171. package/dist/migrations/1713300747465-ChangeRoleNameUnique.js +27 -34
  172. package/dist/migrations/1713300747465-ChangeRoleNameUnique.js.map +1 -1
  173. package/dist/migrations/1713897879622-AddPrinterType.js +34 -41
  174. package/dist/migrations/1713897879622-AddPrinterType.js.map +1 -1
  175. package/dist/migrations/1720338804844-RemovePrinterFile.js +12 -19
  176. package/dist/migrations/1720338804844-RemovePrinterFile.js.map +1 -1
  177. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js +26 -33
  178. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js.map +1 -1
  179. package/dist/migrations/1766576698569-DropPermissions.js +11 -18
  180. package/dist/migrations/1766576698569-DropPermissions.js.map +1 -1
  181. package/dist/migrations/1767278216516-ChangeCameraPrinterOnDeleteSetNull.js +26 -33
  182. package/dist/migrations/1767278216516-ChangeCameraPrinterOnDeleteSetNull.js.map +1 -1
  183. package/dist/migrations/1767279607392-DropCustomGcode.js +12 -19
  184. package/dist/migrations/1767279607392-DropCustomGcode.js.map +1 -1
  185. package/dist/migrations/1767291804417-DropPrintCompletions.js +12 -19
  186. package/dist/migrations/1767291804417-DropPrintCompletions.js.map +1 -1
  187. package/dist/migrations/1767352862576-DropSettingsFileClean.js +18 -25
  188. package/dist/migrations/1767352862576-DropSettingsFileClean.js.map +1 -1
  189. package/dist/migrations/1767355639023-ChangeFloorLevelToOrder.js +26 -33
  190. package/dist/migrations/1767355639023-ChangeFloorLevelToOrder.js.map +1 -1
  191. package/dist/migrations/1767370191762-ChangeFloorNonUniqueOrder.js +18 -25
  192. package/dist/migrations/1767370191762-ChangeFloorNonUniqueOrder.js.map +1 -1
  193. package/dist/migrations/1767432108916-RenameGroupToTag.js +22 -29
  194. package/dist/migrations/1767432108916-RenameGroupToTag.js.map +1 -1
  195. package/dist/migrations/1767451444137-AddPrintJob.js +20 -27
  196. package/dist/migrations/1767451444137-AddPrintJob.js.map +1 -1
  197. package/dist/migrations/1767909428129-AddPrinterMaintenanceLog.js +14 -21
  198. package/dist/migrations/1767909428129-AddPrinterMaintenanceLog.js.map +1 -1
  199. package/dist/plugins/controllers-plugin.js +21 -0
  200. package/dist/plugins/controllers-plugin.js.map +1 -0
  201. package/dist/server.constants.js +79 -91
  202. package/dist/server.constants.js.map +1 -1
  203. package/dist/server.core.js +56 -122
  204. package/dist/server.core.js.map +1 -1
  205. package/dist/server.env.js +56 -121
  206. package/dist/server.env.js.map +1 -1
  207. package/dist/server.host.js +66 -99
  208. package/dist/server.host.js.map +1 -1
  209. package/dist/services/authentication/auth.service.js +103 -126
  210. package/dist/services/authentication/auth.service.js.map +1 -1
  211. package/dist/services/authentication/jwt.service.js +23 -32
  212. package/dist/services/authentication/jwt.service.js.map +1 -1
  213. package/dist/services/bambu/bambu-ftp.adapter.js +194 -236
  214. package/dist/services/bambu/bambu-ftp.adapter.js.map +1 -1
  215. package/dist/services/bambu/bambu-mqtt.adapter.js +394 -449
  216. package/dist/services/bambu/bambu-mqtt.adapter.js.map +1 -1
  217. package/dist/services/bambu/bambu.client.js +64 -65
  218. package/dist/services/bambu/bambu.client.js.map +1 -1
  219. package/dist/services/bambu/mqtt-message.types.js +1 -6
  220. package/dist/services/bambu.api.js +230 -247
  221. package/dist/services/bambu.api.js.map +1 -1
  222. package/dist/services/core/batch-call.service.js +139 -163
  223. package/dist/services/core/batch-call.service.js.map +1 -1
  224. package/dist/services/core/client-bundle.service.js +126 -165
  225. package/dist/services/core/client-bundle.service.js.map +1 -1
  226. package/dist/services/core/config.service.js +16 -26
  227. package/dist/services/core/config.service.js.map +1 -1
  228. package/dist/services/core/cradle.service.js +11 -19
  229. package/dist/services/core/cradle.service.js.map +1 -1
  230. package/dist/services/core/github.service.js +59 -79
  231. package/dist/services/core/github.service.js.map +1 -1
  232. package/dist/services/core/http-client.factory.js +30 -38
  233. package/dist/services/core/http-client.factory.js.map +1 -1
  234. package/dist/services/core/logs-manager.service.js +61 -84
  235. package/dist/services/core/logs-manager.service.js.map +1 -1
  236. package/dist/services/core/monsterpi.service.js +26 -36
  237. package/dist/services/core/monsterpi.service.js.map +1 -1
  238. package/dist/services/core/multer.service.js +69 -129
  239. package/dist/services/core/multer.service.js.map +1 -1
  240. package/dist/services/core/server-release.service.js +77 -99
  241. package/dist/services/core/server-release.service.js.map +1 -1
  242. package/dist/services/core/yaml.service.js +443 -573
  243. package/dist/services/core/yaml.service.js.map +1 -1
  244. package/dist/services/file-analysis.service.js +134 -144
  245. package/dist/services/file-analysis.service.js.map +1 -1
  246. package/dist/services/file-storage.service.js +324 -423
  247. package/dist/services/file-storage.service.js.map +1 -1
  248. package/dist/services/interfaces/auth.service.interface.js +1 -6
  249. package/dist/services/interfaces/camera-stream.dto.js +23 -41
  250. package/dist/services/interfaces/camera-stream.dto.js.map +1 -1
  251. package/dist/services/interfaces/camera-stream.service.interface.js +1 -6
  252. package/dist/services/interfaces/file-upload-tracker.interface.js +1 -6
  253. package/dist/services/interfaces/floor.dto.js +31 -55
  254. package/dist/services/interfaces/floor.dto.js.map +1 -1
  255. package/dist/services/interfaces/floor.service.interface.js +1 -6
  256. package/dist/services/interfaces/jwt.service.interface.js +1 -6
  257. package/dist/services/interfaces/login.dto.js +10 -17
  258. package/dist/services/interfaces/login.dto.js.map +1 -1
  259. package/dist/services/interfaces/page.interface.js +5 -12
  260. package/dist/services/interfaces/page.interface.js.map +1 -1
  261. package/dist/services/interfaces/permission.service.interface.js +1 -6
  262. package/dist/services/interfaces/printer-file.dto.js +1 -6
  263. package/dist/services/interfaces/printer-maintenance-log.dto.js +1 -6
  264. package/dist/services/interfaces/printer-tag.dto.js +11 -26
  265. package/dist/services/interfaces/printer-tag.dto.js.map +1 -1
  266. package/dist/services/interfaces/printer-tag.service.interface.js +1 -6
  267. package/dist/services/interfaces/printer.dto.js +21 -36
  268. package/dist/services/interfaces/printer.dto.js.map +1 -1
  269. package/dist/services/interfaces/printer.service.interface.js +1 -6
  270. package/dist/services/interfaces/refresh-token.dto.js +9 -16
  271. package/dist/services/interfaces/refresh-token.dto.js.map +1 -1
  272. package/dist/services/interfaces/refresh-token.service.interface.js +1 -6
  273. package/dist/services/interfaces/role-service.interface.js +1 -6
  274. package/dist/services/interfaces/role.dto.js +7 -14
  275. package/dist/services/interfaces/role.dto.js.map +1 -1
  276. package/dist/services/interfaces/settings.dto.js +10 -17
  277. package/dist/services/interfaces/settings.dto.js.map +1 -1
  278. package/dist/services/interfaces/settings.service.interface.js +1 -6
  279. package/dist/services/interfaces/tag.dto.js +1 -6
  280. package/dist/services/interfaces/task.interfaces.js +1 -6
  281. package/dist/services/interfaces/user-role.dto.js +9 -16
  282. package/dist/services/interfaces/user-role.dto.js.map +1 -1
  283. package/dist/services/interfaces/user-service.interface.js +1 -6
  284. package/dist/services/interfaces/user.dto.js +22 -37
  285. package/dist/services/interfaces/user.dto.js.map +1 -1
  286. package/dist/services/moonraker/constants/moonraker-event.dto.js +16 -31
  287. package/dist/services/moonraker/constants/moonraker-event.dto.js.map +1 -1
  288. package/dist/services/moonraker/constants/moonraker.constants.js +4 -11
  289. package/dist/services/moonraker/constants/moonraker.constants.js.map +1 -1
  290. package/dist/services/moonraker/dto/access/access-info.dto.js +1 -6
  291. package/dist/services/moonraker/dto/access/access-login-refresh.dto.js +1 -6
  292. package/dist/services/moonraker/dto/access/access-login-result.dto.js +1 -6
  293. package/dist/services/moonraker/dto/access/access-user-result.dto.js +1 -6
  294. package/dist/services/moonraker/dto/access/access-user.dto.js +1 -6
  295. package/dist/services/moonraker/dto/database/database-namespace-item.dto.js +1 -6
  296. package/dist/services/moonraker/dto/database/database-namespace-list.dto.js +1 -6
  297. package/dist/services/moonraker/dto/gcode-help.dto.js +1 -6
  298. package/dist/services/moonraker/dto/gcode-store.dto.js +1 -6
  299. package/dist/services/moonraker/dto/job-queue/enqueue-job.dto.js +1 -6
  300. package/dist/services/moonraker/dto/job-queue/job-queue-status.dto.js +1 -6
  301. package/dist/services/moonraker/dto/machine/machine-device-power-device-state.dto.js +1 -6
  302. package/dist/services/moonraker/dto/machine/machine-device-power-devices.dto.js +1 -6
  303. package/dist/services/moonraker/dto/machine/machine-peripherals-canbus.dto.js +1 -6
  304. package/dist/services/moonraker/dto/machine/machine-peripherals-serial.dto.js +1 -6
  305. package/dist/services/moonraker/dto/machine/machine-peripherals-usb.dto.js +1 -6
  306. package/dist/services/moonraker/dto/machine/machine-peripherals-video.dto.js +1 -6
  307. package/dist/services/moonraker/dto/machine/machine-system-info.dto.js +1 -6
  308. package/dist/services/moonraker/dto/machine/machine-update-status.dto.js +1 -6
  309. package/dist/services/moonraker/dto/machine/machine-wled-strips.dto.js +1 -6
  310. package/dist/services/moonraker/dto/notifier-list.dto.js +1 -6
  311. package/dist/services/moonraker/dto/objects/bed-mesh.dto.js +1 -6
  312. package/dist/services/moonraker/dto/objects/configfile.dto.js +1 -6
  313. package/dist/services/moonraker/dto/objects/display-status.dto.js +1 -6
  314. package/dist/services/moonraker/dto/objects/extruder.dto.js +1 -6
  315. package/dist/services/moonraker/dto/objects/fan.dto.js +1 -6
  316. package/dist/services/moonraker/dto/objects/filament-motion-sensor.dto.js +1 -6
  317. package/dist/services/moonraker/dto/objects/filament-switch-sensor.dto.js +1 -6
  318. package/dist/services/moonraker/dto/objects/gcode-move.dto.js +1 -6
  319. package/dist/services/moonraker/dto/objects/gcode.dto.js +1 -6
  320. package/dist/services/moonraker/dto/objects/heater-bed.dto.js +1 -6
  321. package/dist/services/moonraker/dto/objects/heaters.dto.js +1 -6
  322. package/dist/services/moonraker/dto/objects/idle-timeout.dto.js +6 -21
  323. package/dist/services/moonraker/dto/objects/idle-timeout.dto.js.map +1 -1
  324. package/dist/services/moonraker/dto/objects/mcu.dto.js +1 -6
  325. package/dist/services/moonraker/dto/objects/motion-report.dto.js +1 -6
  326. package/dist/services/moonraker/dto/objects/output-pin.dto.js +1 -6
  327. package/dist/services/moonraker/dto/objects/pause-resume.dto.js +1 -6
  328. package/dist/services/moonraker/dto/objects/print-stats.dto.js +9 -24
  329. package/dist/services/moonraker/dto/objects/print-stats.dto.js.map +1 -1
  330. package/dist/services/moonraker/dto/objects/printer-object.dto.js +1 -6
  331. package/dist/services/moonraker/dto/objects/printer-object.types.js +1 -6
  332. package/dist/services/moonraker/dto/objects/printer-objects-list.dto.js +28 -43
  333. package/dist/services/moonraker/dto/objects/printer-objects-list.dto.js.map +1 -1
  334. package/dist/services/moonraker/dto/objects/printer-objects-query.dto.js +1 -6
  335. package/dist/services/moonraker/dto/objects/stepper-enable.dto.js +1 -6
  336. package/dist/services/moonraker/dto/objects/system-stats.dto.js +1 -6
  337. package/dist/services/moonraker/dto/objects/temperature-fan.dto.js +1 -6
  338. package/dist/services/moonraker/dto/objects/temperature-sensor.dto.js +1 -6
  339. package/dist/services/moonraker/dto/objects/toolhead.dto.js +1 -6
  340. package/dist/services/moonraker/dto/objects/virtual-sdcard.dto.js +1 -6
  341. package/dist/services/moonraker/dto/objects/webhooks.dto.js +1 -6
  342. package/dist/services/moonraker/dto/octoprint-compat/api-job.dto.js +1 -6
  343. package/dist/services/moonraker/dto/octoprint-compat/api-login.dto.js +1 -6
  344. package/dist/services/moonraker/dto/octoprint-compat/api-printer.dto.js +1 -6
  345. package/dist/services/moonraker/dto/octoprint-compat/api-profiles.dto.js +1 -6
  346. package/dist/services/moonraker/dto/octoprint-compat/api-settings.dto.js +1 -6
  347. package/dist/services/moonraker/dto/octoprint-compat/api-version.dto.js +1 -6
  348. package/dist/services/moonraker/dto/octoprint-compat/server-version.dto.js +1 -6
  349. package/dist/services/moonraker/dto/printer-info.dto.js +7 -22
  350. package/dist/services/moonraker/dto/printer-info.dto.js.map +1 -1
  351. package/dist/services/moonraker/dto/printer-query-endstops.dto.js +1 -6
  352. package/dist/services/moonraker/dto/process-stats.dto.js +1 -6
  353. package/dist/services/moonraker/dto/rest/action-result.dto.js +1 -6
  354. package/dist/services/moonraker/dto/rest/error.dto.js +1 -6
  355. package/dist/services/moonraker/dto/rest/result.dto.js +6 -13
  356. package/dist/services/moonraker/dto/rest/result.dto.js.map +1 -1
  357. package/dist/services/moonraker/dto/rollover-logs.dto.js +1 -6
  358. package/dist/services/moonraker/dto/rpc/json-rpc-error.dto.js +1 -6
  359. package/dist/services/moonraker/dto/rpc/json-rpc-request.dto.js +1 -6
  360. package/dist/services/moonraker/dto/rpc/json-rpc-response.dto.js +1 -6
  361. package/dist/services/moonraker/dto/server/server-config.dto.js +1 -6
  362. package/dist/services/moonraker/dto/server/server-info.dto.js +7 -14
  363. package/dist/services/moonraker/dto/server/server-info.dto.js.map +1 -1
  364. package/dist/services/moonraker/dto/server-announcements/announcement-action.dto.js +1 -6
  365. package/dist/services/moonraker/dto/server-announcements/announcement-entry-id.dto.js +1 -6
  366. package/dist/services/moonraker/dto/server-announcements/announcement-feeds.dto.js +1 -6
  367. package/dist/services/moonraker/dto/server-announcements/announcement-list.dto.js +1 -6
  368. package/dist/services/moonraker/dto/server-files/server-file-directory-action.dto.js +1 -6
  369. package/dist/services/moonraker/dto/server-files/server-file-directory-info.dto.js +1 -6
  370. package/dist/services/moonraker/dto/server-files/server-file-metadata.dto.js +1 -6
  371. package/dist/services/moonraker/dto/server-files/server-file-root.dto.js +1 -6
  372. package/dist/services/moonraker/dto/server-files/server-file-thumbnail.dto.js +1 -6
  373. package/dist/services/moonraker/dto/server-files/server-file-zip-action.dto.js +1 -6
  374. package/dist/services/moonraker/dto/server-files/server-file.dto.js +1 -6
  375. package/dist/services/moonraker/dto/server-history/history-job.dto.js +1 -6
  376. package/dist/services/moonraker/dto/server-history/history-last-totals.dto.js +1 -6
  377. package/dist/services/moonraker/dto/server-history/history-list.dto.js +1 -6
  378. package/dist/services/moonraker/dto/server-history/history-totals.dto.js +1 -6
  379. package/dist/services/moonraker/dto/server-history/job.dto.js +6 -21
  380. package/dist/services/moonraker/dto/server-history/job.dto.js.map +1 -1
  381. package/dist/services/moonraker/dto/server-sensors/sensor-info.dto.js +1 -6
  382. package/dist/services/moonraker/dto/server-sensors/sensor-list.dto.js +1 -6
  383. package/dist/services/moonraker/dto/server-sensors/sensor-measurements.dto.js +1 -6
  384. package/dist/services/moonraker/dto/server-webcams/webcam-item.dto.js +1 -6
  385. package/dist/services/moonraker/dto/server-webcams/webcam-list.dto.js +1 -6
  386. package/dist/services/moonraker/dto/server-webcams/webcam-test.dto.js +1 -6
  387. package/dist/services/moonraker/dto/spoolman/spoolman-active-spool.dto.js +1 -6
  388. package/dist/services/moonraker/dto/spoolman/spoolman-proxy-request.dto.js +1 -6
  389. package/dist/services/moonraker/dto/spoolman/spoolman-response.dto.js +1 -6
  390. package/dist/services/moonraker/dto/spoolman/spoolman-status.dto.js +1 -6
  391. package/dist/services/moonraker/dto/sudo-info.dto.js +1 -6
  392. package/dist/services/moonraker/dto/sudo-response.dto.js +1 -6
  393. package/dist/services/moonraker/dto/temperature-store.dto.js +1 -6
  394. package/dist/services/moonraker/dto/websocket/connection-identify-response.dto.js +1 -6
  395. package/dist/services/moonraker/dto/websocket/connection-identify.dto.js +1 -6
  396. package/dist/services/moonraker/dto/websocket/json-rpc-event.dto.js +1 -6
  397. package/dist/services/moonraker/dto/websocket/message.types.js +1 -6
  398. package/dist/services/moonraker/dto/websocket/methods.js +29 -44
  399. package/dist/services/moonraker/dto/websocket/methods.js.map +1 -1
  400. package/dist/services/moonraker/dto/websocket/notify-active-spool-set.params.js +1 -6
  401. package/dist/services/moonraker/dto/websocket/notify-agent-event.params.js +1 -6
  402. package/dist/services/moonraker/dto/websocket/notify-announcement-update.params.js +1 -6
  403. package/dist/services/moonraker/dto/websocket/notify-announcement.params.js +1 -6
  404. package/dist/services/moonraker/dto/websocket/notify-button-event.params.js +1 -6
  405. package/dist/services/moonraker/dto/websocket/notify-filelist-changed.params.js +11 -18
  406. package/dist/services/moonraker/dto/websocket/notify-filelist-changed.params.js.map +1 -1
  407. package/dist/services/moonraker/dto/websocket/notify-history-changed.params.js +1 -6
  408. package/dist/services/moonraker/dto/websocket/notify-job-queue-changed.params.js +1 -6
  409. package/dist/services/moonraker/dto/websocket/notify-proc-stat-update.params.js +1 -6
  410. package/dist/services/moonraker/dto/websocket/notify-sensor-update.params.js +1 -6
  411. package/dist/services/moonraker/dto/websocket/notify-service-state-changed.params.js +1 -6
  412. package/dist/services/moonraker/dto/websocket/notify-spoolman-status-changed.js +1 -6
  413. package/dist/services/moonraker/dto/websocket/notify-sudo-alert.params.js +1 -6
  414. package/dist/services/moonraker/dto/websocket/notify-update-response.params.js +7 -22
  415. package/dist/services/moonraker/dto/websocket/notify-update-response.params.js.map +1 -1
  416. package/dist/services/moonraker/dto/websocket/notify-user-change.params.js +1 -6
  417. package/dist/services/moonraker/moonraker-websocket.adapter.js +313 -348
  418. package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
  419. package/dist/services/moonraker/moonraker.client.js +536 -559
  420. package/dist/services/moonraker/moonraker.client.js.map +1 -1
  421. package/dist/services/moonraker.api.js +167 -192
  422. package/dist/services/moonraker.api.js.map +1 -1
  423. package/dist/services/octoprint/constants/firmware-update-settings.constants.js +19 -28
  424. package/dist/services/octoprint/constants/firmware-update-settings.constants.js.map +1 -1
  425. package/dist/services/octoprint/constants/octoprint-service.constants.js +3 -30
  426. package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -1
  427. package/dist/services/octoprint/constants/octoprint-websocket.constants.js +41 -56
  428. package/dist/services/octoprint/constants/octoprint-websocket.constants.js.map +1 -1
  429. package/dist/services/octoprint/dto/access/user-list.dto.js +1 -6
  430. package/dist/services/octoprint/dto/access/user.dto.js +1 -6
  431. package/dist/services/octoprint/dto/auth/current-user.dto.js +1 -6
  432. package/dist/services/octoprint/dto/auth/login.dto.js +1 -6
  433. package/dist/services/octoprint/dto/connection/connection-state.type.js +23 -30
  434. package/dist/services/octoprint/dto/connection/connection-state.type.js.map +1 -1
  435. package/dist/services/octoprint/dto/connection/connection.dto.js +1 -6
  436. package/dist/services/octoprint/dto/events/client-authed.dto.js +1 -6
  437. package/dist/services/octoprint/dto/events/client-closed.dto.js +1 -6
  438. package/dist/services/octoprint/dto/events/client-opened.dto.js +1 -6
  439. package/dist/services/octoprint/dto/events/dwelling.dto.js +1 -6
  440. package/dist/services/octoprint/dto/events/file-added.dto.js +1 -6
  441. package/dist/services/octoprint/dto/events/file-deselected.dto.js +1 -6
  442. package/dist/services/octoprint/dto/events/file-removed.dto.js +1 -6
  443. package/dist/services/octoprint/dto/events/folder-added.dto.js +1 -6
  444. package/dist/services/octoprint/dto/events/home.dto.js +1 -6
  445. package/dist/services/octoprint/dto/events/metadata-analysis-finished.dto.js +1 -6
  446. package/dist/services/octoprint/dto/events/metadata-analysis-started.dto.js +1 -6
  447. package/dist/services/octoprint/dto/events/metadata-statistics-updated.dto.js +1 -6
  448. package/dist/services/octoprint/dto/events/position-update.dto.js +1 -6
  449. package/dist/services/octoprint/dto/events/print-cancelled.dto.js +1 -6
  450. package/dist/services/octoprint/dto/events/print-cancelling.dto.js +1 -6
  451. package/dist/services/octoprint/dto/events/print-done.dto.js +1 -6
  452. package/dist/services/octoprint/dto/events/print-failed.dto.js +1 -6
  453. package/dist/services/octoprint/dto/events/print-paused.dto.js +1 -6
  454. package/dist/services/octoprint/dto/events/print-resumed.dto.js +1 -6
  455. package/dist/services/octoprint/dto/events/print-started.dto.js +1 -6
  456. package/dist/services/octoprint/dto/events/printer-state-changed.dto.js +1 -6
  457. package/dist/services/octoprint/dto/events/transfer-done.dto.js +1 -6
  458. package/dist/services/octoprint/dto/events/transfer-started.dto.js +1 -6
  459. package/dist/services/octoprint/dto/events/updated-files.dto.js +1 -6
  460. package/dist/services/octoprint/dto/events/upload.dto.js +1 -6
  461. package/dist/services/octoprint/dto/events/user-logged-in.dto.js +1 -6
  462. package/dist/services/octoprint/dto/events/z-change.dto.js +1 -6
  463. package/dist/services/octoprint/dto/files/gcode-analysis.dto.js +1 -6
  464. package/dist/services/octoprint/dto/files/octoprint-file.dto.js +1 -6
  465. package/dist/services/octoprint/dto/files/octoprint-files-response.dto.js +1 -6
  466. package/dist/services/octoprint/dto/job/current-job.dto.js +8 -15
  467. package/dist/services/octoprint/dto/job/current-job.dto.js.map +1 -1
  468. package/dist/services/octoprint/dto/job/job.dto.js +1 -6
  469. package/dist/services/octoprint/dto/octoprint-event.dto.js +21 -39
  470. package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
  471. package/dist/services/octoprint/dto/printer/busy-file.dto.js +1 -6
  472. package/dist/services/octoprint/dto/printer/current-printer-state.dto.js +1 -6
  473. package/dist/services/octoprint/dto/printer/flags.dto.js +1 -6
  474. package/dist/services/octoprint/dto/printer/markings.dto.js +1 -6
  475. package/dist/services/octoprint/dto/printer/progress.dto.js +1 -6
  476. package/dist/services/octoprint/dto/printer/resends.dto.js +1 -6
  477. package/dist/services/octoprint/dto/printer/state.dto.js +1 -6
  478. package/dist/services/octoprint/dto/printer/temps.dto.js +1 -6
  479. package/dist/services/octoprint/dto/rest/error.dto.js +1 -6
  480. package/dist/services/octoprint/dto/server/server.dto.js +1 -6
  481. package/dist/services/octoprint/dto/server/version.dto.js +1 -6
  482. package/dist/services/octoprint/dto/settings/serial-settings.dto.js +1 -6
  483. package/dist/services/octoprint/dto/settings/settings-parts.type.js +1 -6
  484. package/dist/services/octoprint/dto/settings/settings.dto.js +1 -6
  485. package/dist/services/octoprint/dto/settings/virtual-printer-settings.dto.js +1 -6
  486. package/dist/services/octoprint/dto/system/system-info.dto.js +32 -39
  487. package/dist/services/octoprint/dto/system/system-info.dto.js.map +1 -1
  488. package/dist/services/octoprint/dto/websocket/connection-message.dto.js +1 -6
  489. package/dist/services/octoprint/dto/websocket/current-message.dto.js +1 -6
  490. package/dist/services/octoprint/dto/websocket/event-message.dto.js +1 -6
  491. package/dist/services/octoprint/dto/websocket/event.type.js +42 -49
  492. package/dist/services/octoprint/dto/websocket/event.type.js.map +1 -1
  493. package/dist/services/octoprint/dto/websocket/history-message.dto.js +1 -6
  494. package/dist/services/octoprint/dto/websocket/plugin-message.dto.js +1 -6
  495. package/dist/services/octoprint/dto/websocket/timelapse-message.dto.js +1 -6
  496. package/dist/services/octoprint/octoprint-api.routes.js +77 -94
  497. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
  498. package/dist/services/octoprint/octoprint-websocket.adapter.js +265 -315
  499. package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
  500. package/dist/services/octoprint/octoprint.client.js +220 -261
  501. package/dist/services/octoprint/octoprint.client.js.map +1 -1
  502. package/dist/services/octoprint/utils/api.utils.js +15 -32
  503. package/dist/services/octoprint/utils/api.utils.js.map +1 -1
  504. package/dist/services/octoprint/utils/file.utils.js +44 -67
  505. package/dist/services/octoprint/utils/file.utils.js.map +1 -1
  506. package/dist/services/octoprint/utils/octoprint-http-client.builder.js +16 -29
  507. package/dist/services/octoprint/utils/octoprint-http-client.builder.js.map +1 -1
  508. package/dist/services/octoprint.api.js +113 -128
  509. package/dist/services/octoprint.api.js.map +1 -1
  510. package/dist/services/orm/base.interface.js +1 -6
  511. package/dist/services/orm/base.service.js +57 -73
  512. package/dist/services/orm/base.service.js.map +1 -1
  513. package/dist/services/orm/camera-stream.service.js +21 -27
  514. package/dist/services/orm/camera-stream.service.js.map +1 -1
  515. package/dist/services/orm/floor-position.service.js +42 -49
  516. package/dist/services/orm/floor-position.service.js.map +1 -1
  517. package/dist/services/orm/floor.service.js +110 -138
  518. package/dist/services/orm/floor.service.js.map +1 -1
  519. package/dist/services/orm/permission.service.js +16 -23
  520. package/dist/services/orm/permission.service.js.map +1 -1
  521. package/dist/services/orm/print-job.service.js +443 -545
  522. package/dist/services/orm/print-job.service.js.map +1 -1
  523. package/dist/services/orm/printer-maintenance-log.service.js +102 -149
  524. package/dist/services/orm/printer-maintenance-log.service.js.map +1 -1
  525. package/dist/services/orm/printer-tag.service.js +93 -118
  526. package/dist/services/orm/printer-tag.service.js.map +1 -1
  527. package/dist/services/orm/printer.service.js +110 -158
  528. package/dist/services/orm/printer.service.js.map +1 -1
  529. package/dist/services/orm/refresh-token.service.js +69 -99
  530. package/dist/services/orm/refresh-token.service.js.map +1 -1
  531. package/dist/services/orm/role.service.js +99 -116
  532. package/dist/services/orm/role.service.js.map +1 -1
  533. package/dist/services/orm/settings.service.js +84 -94
  534. package/dist/services/orm/settings.service.js.map +1 -1
  535. package/dist/services/orm/user-role.service.js +39 -53
  536. package/dist/services/orm/user-role.service.js.map +1 -1
  537. package/dist/services/orm/user.service.js +142 -189
  538. package/dist/services/orm/user.service.js.map +1 -1
  539. package/dist/services/print-file-downloader.service.js +153 -167
  540. package/dist/services/print-file-downloader.service.js.map +1 -1
  541. package/dist/services/print-queue.service.js +240 -326
  542. package/dist/services/print-queue.service.js.map +1 -1
  543. package/dist/services/printer-api.factory.js +26 -43
  544. package/dist/services/printer-api.factory.js.map +1 -1
  545. package/dist/services/printer-api.interface.js +23 -53
  546. package/dist/services/printer-api.interface.js.map +1 -1
  547. package/dist/services/prusa-link/constants/prusalink-event.dto.js +9 -16
  548. package/dist/services/prusa-link/constants/prusalink-event.dto.js.map +1 -1
  549. package/dist/services/prusa-link/constants/prusalink.constants.js +4 -11
  550. package/dist/services/prusa-link/constants/prusalink.constants.js.map +1 -1
  551. package/dist/services/prusa-link/dto/file-response.dto.js +1 -6
  552. package/dist/services/prusa-link/dto/file.dto.js +1 -6
  553. package/dist/services/prusa-link/dto/job-state.dto.js +1 -6
  554. package/dist/services/prusa-link/dto/printer-state.dto.js +1 -6
  555. package/dist/services/prusa-link/dto/status.dto.js +1 -6
  556. package/dist/services/prusa-link/dto/version.dto.js +1 -6
  557. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js +141 -157
  558. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js.map +1 -1
  559. package/dist/services/prusa-link/prusa-link.api.js +206 -240
  560. package/dist/services/prusa-link/prusa-link.api.js.map +1 -1
  561. package/dist/services/prusa-link/utils/digest-auth.params.js +1 -6
  562. package/dist/services/prusa-link/utils/digest-auth.util.js +17 -24
  563. package/dist/services/prusa-link/utils/digest-auth.util.js.map +1 -1
  564. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js +92 -129
  565. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js.map +1 -1
  566. package/dist/services/socket.factory.js +21 -36
  567. package/dist/services/socket.factory.js.map +1 -1
  568. package/dist/services/task-manager.service.js +190 -174
  569. package/dist/services/task-manager.service.js.map +1 -1
  570. package/dist/services/typeorm/typeorm.service.js +31 -46
  571. package/dist/services/typeorm/typeorm.service.js.map +1 -1
  572. package/dist/services/validators/floor-service.validation.js +26 -63
  573. package/dist/services/validators/floor-service.validation.js.map +1 -1
  574. package/dist/services/validators/print-job.validation.js +11 -26
  575. package/dist/services/validators/print-job.validation.js.map +1 -1
  576. package/dist/services/validators/printer-maintenance-log.validation.js +17 -37
  577. package/dist/services/validators/printer-maintenance-log.validation.js.map +1 -1
  578. package/dist/services/validators/printer-service.validation.js +60 -125
  579. package/dist/services/validators/printer-service.validation.js.map +1 -1
  580. package/dist/services/validators/settings-service.validation.js +46 -106
  581. package/dist/services/validators/settings-service.validation.js.map +1 -1
  582. package/dist/services/validators/user-service.validation.js +19 -36
  583. package/dist/services/validators/user-service.validation.js.map +1 -1
  584. package/dist/services/validators/yaml-service.validation.js +96 -132
  585. package/dist/services/validators/yaml-service.validation.js.map +1 -1
  586. package/dist/services/websocket-adapter.interface.js +1 -6
  587. package/dist/shared/default-http-client.builder.js +74 -92
  588. package/dist/shared/default-http-client.builder.js.map +1 -1
  589. package/dist/shared/dtos/api-state.type.js +8 -15
  590. package/dist/shared/dtos/api-state.type.js.map +1 -1
  591. package/dist/shared/dtos/socket-login.dto.js +1 -6
  592. package/dist/shared/dtos/socket-state.type.js +11 -18
  593. package/dist/shared/dtos/socket-state.type.js.map +1 -1
  594. package/dist/shared/load-controllers.js +41 -19
  595. package/dist/shared/load-controllers.js.map +1 -1
  596. package/dist/shared/runtime-settings.migration.js +43 -50
  597. package/dist/shared/runtime-settings.migration.js.map +1 -1
  598. package/dist/shared/websocket-rpc-extended.adapter.js +74 -75
  599. package/dist/shared/websocket-rpc-extended.adapter.js.map +1 -1
  600. package/dist/shared/websocket.adapter.js +78 -63
  601. package/dist/shared/websocket.adapter.js.map +1 -1
  602. package/dist/state/file-upload-tracker.cache.js +63 -75
  603. package/dist/state/file-upload-tracker.cache.js.map +1 -1
  604. package/dist/state/floor.store.js +77 -89
  605. package/dist/state/floor.store.js.map +1 -1
  606. package/dist/state/printer-events.cache.js +237 -295
  607. package/dist/state/printer-events.cache.js.map +1 -1
  608. package/dist/state/printer-socket.store.js +156 -174
  609. package/dist/state/printer-socket.store.js.map +1 -1
  610. package/dist/state/printer-thumbnail.cache.js +129 -130
  611. package/dist/state/printer-thumbnail.cache.js.map +1 -1
  612. package/dist/state/printer.cache.js +87 -102
  613. package/dist/state/printer.cache.js.map +1 -1
  614. package/dist/state/settings.store.js +211 -234
  615. package/dist/state/settings.store.js.map +1 -1
  616. package/dist/state/socket-io.gateway.js +58 -87
  617. package/dist/state/socket-io.gateway.js.map +1 -1
  618. package/dist/state/test-printer-socket.store.js +116 -137
  619. package/dist/state/test-printer-socket.store.js.map +1 -1
  620. package/dist/state/validation/create-test-printer.validation.js +14 -21
  621. package/dist/state/validation/create-test-printer.validation.js.map +1 -1
  622. package/dist/task.presets.js +30 -37
  623. package/dist/task.presets.js.map +1 -1
  624. package/dist/tasks/boot.task.js +100 -128
  625. package/dist/tasks/boot.task.js.map +1 -1
  626. package/dist/tasks/client-bundle.task.js +20 -28
  627. package/dist/tasks/client-bundle.task.js.map +1 -1
  628. package/dist/tasks/print-job-analysis.task.js +88 -113
  629. package/dist/tasks/print-job-analysis.task.js.map +1 -1
  630. package/dist/tasks/printer-websocket-restore.task.js +41 -54
  631. package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
  632. package/dist/tasks/printer-websocket.task.js +11 -19
  633. package/dist/tasks/printer-websocket.task.js.map +1 -1
  634. package/dist/tasks/socketio.task.js +35 -53
  635. package/dist/tasks/socketio.task.js.map +1 -1
  636. package/dist/tasks/software-update.task.js +12 -20
  637. package/dist/tasks/software-update.task.js.map +1 -1
  638. package/dist/tasks.js +27 -41
  639. package/dist/tasks.js.map +1 -1
  640. package/dist/types/express/index.d.js +1 -6
  641. package/dist/types/virtual-modules.d.js +1 -0
  642. package/dist/utils/array.util.js +9 -24
  643. package/dist/utils/array.util.js.map +1 -1
  644. package/dist/utils/bgcode/bgcode-thumbnail.parser.js +26 -44
  645. package/dist/utils/bgcode/bgcode-thumbnail.parser.js.map +1 -1
  646. package/dist/utils/bgcode/bgcode.constants.js +9 -45
  647. package/dist/utils/bgcode/bgcode.constants.js.map +1 -1
  648. package/dist/utils/bgcode/bgcode.types.js +57 -106
  649. package/dist/utils/bgcode/bgcode.types.js.map +1 -1
  650. package/dist/utils/bgcode/bgcode.utils.js +167 -256
  651. package/dist/utils/bgcode/bgcode.utils.js.map +1 -1
  652. package/dist/utils/bgcode/heatshrink-decoder.js +130 -170
  653. package/dist/utils/bgcode/heatshrink-decoder.js.map +1 -1
  654. package/dist/utils/bgcode/png-encoder.js +53 -66
  655. package/dist/utils/bgcode/png-encoder.js.map +1 -1
  656. package/dist/utils/bgcode/qoi-decoder.js +116 -135
  657. package/dist/utils/bgcode/qoi-decoder.js.map +1 -1
  658. package/dist/utils/cache/key-diff.cache.js +56 -85
  659. package/dist/utils/cache/key-diff.cache.js.map +1 -1
  660. package/dist/utils/correlation-token.util.js +4 -11
  661. package/dist/utils/correlation-token.util.js.map +1 -1
  662. package/dist/utils/crypto.utils.js +7 -23
  663. package/dist/utils/crypto.utils.js.map +1 -1
  664. package/dist/utils/env.utils.js +14 -49
  665. package/dist/utils/env.utils.js.map +1 -1
  666. package/dist/utils/error.utils.js +4 -11
  667. package/dist/utils/error.utils.js.map +1 -1
  668. package/dist/utils/fs.utils.js +26 -49
  669. package/dist/utils/fs.utils.js.map +1 -1
  670. package/dist/utils/gcode.utils.js +30 -43
  671. package/dist/utils/gcode.utils.js.map +1 -1
  672. package/dist/utils/image-dimensions.js +39 -54
  673. package/dist/utils/image-dimensions.js.map +1 -1
  674. package/dist/utils/job-stats.util.js +41 -72
  675. package/dist/utils/job-stats.util.js.map +1 -1
  676. package/dist/utils/normalize-url.js +135 -203
  677. package/dist/utils/normalize-url.js.map +1 -1
  678. package/dist/utils/parsers/3mf.parser.js +298 -365
  679. package/dist/utils/parsers/3mf.parser.js.map +1 -1
  680. package/dist/utils/parsers/bgcode.parser.js +149 -202
  681. package/dist/utils/parsers/bgcode.parser.js.map +1 -1
  682. package/dist/utils/parsers/gcode.parser.js +200 -263
  683. package/dist/utils/parsers/gcode.parser.js.map +1 -1
  684. package/dist/utils/parsers/parser.types.js +1 -6
  685. package/dist/utils/pretty-print.utils.js +5 -20
  686. package/dist/utils/pretty-print.utils.js.map +1 -1
  687. package/dist/utils/semver.utils.js +10 -26
  688. package/dist/utils/semver.utils.js.map +1 -1
  689. package/dist/utils/swagger/decorators.js +14 -32
  690. package/dist/utils/swagger/decorators.js.map +1 -1
  691. package/dist/utils/swagger/generator.js +151 -194
  692. package/dist/utils/swagger/generator.js.map +1 -1
  693. package/dist/utils/swagger/swagger.js +40 -51
  694. package/dist/utils/swagger/swagger.js.map +1 -1
  695. package/dist/utils/thumbnail.util.js +11 -20
  696. package/dist/utils/thumbnail.util.js.map +1 -1
  697. package/dist/utils/time.utils.js +4 -12
  698. package/dist/utils/time.utils.js.map +1 -1
  699. package/dist/utils/url.utils.js +9 -27
  700. package/dist/utils/url.utils.js.map +1 -1
  701. package/package.json +79 -90
  702. package/packages/consoles/package.json +44 -0
  703. package/packages/consoles/tsconfig.json +23 -0
  704. package/packages/consoles/vite.config.ts +15 -0
  705. package/tsconfig.json +10 -6
  706. package/vite.config.ts +62 -0
  707. package/.swcrc +0 -33
  708. package/.yarn/releases/yarn-4.12.0.cjs +0 -942
  709. package/biome.json +0 -36
  710. package/dist/consoles/bambu-mqtt-diagnostic.console.js +0 -565
  711. package/dist/consoles/bambu-mqtt-diagnostic.console.js.map +0 -1
  712. package/dist/consoles/download-github-releases.js +0 -50
  713. package/dist/consoles/download-github-releases.js.map +0 -1
  714. package/dist/consoles/gcode-scanner-poc.console.js +0 -52
  715. package/dist/consoles/gcode-scanner-poc.console.js.map +0 -1
  716. package/dist/consoles/launch-http-servers.js +0 -31
  717. package/dist/consoles/launch-http-servers.js.map +0 -1
  718. package/dist/consoles/mock-bambu.server.js +0 -319
  719. package/dist/consoles/mock-bambu.server.js.map +0 -1
  720. package/dist/consoles/mock-camera/default-image.js +0 -13
  721. package/dist/consoles/mock-camera/default-image.js.map +0 -1
  722. package/dist/consoles/mock-camera/mock-camera.server.js +0 -160
  723. package/dist/consoles/mock-camera/mock-camera.server.js.map +0 -1
  724. package/dist/consoles/mock-octoprint.server.js +0 -499
  725. package/dist/consoles/mock-octoprint.server.js.map +0 -1
  726. package/dist/consoles/mock-prusalink.server.js +0 -57
  727. package/dist/consoles/mock-prusalink.server.js.map +0 -1
  728. package/dist/consoles/moonraker-test.console.js +0 -3
  729. package/dist/consoles/moonraker-test.console.js.map +0 -1
  730. package/dist/consoles/utils/api-messages.js +0 -856
  731. package/dist/consoles/utils/api-messages.js.map +0 -1
  732. package/dist/consoles/utils/delayed-memory.storage.js +0 -42
  733. package/dist/consoles/utils/delayed-memory.storage.js.map +0 -1
  734. package/dist/consoles/utils/ws-messages.js +0 -88
  735. package/dist/consoles/utils/ws-messages.js.map +0 -1
  736. package/dist/entities/index.js.map +0 -1
  737. package/dist/services/bambu/mqtt-message.types.js.map +0 -1
  738. package/dist/services/interfaces/auth.service.interface.js.map +0 -1
  739. package/dist/services/interfaces/camera-stream.service.interface.js.map +0 -1
  740. package/dist/services/interfaces/file-upload-tracker.interface.js.map +0 -1
  741. package/dist/services/interfaces/floor.service.interface.js.map +0 -1
  742. package/dist/services/interfaces/jwt.service.interface.js.map +0 -1
  743. package/dist/services/interfaces/permission.service.interface.js.map +0 -1
  744. package/dist/services/interfaces/printer-file.dto.js.map +0 -1
  745. package/dist/services/interfaces/printer-maintenance-log.dto.js.map +0 -1
  746. package/dist/services/interfaces/printer-tag.service.interface.js.map +0 -1
  747. package/dist/services/interfaces/printer.service.interface.js.map +0 -1
  748. package/dist/services/interfaces/refresh-token.service.interface.js.map +0 -1
  749. package/dist/services/interfaces/role-service.interface.js.map +0 -1
  750. package/dist/services/interfaces/settings.service.interface.js.map +0 -1
  751. package/dist/services/interfaces/tag.dto.js.map +0 -1
  752. package/dist/services/interfaces/task.interfaces.js.map +0 -1
  753. package/dist/services/interfaces/user-service.interface.js.map +0 -1
  754. package/dist/services/moonraker/dto/access/access-info.dto.js.map +0 -1
  755. package/dist/services/moonraker/dto/access/access-login-refresh.dto.js.map +0 -1
  756. package/dist/services/moonraker/dto/access/access-login-result.dto.js.map +0 -1
  757. package/dist/services/moonraker/dto/access/access-user-result.dto.js.map +0 -1
  758. package/dist/services/moonraker/dto/access/access-user.dto.js.map +0 -1
  759. package/dist/services/moonraker/dto/database/database-namespace-item.dto.js.map +0 -1
  760. package/dist/services/moonraker/dto/database/database-namespace-list.dto.js.map +0 -1
  761. package/dist/services/moonraker/dto/gcode-help.dto.js.map +0 -1
  762. package/dist/services/moonraker/dto/gcode-store.dto.js.map +0 -1
  763. package/dist/services/moonraker/dto/job-queue/enqueue-job.dto.js.map +0 -1
  764. package/dist/services/moonraker/dto/job-queue/job-queue-status.dto.js.map +0 -1
  765. package/dist/services/moonraker/dto/machine/machine-device-power-device-state.dto.js.map +0 -1
  766. package/dist/services/moonraker/dto/machine/machine-device-power-devices.dto.js.map +0 -1
  767. package/dist/services/moonraker/dto/machine/machine-peripherals-canbus.dto.js.map +0 -1
  768. package/dist/services/moonraker/dto/machine/machine-peripherals-serial.dto.js.map +0 -1
  769. package/dist/services/moonraker/dto/machine/machine-peripherals-usb.dto.js.map +0 -1
  770. package/dist/services/moonraker/dto/machine/machine-peripherals-video.dto.js.map +0 -1
  771. package/dist/services/moonraker/dto/machine/machine-system-info.dto.js.map +0 -1
  772. package/dist/services/moonraker/dto/machine/machine-update-status.dto.js.map +0 -1
  773. package/dist/services/moonraker/dto/machine/machine-wled-strips.dto.js.map +0 -1
  774. package/dist/services/moonraker/dto/notifier-list.dto.js.map +0 -1
  775. package/dist/services/moonraker/dto/objects/bed-mesh.dto.js.map +0 -1
  776. package/dist/services/moonraker/dto/objects/configfile.dto.js.map +0 -1
  777. package/dist/services/moonraker/dto/objects/display-status.dto.js.map +0 -1
  778. package/dist/services/moonraker/dto/objects/extruder.dto.js.map +0 -1
  779. package/dist/services/moonraker/dto/objects/fan.dto.js.map +0 -1
  780. package/dist/services/moonraker/dto/objects/filament-motion-sensor.dto.js.map +0 -1
  781. package/dist/services/moonraker/dto/objects/filament-switch-sensor.dto.js.map +0 -1
  782. package/dist/services/moonraker/dto/objects/gcode-move.dto.js.map +0 -1
  783. package/dist/services/moonraker/dto/objects/gcode.dto.js.map +0 -1
  784. package/dist/services/moonraker/dto/objects/heater-bed.dto.js.map +0 -1
  785. package/dist/services/moonraker/dto/objects/heaters.dto.js.map +0 -1
  786. package/dist/services/moonraker/dto/objects/mcu.dto.js.map +0 -1
  787. package/dist/services/moonraker/dto/objects/motion-report.dto.js.map +0 -1
  788. package/dist/services/moonraker/dto/objects/output-pin.dto.js.map +0 -1
  789. package/dist/services/moonraker/dto/objects/pause-resume.dto.js.map +0 -1
  790. package/dist/services/moonraker/dto/objects/printer-object.dto.js.map +0 -1
  791. package/dist/services/moonraker/dto/objects/printer-object.types.js.map +0 -1
  792. package/dist/services/moonraker/dto/objects/printer-objects-query.dto.js.map +0 -1
  793. package/dist/services/moonraker/dto/objects/stepper-enable.dto.js.map +0 -1
  794. package/dist/services/moonraker/dto/objects/system-stats.dto.js.map +0 -1
  795. package/dist/services/moonraker/dto/objects/temperature-fan.dto.js.map +0 -1
  796. package/dist/services/moonraker/dto/objects/temperature-sensor.dto.js.map +0 -1
  797. package/dist/services/moonraker/dto/objects/toolhead.dto.js.map +0 -1
  798. package/dist/services/moonraker/dto/objects/virtual-sdcard.dto.js.map +0 -1
  799. package/dist/services/moonraker/dto/objects/webhooks.dto.js.map +0 -1
  800. package/dist/services/moonraker/dto/octoprint-compat/api-job.dto.js.map +0 -1
  801. package/dist/services/moonraker/dto/octoprint-compat/api-login.dto.js.map +0 -1
  802. package/dist/services/moonraker/dto/octoprint-compat/api-printer.dto.js.map +0 -1
  803. package/dist/services/moonraker/dto/octoprint-compat/api-profiles.dto.js.map +0 -1
  804. package/dist/services/moonraker/dto/octoprint-compat/api-settings.dto.js.map +0 -1
  805. package/dist/services/moonraker/dto/octoprint-compat/api-version.dto.js.map +0 -1
  806. package/dist/services/moonraker/dto/octoprint-compat/server-version.dto.js.map +0 -1
  807. package/dist/services/moonraker/dto/printer-query-endstops.dto.js.map +0 -1
  808. package/dist/services/moonraker/dto/process-stats.dto.js.map +0 -1
  809. package/dist/services/moonraker/dto/rest/action-result.dto.js.map +0 -1
  810. package/dist/services/moonraker/dto/rest/error.dto.js.map +0 -1
  811. package/dist/services/moonraker/dto/rollover-logs.dto.js.map +0 -1
  812. package/dist/services/moonraker/dto/rpc/json-rpc-error.dto.js.map +0 -1
  813. package/dist/services/moonraker/dto/rpc/json-rpc-request.dto.js.map +0 -1
  814. package/dist/services/moonraker/dto/rpc/json-rpc-response.dto.js.map +0 -1
  815. package/dist/services/moonraker/dto/server/server-config.dto.js.map +0 -1
  816. package/dist/services/moonraker/dto/server-announcements/announcement-action.dto.js.map +0 -1
  817. package/dist/services/moonraker/dto/server-announcements/announcement-entry-id.dto.js.map +0 -1
  818. package/dist/services/moonraker/dto/server-announcements/announcement-feeds.dto.js.map +0 -1
  819. package/dist/services/moonraker/dto/server-announcements/announcement-list.dto.js.map +0 -1
  820. package/dist/services/moonraker/dto/server-files/server-file-directory-action.dto.js.map +0 -1
  821. package/dist/services/moonraker/dto/server-files/server-file-directory-info.dto.js.map +0 -1
  822. package/dist/services/moonraker/dto/server-files/server-file-metadata.dto.js.map +0 -1
  823. package/dist/services/moonraker/dto/server-files/server-file-root.dto.js.map +0 -1
  824. package/dist/services/moonraker/dto/server-files/server-file-thumbnail.dto.js.map +0 -1
  825. package/dist/services/moonraker/dto/server-files/server-file-zip-action.dto.js.map +0 -1
  826. package/dist/services/moonraker/dto/server-files/server-file.dto.js.map +0 -1
  827. package/dist/services/moonraker/dto/server-history/history-job.dto.js.map +0 -1
  828. package/dist/services/moonraker/dto/server-history/history-last-totals.dto.js.map +0 -1
  829. package/dist/services/moonraker/dto/server-history/history-list.dto.js.map +0 -1
  830. package/dist/services/moonraker/dto/server-history/history-totals.dto.js.map +0 -1
  831. package/dist/services/moonraker/dto/server-sensors/sensor-info.dto.js.map +0 -1
  832. package/dist/services/moonraker/dto/server-sensors/sensor-list.dto.js.map +0 -1
  833. package/dist/services/moonraker/dto/server-sensors/sensor-measurements.dto.js.map +0 -1
  834. package/dist/services/moonraker/dto/server-webcams/webcam-item.dto.js.map +0 -1
  835. package/dist/services/moonraker/dto/server-webcams/webcam-list.dto.js.map +0 -1
  836. package/dist/services/moonraker/dto/server-webcams/webcam-test.dto.js.map +0 -1
  837. package/dist/services/moonraker/dto/spoolman/spoolman-active-spool.dto.js.map +0 -1
  838. package/dist/services/moonraker/dto/spoolman/spoolman-proxy-request.dto.js.map +0 -1
  839. package/dist/services/moonraker/dto/spoolman/spoolman-response.dto.js.map +0 -1
  840. package/dist/services/moonraker/dto/spoolman/spoolman-status.dto.js.map +0 -1
  841. package/dist/services/moonraker/dto/sudo-info.dto.js.map +0 -1
  842. package/dist/services/moonraker/dto/sudo-response.dto.js.map +0 -1
  843. package/dist/services/moonraker/dto/temperature-store.dto.js.map +0 -1
  844. package/dist/services/moonraker/dto/websocket/connection-identify-response.dto.js.map +0 -1
  845. package/dist/services/moonraker/dto/websocket/connection-identify.dto.js.map +0 -1
  846. package/dist/services/moonraker/dto/websocket/json-rpc-event.dto.js.map +0 -1
  847. package/dist/services/moonraker/dto/websocket/message.types.js.map +0 -1
  848. package/dist/services/moonraker/dto/websocket/notify-active-spool-set.params.js.map +0 -1
  849. package/dist/services/moonraker/dto/websocket/notify-agent-event.params.js.map +0 -1
  850. package/dist/services/moonraker/dto/websocket/notify-announcement-update.params.js.map +0 -1
  851. package/dist/services/moonraker/dto/websocket/notify-announcement.params.js.map +0 -1
  852. package/dist/services/moonraker/dto/websocket/notify-button-event.params.js.map +0 -1
  853. package/dist/services/moonraker/dto/websocket/notify-history-changed.params.js.map +0 -1
  854. package/dist/services/moonraker/dto/websocket/notify-job-queue-changed.params.js.map +0 -1
  855. package/dist/services/moonraker/dto/websocket/notify-proc-stat-update.params.js.map +0 -1
  856. package/dist/services/moonraker/dto/websocket/notify-sensor-update.params.js.map +0 -1
  857. package/dist/services/moonraker/dto/websocket/notify-service-state-changed.params.js.map +0 -1
  858. package/dist/services/moonraker/dto/websocket/notify-spoolman-status-changed.js.map +0 -1
  859. package/dist/services/moonraker/dto/websocket/notify-sudo-alert.params.js.map +0 -1
  860. package/dist/services/moonraker/dto/websocket/notify-user-change.params.js.map +0 -1
  861. package/dist/services/octoprint/dto/access/user-list.dto.js.map +0 -1
  862. package/dist/services/octoprint/dto/access/user.dto.js.map +0 -1
  863. package/dist/services/octoprint/dto/auth/current-user.dto.js.map +0 -1
  864. package/dist/services/octoprint/dto/auth/login.dto.js.map +0 -1
  865. package/dist/services/octoprint/dto/connection/connection.dto.js.map +0 -1
  866. package/dist/services/octoprint/dto/events/client-authed.dto.js.map +0 -1
  867. package/dist/services/octoprint/dto/events/client-closed.dto.js.map +0 -1
  868. package/dist/services/octoprint/dto/events/client-opened.dto.js.map +0 -1
  869. package/dist/services/octoprint/dto/events/dwelling.dto.js.map +0 -1
  870. package/dist/services/octoprint/dto/events/file-added.dto.js.map +0 -1
  871. package/dist/services/octoprint/dto/events/file-deselected.dto.js.map +0 -1
  872. package/dist/services/octoprint/dto/events/file-removed.dto.js.map +0 -1
  873. package/dist/services/octoprint/dto/events/folder-added.dto.js.map +0 -1
  874. package/dist/services/octoprint/dto/events/home.dto.js.map +0 -1
  875. package/dist/services/octoprint/dto/events/metadata-analysis-finished.dto.js.map +0 -1
  876. package/dist/services/octoprint/dto/events/metadata-analysis-started.dto.js.map +0 -1
  877. package/dist/services/octoprint/dto/events/metadata-statistics-updated.dto.js.map +0 -1
  878. package/dist/services/octoprint/dto/events/position-update.dto.js.map +0 -1
  879. package/dist/services/octoprint/dto/events/print-cancelled.dto.js.map +0 -1
  880. package/dist/services/octoprint/dto/events/print-cancelling.dto.js.map +0 -1
  881. package/dist/services/octoprint/dto/events/print-done.dto.js.map +0 -1
  882. package/dist/services/octoprint/dto/events/print-failed.dto.js.map +0 -1
  883. package/dist/services/octoprint/dto/events/print-paused.dto.js.map +0 -1
  884. package/dist/services/octoprint/dto/events/print-resumed.dto.js.map +0 -1
  885. package/dist/services/octoprint/dto/events/print-started.dto.js.map +0 -1
  886. package/dist/services/octoprint/dto/events/printer-state-changed.dto.js.map +0 -1
  887. package/dist/services/octoprint/dto/events/transfer-done.dto.js.map +0 -1
  888. package/dist/services/octoprint/dto/events/transfer-started.dto.js.map +0 -1
  889. package/dist/services/octoprint/dto/events/updated-files.dto.js.map +0 -1
  890. package/dist/services/octoprint/dto/events/upload.dto.js.map +0 -1
  891. package/dist/services/octoprint/dto/events/user-logged-in.dto.js.map +0 -1
  892. package/dist/services/octoprint/dto/events/z-change.dto.js.map +0 -1
  893. package/dist/services/octoprint/dto/files/gcode-analysis.dto.js.map +0 -1
  894. package/dist/services/octoprint/dto/files/octoprint-file.dto.js.map +0 -1
  895. package/dist/services/octoprint/dto/files/octoprint-files-response.dto.js.map +0 -1
  896. package/dist/services/octoprint/dto/job/job.dto.js.map +0 -1
  897. package/dist/services/octoprint/dto/printer/busy-file.dto.js.map +0 -1
  898. package/dist/services/octoprint/dto/printer/current-printer-state.dto.js.map +0 -1
  899. package/dist/services/octoprint/dto/printer/flags.dto.js.map +0 -1
  900. package/dist/services/octoprint/dto/printer/markings.dto.js.map +0 -1
  901. package/dist/services/octoprint/dto/printer/progress.dto.js.map +0 -1
  902. package/dist/services/octoprint/dto/printer/resends.dto.js.map +0 -1
  903. package/dist/services/octoprint/dto/printer/state.dto.js.map +0 -1
  904. package/dist/services/octoprint/dto/printer/temps.dto.js.map +0 -1
  905. package/dist/services/octoprint/dto/rest/error.dto.js.map +0 -1
  906. package/dist/services/octoprint/dto/server/server.dto.js.map +0 -1
  907. package/dist/services/octoprint/dto/server/version.dto.js.map +0 -1
  908. package/dist/services/octoprint/dto/settings/serial-settings.dto.js.map +0 -1
  909. package/dist/services/octoprint/dto/settings/settings-parts.type.js.map +0 -1
  910. package/dist/services/octoprint/dto/settings/settings.dto.js.map +0 -1
  911. package/dist/services/octoprint/dto/settings/virtual-printer-settings.dto.js.map +0 -1
  912. package/dist/services/octoprint/dto/websocket/connection-message.dto.js.map +0 -1
  913. package/dist/services/octoprint/dto/websocket/current-message.dto.js.map +0 -1
  914. package/dist/services/octoprint/dto/websocket/event-message.dto.js.map +0 -1
  915. package/dist/services/octoprint/dto/websocket/history-message.dto.js.map +0 -1
  916. package/dist/services/octoprint/dto/websocket/plugin-message.dto.js.map +0 -1
  917. package/dist/services/octoprint/dto/websocket/timelapse-message.dto.js.map +0 -1
  918. package/dist/services/orm/base.interface.js.map +0 -1
  919. package/dist/services/prusa-link/dto/file-response.dto.js.map +0 -1
  920. package/dist/services/prusa-link/dto/file.dto.js.map +0 -1
  921. package/dist/services/prusa-link/dto/job-state.dto.js.map +0 -1
  922. package/dist/services/prusa-link/dto/printer-state.dto.js.map +0 -1
  923. package/dist/services/prusa-link/dto/status.dto.js.map +0 -1
  924. package/dist/services/prusa-link/dto/version.dto.js.map +0 -1
  925. package/dist/services/prusa-link/utils/digest-auth.params.js.map +0 -1
  926. package/dist/services/websocket-adapter.interface.js.map +0 -1
  927. package/dist/shared/dtos/socket-login.dto.js.map +0 -1
  928. package/dist/types/express/index.d.js.map +0 -1
  929. package/dist/utils/parsers/parser.types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/services/octoprint/octoprint.client.ts"],"names":["OctoprintClient","OctoprintRoutes","logger","loggerFactory","httpClientFactory","eventEmitter2","settingsStore","name","getApiVersion","login","createClient","get","apiVersion","getServer","apiServer","post","apiLogin","passive","sendConnectionCommand","commandData","apiConnection","sendPrintHeadJogCommand","amounts","axesToHome","x","y","z","command","sendPrintHeadCommand","sendPrintHeadHomeCommand","axes","apiPrinterHead","sendCustomGCodeCommand","commandString","apiPrinterCustomCommand","getJob","apiJob","sendJobCommand","sendBedTempCommand","targetTemp","data","getBedTargetCommand","apiPrinterBed","getSettings","apiSettingsPart","updatePrinterNameSetting","printerName","settingPatch","printerNameSetting","getCurrentUser","apiCurrentUser","getAdminUserOrDefault","currentUserResponse","getUsers","apiUsers","getLocalFiles","recursive","startDir","url","apiGetFiles","response","items","files","children","length","flattenOctoPrintFiles","map","item","path","size","date","dir","type","getFile","urlPath","apiFile","file","downloadFile","downloadFileLocal","responseType","getFileChunk","filePath","startBytes","endBytes","pathUrl","o","withHeaders","Range","createFolder","foldername","formData","FormData","append","headers","getHeaders","getLengthSync","toString","apiFilesLocal","moveFileOrFolder","destination","moveFileCommand","postSelectPrintFile","print","selectCommand","uploadFileAsMultiPart","stream","fileName","contentLength","startPrint","progressToken","filename","knownLength","result","Promise","resolve","reject","getLength","err","Error","builder","withMultiPartFormData","withTimeout","getTimeoutSettings","apiUploadTimeout","withOnUploadProgress","p","emit","uploadProgressEvent","uploadDoneEvent","e","uploadFailedEvent","message","JSON","parse","body","ExternalServiceError","error","statusCode","success","stack","deleteFileOrFolder","delete","getPrinterCurrent","history","limit","exclude","apiPrinterCurrent","getConnection","getPrinterProfiles","apiPrinterProfiles","getSystemInfo","apiSystemInfo","getSystemCommands","apiSystemCommands","postServerRestartCommand","apiServerRestartCommand","buildFluentOptions","baseAddress","printerURL","createAnonymousClient","withXApiKeyHeader","apiKey","OctoprintHttpClientBuilder","createClientWithBaseUrl","b"],"mappings":"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"}
1
+ {"version":3,"file":"octoprint.client.js","names":[],"sources":["../../../src/services/octoprint/octoprint.client.ts"],"sourcesContent":["import FormData from \"form-data\";\nimport { uploadDoneEvent, uploadFailedEvent, uploadProgressEvent } from \"@/constants/event.constants\";\nimport { ExternalServiceError } from \"@/exceptions/runtime.exceptions\";\nimport { OctoprintRoutes } from \"./octoprint-api.routes\";\nimport { AxiosError, AxiosPromise } from \"axios\";\nimport EventEmitter2 from \"eventemitter2\";\nimport { LoggerService } from \"@/handlers/logger\";\nimport type { LoginDto } from \"@/services/interfaces/login.dto\";\nimport type { ILoggerFactory } from \"@/handlers/logger-factory\";\nimport { flattenOctoPrintFiles } from \"@/services/octoprint/utils/file.utils\";\nimport type { ConnectionDto } from \"@/services/octoprint/dto/connection/connection.dto\";\nimport type { OP_LoginDto } from \"@/services/octoprint/dto/auth/login.dto\";\nimport type { VersionDto } from \"@/services/octoprint/dto/server/version.dto\";\nimport type { ServerDto } from \"@/services/octoprint/dto/server/server.dto\";\nimport type { UserListDto } from \"@/services/octoprint/dto/access/user-list.dto\";\nimport type { OctoprintFilesResponseDto } from \"@/services/octoprint/dto/files/octoprint-files-response.dto\";\nimport type { CurrentUserDto } from \"@/services/octoprint/dto/auth/current-user.dto\";\nimport type { CurrentJobDto } from \"@/services/octoprint/dto/job/current-job.dto\";\nimport type { SettingsDto } from \"@/services/octoprint/dto/settings/settings.dto\";\nimport type { CurrentPrinterStateDto } from \"@/services/octoprint/dto/printer/current-printer-state.dto\";\nimport { HttpClientFactory } from \"@/services/core/http-client.factory\";\nimport { OctoprintHttpClientBuilder } from \"@/services/octoprint/utils/octoprint-http-client.builder\";\nimport type { OctoprintFileDto } from \"@/services/octoprint/dto/files/octoprint-file.dto\";\nimport { SettingsStore } from \"@/state/settings.store\";\nimport { Readable } from \"node:stream\";\nimport type { FileDto } from \"@/services/printer-api.interface\";\n\ntype TAxes = \"x\" | \"y\" | \"z\";\n\n/**\n * OctoPrint REST API\n * https://docs.octoprint.org/en/master/api/index.html\n */\nexport class OctoprintClient extends OctoprintRoutes {\n protected logger: LoggerService;\n\n constructor(\n loggerFactory: ILoggerFactory,\n private readonly httpClientFactory: HttpClientFactory,\n private readonly eventEmitter2: EventEmitter2,\n private readonly settingsStore: SettingsStore,\n ) {\n super();\n\n this.logger = loggerFactory(OctoprintClient.name);\n }\n\n async getApiVersion(login: LoginDto) {\n return await this.createClient(login).get<VersionDto>(this.apiVersion);\n }\n\n async getServer(login: LoginDto) {\n return await this.createClient(login).get<ServerDto>(this.apiServer);\n }\n\n async login(login: LoginDto) {\n return await this.createClient(login).post<OP_LoginDto>(this.apiLogin, {\n passive: true,\n });\n }\n\n async sendConnectionCommand(login: LoginDto, commandData: any) {\n await this.createClient(login).post(this.apiConnection, commandData);\n }\n\n async sendPrintHeadJogCommand(login: LoginDto, amounts: { x?: number; y?: number; z?: number; speed?: number }) {\n const axesToHome: Record<TAxes, number> = {\n x: amounts.x ?? 0,\n y: amounts.y ?? 0,\n z: amounts.z ?? 0,\n };\n const commandData = {\n command: \"jog\",\n ...axesToHome,\n };\n\n return this.sendPrintHeadCommand(login, commandData);\n }\n\n async sendPrintHeadHomeCommand(login: LoginDto, axes: { x?: boolean; y?: boolean; z?: boolean }) {\n const axesToHome: string[] = [...(axes.x ? [\"x\"] : []), ...(axes.y ? [\"y\"] : []), ...(axes.z ? [\"z\"] : [])];\n const commandData = {\n command: \"home\",\n axes: axesToHome,\n };\n return this.sendPrintHeadCommand(login, commandData);\n }\n\n /**\n * Ability to jog, home or set feed rate\n */\n async sendPrintHeadCommand(login: LoginDto, commandData: any) {\n await this.createClient(login).post(this.apiPrinterHead, commandData);\n }\n\n async sendCustomGCodeCommand(login: LoginDto, commandString: string) {\n await this.createClient(login).post(this.apiPrinterCustomCommand, {\n command: commandString,\n });\n }\n\n async getJob(login: LoginDto) {\n return await this.createClient(login).get<CurrentJobDto>(this.apiJob);\n }\n\n /**\n * Ability to start, cancel, restart, or pause a job\n */\n async sendJobCommand(login: LoginDto, commandData: any) {\n return await this.createClient(login).post(this.apiJob, commandData);\n }\n\n async sendBedTempCommand(login: LoginDto, targetTemp: number) {\n const data = this.getBedTargetCommand(targetTemp);\n return await this.createClient(login).post(this.apiPrinterBed, data);\n }\n\n async getSettings(login: LoginDto) {\n return await this.createClient(login).get<SettingsDto>(this.apiSettingsPart);\n }\n\n async updatePrinterNameSetting(login: LoginDto, printerName: string) {\n const settingPatch = this.printerNameSetting(printerName);\n return await this.createClient(login).post(this.apiSettingsPart, settingPatch);\n }\n\n async getCurrentUser(login: LoginDto) {\n return await this.createClient(login).get<CurrentUserDto>(this.apiCurrentUser);\n }\n\n async getAdminUserOrDefault(login: LoginDto) {\n const currentUserResponse = await this.getCurrentUser(login);\n return currentUserResponse?.data?.name;\n }\n\n async getUsers(login: LoginDto) {\n return await this.createClient(login).get<UserListDto>(this.apiUsers);\n }\n\n async getLocalFiles(login: LoginDto, recursive = false, startDir = \"\"): Promise<FileDto[]> {\n const url = this.apiGetFiles(recursive, startDir);\n const response = await this.createClient(login).get<OctoprintFilesResponseDto | OctoprintFileDto>(url);\n\n if (!response?.data) {\n return [];\n }\n\n const data = response.data as any;\n const items = data.files || (data.children ? data.children : []);\n\n if (!items.length) {\n return [];\n }\n\n if (recursive) {\n return flattenOctoPrintFiles(items, startDir);\n } else {\n return items.map((item: OctoprintFileDto) => ({\n path: item.path || item.name,\n size: item.size || 0,\n date: item.date || null,\n dir: item.type === \"folder\",\n }));\n }\n }\n\n async getFile(login: LoginDto, path: string) {\n const urlPath = this.apiFile(path);\n const response = await this.createClient(login).get<OctoprintFileDto>(urlPath);\n\n const file = response?.data;\n return {\n path: file.path,\n size: file.size,\n date: file.date,\n dir: file.type === \"folder\",\n };\n }\n\n async downloadFile(login: LoginDto, path: string): AxiosPromise<NodeJS.ReadableStream> {\n const urlPath = this.downloadFileLocal(path);\n\n return await this.createClient(login).get(urlPath, {\n responseType: \"stream\",\n });\n }\n\n async getFileChunk(login: LoginDto, filePath: string, startBytes: number, endBytes: number) {\n const pathUrl = this.downloadFileLocal(filePath);\n\n return await this.createClient(login, (o) =>\n o.withHeaders({\n Range: `bytes=${startBytes}-${endBytes}`,\n }),\n ).get<string>(pathUrl);\n }\n\n async createFolder(login: LoginDto, path: string, foldername: string) {\n const formData = new FormData();\n formData.append(\"path\", path);\n formData.append(\"foldername\", foldername);\n\n const headers = {\n ...formData.getHeaders(),\n \"Content-Length\": formData.getLengthSync().toString(),\n };\n\n return await this.createClient(login, (o) => o.withHeaders(headers)).post(this.apiFilesLocal, formData);\n }\n\n async moveFileOrFolder(login: LoginDto, path: string, destination: string) {\n const command = this.moveFileCommand(destination);\n return await this.createClient(login).post(this.apiFile(path), command);\n }\n\n async postSelectPrintFile(login: LoginDto, path: string, print: boolean) {\n const command = this.selectCommand(print);\n const url = this.apiFile(path);\n await this.createClient(login).post(url, command);\n }\n\n async uploadFileAsMultiPart(\n login: LoginDto,\n stream: Readable,\n fileName: string,\n contentLength: number,\n startPrint: boolean,\n progressToken?: string,\n ) {\n const urlPath = this.apiFilesLocal;\n\n const formData = new FormData();\n if (startPrint) {\n formData.append(\"print\", \"true\");\n }\n\n formData.append(\"file\", stream, {\n filename: fileName,\n knownLength: contentLength,\n });\n\n // Calculate the header that axios uses to determine progress\n const result: number = await new Promise<number>((resolve, reject) => {\n return formData.getLength((err, length) => {\n if (err) reject(new Error(\"Could not retrieve formData length\"));\n resolve(length);\n });\n });\n\n try {\n const response = await this.createClient(login, (builder) =>\n builder\n .withMultiPartFormData()\n .withTimeout(this.settingsStore.getTimeoutSettings().apiUploadTimeout)\n .withHeaders({\n ...formData.getHeaders(),\n \"Content-Length\": result.toString(),\n })\n .withOnUploadProgress((p) => {\n if (progressToken) {\n this.eventEmitter2.emit(`${uploadProgressEvent(progressToken)}`, progressToken, p);\n }\n }),\n ).post(urlPath, formData);\n\n if (progressToken) {\n this.eventEmitter2.emit(`${uploadDoneEvent(progressToken)}`, progressToken);\n }\n\n return response.data;\n } catch (e: any) {\n if (progressToken) {\n this.eventEmitter2.emit(`${uploadFailedEvent(progressToken)}`, progressToken, (e as AxiosError)?.message);\n }\n let data;\n try {\n data = JSON.parse(e.response?.body);\n } catch {\n data = e.response?.body;\n }\n throw new ExternalServiceError(\n {\n error: e.message,\n statusCode: e.response?.statusCode,\n data,\n success: false,\n stack: e.stack,\n },\n \"OctoPrint\",\n );\n }\n }\n\n async deleteFileOrFolder(login: LoginDto, path: string) {\n await this.createClient(login).delete(this.apiFile(path));\n }\n\n async getPrinterCurrent(\n login: LoginDto,\n history: boolean,\n limit?: number,\n exclude?: (\"temperature\" | \"sd\" | \"state\")[],\n ) {\n const pathUrl = this.apiPrinterCurrent(history, limit, exclude);\n return await this.createClient(login).get<CurrentPrinterStateDto>(pathUrl);\n }\n\n async getConnection(login: LoginDto) {\n return await this.createClient(login).get<ConnectionDto>(this.apiConnection);\n }\n\n async getPrinterProfiles(login: LoginDto) {\n return await this.createClient(login).get(this.apiPrinterProfiles);\n }\n\n async getSystemInfo(login: LoginDto) {\n return await this.createClient(login).get(this.apiSystemInfo);\n }\n\n async getSystemCommands(login: LoginDto) {\n return await this.createClient(login).get(this.apiSystemCommands);\n }\n\n async postServerRestartCommand(login: LoginDto) {\n await this.createClient(login).post(this.apiServerRestartCommand);\n }\n\n private createClient(login: LoginDto, buildFluentOptions?: (base: OctoprintHttpClientBuilder) => void) {\n const baseAddress = login.printerURL;\n\n return this.createAnonymousClient(baseAddress, (o) => {\n if (buildFluentOptions) {\n buildFluentOptions(o);\n }\n\n o.withXApiKeyHeader(login.apiKey);\n });\n }\n\n private createAnonymousClient(baseAddress: string, buildFluentOptions?: (base: OctoprintHttpClientBuilder) => void) {\n const builder = new OctoprintHttpClientBuilder();\n\n return this.httpClientFactory.createClientWithBaseUrl(builder, baseAddress, (b) => {\n if (buildFluentOptions) {\n buildFluentOptions(b);\n }\n });\n }\n}\n"],"mappings":"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"}
@@ -1,37 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: Object.getOwnPropertyDescriptor(all, name).get
9
- });
10
- }
11
- _export(exports, {
12
- get constructHeaders () {
13
- return constructHeaders;
14
- },
15
- get validateLogin () {
16
- return validateLogin;
17
- }
18
- });
19
- const _octoprintserviceconstants = require("../constants/octoprint-service.constants");
20
- const _runtimeexceptions = require("../../../exceptions/runtime.exceptions");
1
+ import { ValidationException } from "../../../exceptions/runtime.exceptions.js";
2
+ import { apiKeyHeaderKey, contentTypeHeaderKey, jsonContentType } from "../constants/octoprint-service.constants.js";
3
+ //#region src/services/octoprint/utils/api.utils.ts
21
4
  function validateLogin(login) {
22
- if (!login.apiKey || !login.printerURL) {
23
- throw new _runtimeexceptions.ValidationException("printer apiKey or printerURL undefined");
24
- }
25
- return {
26
- apiKey: login.apiKey,
27
- printerURL: login.printerURL
28
- };
5
+ if (!login.apiKey || !login.printerURL) throw new ValidationException("printer apiKey or printerURL undefined");
6
+ return {
7
+ apiKey: login.apiKey,
8
+ printerURL: login.printerURL
9
+ };
29
10
  }
30
- function constructHeaders(apiKey, contentType = _octoprintserviceconstants.jsonContentType) {
31
- return {
32
- [_octoprintserviceconstants.contentTypeHeaderKey]: contentType,
33
- [_octoprintserviceconstants.apiKeyHeaderKey]: apiKey
34
- };
11
+ function constructHeaders(apiKey, contentType = jsonContentType) {
12
+ return {
13
+ [contentTypeHeaderKey]: contentType,
14
+ [apiKeyHeaderKey]: apiKey
15
+ };
35
16
  }
17
+ //#endregion
18
+ export { constructHeaders, validateLogin };
36
19
 
37
20
  //# sourceMappingURL=api.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/services/octoprint/utils/api.utils.ts"],"names":["constructHeaders","validateLogin","login","apiKey","printerURL","ValidationException","contentType","jsonContentType","contentTypeHeaderKey","apiKeyHeaderKey"],"mappings":";;;;;;;;;;;QAmBgBA;eAAAA;;QAXAC;eAAAA;;;2CAJT;mCAC6B;AAG7B,SAASA,cAAcC,KAAe;IAC3C,IAAI,CAACA,MAAMC,MAAM,IAAI,CAACD,MAAME,UAAU,EAAE;QACtC,MAAM,IAAIC,sCAAmB,CAAC;IAChC;IAEA,OAAO;QACLF,QAAQD,MAAMC,MAAM;QACpBC,YAAYF,MAAME,UAAU;IAC9B;AACF;AAEO,SAASJ,iBAAiBG,MAAc,EAAEG,cAAcC,0CAAe;IAC5E,OAAO;QACL,CAACC,+CAAoB,CAAC,EAAEF;QACxB,CAACG,0CAAe,CAAC,EAAEN;IACrB;AACF"}
1
+ {"version":3,"file":"api.utils.js","names":[],"sources":["../../../../src/services/octoprint/utils/api.utils.ts"],"sourcesContent":["import {\n apiKeyHeaderKey,\n contentTypeHeaderKey,\n jsonContentType,\n} from \"@/services/octoprint/constants/octoprint-service.constants\";\nimport { ValidationException } from \"@/exceptions/runtime.exceptions\";\nimport type { LoginDto } from \"@/services/interfaces/login.dto\";\n\nexport function validateLogin(login: LoginDto) {\n if (!login.apiKey || !login.printerURL) {\n throw new ValidationException(\"printer apiKey or printerURL undefined\");\n }\n\n return {\n apiKey: login.apiKey,\n printerURL: login.printerURL,\n };\n}\n\nexport function constructHeaders(apiKey: string, contentType = jsonContentType) {\n return {\n [contentTypeHeaderKey]: contentType, // Can be overwritten without problem\n [apiKeyHeaderKey]: apiKey,\n };\n}\n"],"mappings":";;;AAQA,SAAgB,cAAc,OAAiB;AAC7C,KAAI,CAAC,MAAM,UAAU,CAAC,MAAM,WAC1B,OAAM,IAAI,oBAAoB,yCAAyC;AAGzE,QAAO;EACL,QAAQ,MAAM;EACd,YAAY,MAAM;EACnB;;AAGH,SAAgB,iBAAiB,QAAgB,cAAc,iBAAiB;AAC9E,QAAO;GACJ,uBAAuB;GACvB,kBAAkB;EACpB"}
@@ -1,72 +1,49 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: Object.getOwnPropertyDescriptor(all, name).get
9
- });
10
- }
11
- _export(exports, {
12
- get flattenOctoPrintFiles () {
13
- return flattenOctoPrintFiles;
14
- },
15
- get normalizePrinterFile () {
16
- return normalizePrinterFile;
17
- }
18
- });
1
+ //#region src/services/octoprint/utils/file.utils.ts
19
2
  function normalizePrinterFile(file) {
20
- if (!file) {
21
- throw new Error("File should not be null for normalization");
22
- }
23
- const keys = Object.keys(file);
24
- const fileCopy = {
25
- ...file
26
- };
27
- const knownKeys = [
28
- "path",
29
- "date",
30
- "hash",
31
- "size"
32
- ];
33
- const unknownKeys = keys.filter((k)=>!knownKeys.includes(k));
34
- const customData = {};
35
- for (const unknownKey of unknownKeys){
36
- customData[unknownKey] = fileCopy[unknownKey];
37
- delete fileCopy[unknownKey];
38
- }
39
- return {
40
- path: fileCopy.path,
41
- size: fileCopy.size,
42
- date: fileCopy.date,
43
- dir: fileCopy.type === 'folder'
44
- };
3
+ if (!file) throw new Error("File should not be null for normalization");
4
+ const keys = Object.keys(file);
5
+ const fileCopy = { ...file };
6
+ const knownKeys = [
7
+ "path",
8
+ "date",
9
+ "hash",
10
+ "size"
11
+ ];
12
+ const unknownKeys = keys.filter((k) => !knownKeys.includes(k));
13
+ const customData = {};
14
+ for (const unknownKey of unknownKeys) {
15
+ customData[unknownKey] = fileCopy[unknownKey];
16
+ delete fileCopy[unknownKey];
17
+ }
18
+ return {
19
+ path: fileCopy.path,
20
+ size: fileCopy.size,
21
+ date: fileCopy.date,
22
+ dir: fileCopy.type === "folder"
23
+ };
45
24
  }
46
- function flattenOctoPrintFiles(items, parentPath = '') {
47
- const files = [];
48
- for (const item of items){
49
- const fullPath = parentPath ? `${parentPath}/${item.name}` : item.name;
50
- if (item.type === 'folder') {
51
- files.push({
52
- path: fullPath,
53
- size: 0,
54
- date: item.date || null,
55
- dir: true
56
- });
57
- if (item.children) {
58
- files.push(...flattenOctoPrintFiles(item.children, fullPath));
59
- }
60
- } else if (item.type === 'machinecode') {
61
- files.push({
62
- path: fullPath,
63
- size: item.size,
64
- date: item.date,
65
- dir: false
66
- });
67
- }
68
- }
69
- return files;
25
+ function flattenOctoPrintFiles(items, parentPath = "") {
26
+ const files = [];
27
+ for (const item of items) {
28
+ const fullPath = parentPath ? `${parentPath}/${item.name}` : item.name;
29
+ if (item.type === "folder") {
30
+ files.push({
31
+ path: fullPath,
32
+ size: 0,
33
+ date: item.date || null,
34
+ dir: true
35
+ });
36
+ if (item.children) files.push(...flattenOctoPrintFiles(item.children, fullPath));
37
+ } else if (item.type === "machinecode") files.push({
38
+ path: fullPath,
39
+ size: item.size,
40
+ date: item.date,
41
+ dir: false
42
+ });
43
+ }
44
+ return files;
70
45
  }
46
+ //#endregion
47
+ export { flattenOctoPrintFiles, normalizePrinterFile };
71
48
 
72
49
  //# sourceMappingURL=file.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/services/octoprint/utils/file.utils.ts"],"names":["flattenOctoPrintFiles","normalizePrinterFile","file","Error","keys","Object","fileCopy","knownKeys","unknownKeys","filter","k","includes","customData","unknownKey","path","size","date","dir","type","items","parentPath","files","item","fullPath","name","push","children"],"mappings":";;;;;;;;;;;QA6CgBA;eAAAA;;QA1CAC;eAAAA;;;AAAT,SAASA,qBAAqBC,IAAsB;IACzD,IAAI,CAACA,MAAM;QACT,MAAM,IAAIC,MAAM;IAClB;IAEA,MAAMC,OAAOC,OAAOD,IAAI,CAACF;IACzB,MAAMI,WAAW;QACf,GAAGJ,IAAI;IACT;IAEA,MAAMK,YAAY;QAChB;QACA;QACA;QAOA;KAID;IAED,MAAMC,cAAcJ,KAAKK,MAAM,CAAC,CAACC,IAAM,CAACH,UAAUI,QAAQ,CAACD;IAE3D,MAAME,aAAiC,CAAC;IACxC,KAAK,MAAMC,cAAcL,YAAa;QACpCI,UAAU,CAACC,WAAW,GAAGP,QAAQ,CAACO,WAAW;QAC7C,OAAOP,QAAQ,CAACO,WAAW;IAC7B;IAEA,OAAO;QACLC,MAAMR,SAASQ,IAAI;QACnBC,MAAMT,SAASS,IAAI;QACnBC,MAAMV,SAASU,IAAI;QACnBC,KAAKX,SAASY,IAAI,KAAK;IACzB;AACF;AAEO,SAASlB,sBAAsBmB,KAAyB,EAAEC,aAAqB,EAAE;IACtF,MAAMC,QAAmB,EAAE;IAE3B,KAAK,MAAMC,QAAQH,MAAO;QACxB,MAAMI,WAAWH,aAAa,GAAGA,WAAW,CAAC,EAAEE,KAAKE,IAAI,EAAE,GAAGF,KAAKE,IAAI;QAEtE,IAAIF,KAAKJ,IAAI,KAAK,UAAU;YAC1BG,MAAMI,IAAI,CAAC;gBACTX,MAAMS;gBACNR,MAAM;gBACNC,MAAMM,KAAKN,IAAI,IAAI;gBACnBC,KAAK;YACP;YAEA,IAAIK,KAAKI,QAAQ,EAAE;gBACjBL,MAAMI,IAAI,IAAIzB,sBAAsBsB,KAAKI,QAAQ,EAAEH;YACrD;QACF,OAAO,IAAID,KAAKJ,IAAI,KAAK,eAAe;YACtCG,MAAMI,IAAI,CAAC;gBACTX,MAAMS;gBACNR,MAAMO,KAAKP,IAAI;gBACfC,MAAMM,KAAKN,IAAI;gBACfC,KAAK;YACP;QACF;IACF;IAEA,OAAOI;AACT"}
1
+ {"version":3,"file":"file.utils.js","names":[],"sources":["../../../../src/services/octoprint/utils/file.utils.ts"],"sourcesContent":["import type { OctoPrintCustomDto, OctoprintFileDto } from \"@/services/octoprint/dto/files/octoprint-file.dto\";\nimport type { FileDto } from \"@/services/printer-api.interface\";\n\nexport function normalizePrinterFile(file: OctoprintFileDto): FileDto {\n if (!file) {\n throw new Error(\"File should not be null for normalization\");\n }\n\n const keys = Object.keys(file);\n const fileCopy = {\n ...file,\n };\n\n const knownKeys = [\n \"path\",\n \"date\",\n \"hash\",\n // \"display\",\n // \"gcodeAnalysis\",\n // \"origin\",\n // \"name\",\n // \"prints\",\n // \"refs\",\n \"size\",\n // \"statistics\",\n // \"type\",\n // \"typePath\",\n ];\n\n const unknownKeys = keys.filter((k) => !knownKeys.includes(k));\n\n const customData: OctoPrintCustomDto = {};\n for (const unknownKey of unknownKeys) {\n customData[unknownKey] = fileCopy[unknownKey];\n delete fileCopy[unknownKey];\n }\n\n return {\n path: fileCopy.path,\n size: fileCopy.size,\n date: fileCopy.date,\n dir: fileCopy.type === \"folder\",\n };\n}\n\nexport function flattenOctoPrintFiles(items: OctoprintFileDto[], parentPath: string = \"\"): FileDto[] {\n const files: FileDto[] = [];\n\n for (const item of items) {\n const fullPath = parentPath ? `${parentPath}/${item.name}` : item.name;\n\n if (item.type === \"folder\") {\n files.push({\n path: fullPath,\n size: 0,\n date: item.date || null,\n dir: true,\n });\n\n if (item.children) {\n files.push(...flattenOctoPrintFiles(item.children, fullPath));\n }\n } else if (item.type === \"machinecode\") {\n files.push({\n path: fullPath,\n size: item.size,\n date: item.date,\n dir: false,\n });\n }\n }\n\n return files;\n}\n"],"mappings":";AAGA,SAAgB,qBAAqB,MAAiC;AACpE,KAAI,CAAC,KACH,OAAM,IAAI,MAAM,4CAA4C;CAG9D,MAAM,OAAO,OAAO,KAAK,KAAK;CAC9B,MAAM,WAAW,EACf,GAAG,MACJ;CAED,MAAM,YAAY;EAChB;EACA;EACA;EAOA;EAID;CAED,MAAM,cAAc,KAAK,QAAQ,MAAM,CAAC,UAAU,SAAS,EAAE,CAAC;CAE9D,MAAM,aAAiC,EAAE;AACzC,MAAK,MAAM,cAAc,aAAa;AACpC,aAAW,cAAc,SAAS;AAClC,SAAO,SAAS;;AAGlB,QAAO;EACL,MAAM,SAAS;EACf,MAAM,SAAS;EACf,MAAM,SAAS;EACf,KAAK,SAAS,SAAS;EACxB;;AAGH,SAAgB,sBAAsB,OAA2B,aAAqB,IAAe;CACnG,MAAM,QAAmB,EAAE;AAE3B,MAAK,MAAM,QAAQ,OAAO;EACxB,MAAM,WAAW,aAAa,GAAG,WAAW,GAAG,KAAK,SAAS,KAAK;AAElE,MAAI,KAAK,SAAS,UAAU;AAC1B,SAAM,KAAK;IACT,MAAM;IACN,MAAM;IACN,MAAM,KAAK,QAAQ;IACnB,KAAK;IACN,CAAC;AAEF,OAAI,KAAK,SACP,OAAM,KAAK,GAAG,sBAAsB,KAAK,UAAU,SAAS,CAAC;aAEtD,KAAK,SAAS,cACvB,OAAM,KAAK;GACT,MAAM;GACN,MAAM,KAAK;GACX,MAAM,KAAK;GACX,KAAK;GACN,CAAC;;AAIN,QAAO"}
@@ -1,31 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "OctoprintHttpClientBuilder", {
6
- enumerable: true,
7
- get: function() {
8
- return OctoprintHttpClientBuilder;
9
- }
10
- });
11
- const _defaulthttpclientbuilder = require("../../../shared/default-http-client.builder");
12
- const _octoprintserviceconstants = require("../constants/octoprint-service.constants");
13
- class OctoprintHttpClientBuilder extends _defaulthttpclientbuilder.DefaultHttpClientBuilder {
14
- build() {
15
- if (!this.axiosOptions.baseURL) {
16
- throw new Error("Base URL is required");
17
- }
18
- return super.build();
19
- }
20
- withXApiKeyHeader(apiKey) {
21
- if (!apiKey?.length) {
22
- throw new Error("XApiKey header may not be an empty string");
23
- }
24
- this.withHeaders({
25
- [_octoprintserviceconstants.apiKeyHeaderKey]: apiKey
26
- });
27
- return this;
28
- }
29
- }
1
+ import { apiKeyHeaderKey } from "../constants/octoprint-service.constants.js";
2
+ import { DefaultHttpClientBuilder } from "../../../shared/default-http-client.builder.js";
3
+ //#region src/services/octoprint/utils/octoprint-http-client.builder.ts
4
+ var OctoprintHttpClientBuilder = class extends DefaultHttpClientBuilder {
5
+ build() {
6
+ if (!this.axiosOptions.baseURL) throw new Error("Base URL is required");
7
+ return super.build();
8
+ }
9
+ withXApiKeyHeader(apiKey) {
10
+ if (!apiKey?.length) throw new Error("XApiKey header may not be an empty string");
11
+ this.withHeaders({ [apiKeyHeaderKey]: apiKey });
12
+ return this;
13
+ }
14
+ };
15
+ //#endregion
16
+ export { OctoprintHttpClientBuilder };
30
17
 
31
18
  //# sourceMappingURL=octoprint-http-client.builder.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/services/octoprint/utils/octoprint-http-client.builder.ts"],"names":["OctoprintHttpClientBuilder","DefaultHttpClientBuilder","build","axiosOptions","baseURL","Error","withXApiKeyHeader","apiKey","length","withHeaders","apiKeyHeaderKey"],"mappings":";;;;+BAIaA;;;eAAAA;;;0CAJ4B;2CACT;AAGzB,MAAMA,mCAAmCC,kDAAwB;IACtDC,QAAgC;QAC9C,IAAI,CAAC,IAAI,CAACC,YAAY,CAACC,OAAO,EAAE;YAC9B,MAAM,IAAIC,MAAM;QAClB;QAEA,OAAO,KAAK,CAACH;IACf;IAEOI,kBAAkBC,MAAe,EAAQ;QAC9C,IAAI,CAACA,QAAQC,QAAQ;YACnB,MAAM,IAAIH,MAAM;QAClB;QAEA,IAAI,CAACI,WAAW,CAAC;YAAE,CAACC,0CAAe,CAAC,EAAEH;QAAO;QAE7C,OAAO,IAAI;IACb;AACF"}
1
+ {"version":3,"file":"octoprint-http-client.builder.js","names":[],"sources":["../../../../src/services/octoprint/utils/octoprint-http-client.builder.ts"],"sourcesContent":["import { DefaultHttpClientBuilder } from \"@/shared/default-http-client.builder\";\nimport { apiKeyHeaderKey } from \"@/services/octoprint/constants/octoprint-service.constants\";\nimport { AxiosInstance } from \"axios\";\n\nexport class OctoprintHttpClientBuilder extends DefaultHttpClientBuilder {\n public override build<D = any>(): AxiosInstance {\n if (!this.axiosOptions.baseURL) {\n throw new Error(\"Base URL is required\");\n }\n\n return super.build<D>();\n }\n\n public withXApiKeyHeader(apiKey?: string): this {\n if (!apiKey?.length) {\n throw new Error(\"XApiKey header may not be an empty string\");\n }\n\n this.withHeaders({ [apiKeyHeaderKey]: apiKey });\n\n return this;\n }\n}\n"],"mappings":";;;AAIA,IAAa,6BAAb,cAAgD,yBAAyB;CACvE,QAAgD;AAC9C,MAAI,CAAC,KAAK,aAAa,QACrB,OAAM,IAAI,MAAM,uBAAuB;AAGzC,SAAO,MAAM,OAAU;;CAGzB,kBAAyB,QAAuB;AAC9C,MAAI,CAAC,QAAQ,OACX,OAAM,IAAI,MAAM,4CAA4C;AAG9D,OAAK,YAAY,GAAG,kBAAkB,QAAQ,CAAC;AAE/C,SAAO"}
@@ -1,130 +1,115 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "OctoprintApi", {
6
- enumerable: true,
7
- get: function() {
8
- return OctoprintApi;
9
- }
10
- });
11
- const _printerapiinterface = require("./printer-api.interface");
12
- const _runtimeexceptions = require("../exceptions/runtime.exceptions");
13
- class OctoprintApi {
14
- printerLogin;
15
- client;
16
- constructor(octoprintClient, printerLogin){
17
- this.printerLogin = printerLogin;
18
- this.client = octoprintClient;
19
- }
20
- get type() {
21
- return _printerapiinterface.OctoprintType;
22
- }
23
- get login() {
24
- return this.printerLogin;
25
- }
26
- set login(login) {
27
- this.printerLogin = login;
28
- }
29
- async getVersion() {
30
- const result = await this.client.getApiVersion(this.login);
31
- return result.data?.server;
32
- }
33
- async validateConnection() {
34
- await this.getVersion();
35
- }
36
- async connect() {
37
- await this.client.sendConnectionCommand(this.login, this.client.connectCommand);
38
- }
39
- async disconnect() {
40
- await this.client.sendConnectionCommand(this.login, this.client.disconnectCommand);
41
- }
42
- async restartServer() {
43
- await this.client.postServerRestartCommand(this.login);
44
- }
45
- async restartHost() {
46
- throw new _runtimeexceptions.NotImplementedException();
47
- }
48
- async restartPrinterFirmware() {
49
- throw new _runtimeexceptions.NotImplementedException();
50
- }
51
- async startPrint(filePath) {
52
- await this.client.postSelectPrintFile(this.login, filePath, true);
53
- }
54
- async pausePrint() {
55
- await this.client.sendJobCommand(this.login, this.client.pauseJobCommand);
56
- }
57
- async resumePrint() {
58
- await this.client.sendJobCommand(this.login, this.client.resumeJobCommand);
59
- }
60
- async cancelPrint() {
61
- await this.client.sendJobCommand(this.login, this.client.cancelJobCommand);
62
- }
63
- async sendGcode(script) {
64
- await this.client.sendCustomGCodeCommand(this.login, script);
65
- }
66
- async quickStop() {
67
- await this.client.sendCustomGCodeCommand(this.login, "M112");
68
- }
69
- async movePrintHead(amounts) {
70
- await this.client.sendPrintHeadJogCommand(this.login, amounts);
71
- }
72
- async homeAxes(axes) {
73
- await this.client.sendPrintHeadHomeCommand(this.login, axes);
74
- }
75
- async getFile(path) {
76
- return this.client.getFile(this.login, path);
77
- }
78
- async getFiles(recursive = false, startDir = "") {
79
- const items = await this.client.getLocalFiles(this.login, recursive, startDir);
80
- return {
81
- dirs: items.filter((f)=>f.dir),
82
- files: items.filter((f)=>!f.dir)
83
- };
84
- }
85
- async downloadFile(path) {
86
- return await this.client.downloadFile(this.login, path);
87
- }
88
- async getFileChunk(path, startBytes, endBytes) {
89
- return await this.client.getFileChunk(this.login, path, startBytes, endBytes);
90
- }
91
- async uploadFile(input) {
92
- const validated = _printerapiinterface.uploadFileInputSchema.parse(input);
93
- await this.client.uploadFileAsMultiPart(this.login, validated.stream, validated.fileName, validated.contentLength, validated.startPrint, validated.uploadToken);
94
- }
95
- async deleteFile(path) {
96
- await this.client.deleteFileOrFolder(this.login, path);
97
- }
98
- async deleteFolder(path) {
99
- await this.client.deleteFileOrFolder(this.login, path);
100
- }
101
- async getSettings() {
102
- const response = await this.client.getSettings(this.login);
103
- return response.data;
104
- }
105
- async getReprintState() {
106
- const connectedResponse = await this.client.getConnection(this.login);
107
- const connectionState = connectedResponse.data.current?.state;
108
- const selectedJobResponse = await this.client.getJob(this.login);
109
- const selectedJob = selectedJobResponse.data;
110
- const currentJobFile = selectedJob?.job?.file;
111
- if (!currentJobFile?.path) {
112
- return {
113
- connectionState,
114
- reprintState: _printerapiinterface.ReprintState.NoLastPrint
115
- };
116
- }
117
- return {
118
- connectionState,
119
- file: {
120
- path: currentJobFile.path,
121
- size: currentJobFile.size,
122
- date: currentJobFile.date,
123
- dir: false
124
- },
125
- reprintState: _printerapiinterface.ReprintState.LastPrintReady
126
- };
127
- }
128
- }
1
+ import { uploadFileInputSchema } from "./printer-api.interface.js";
2
+ import { NotImplementedException } from "../exceptions/runtime.exceptions.js";
3
+ //#region src/services/octoprint.api.ts
4
+ var OctoprintApi = class {
5
+ client;
6
+ constructor(octoprintClient, printerLogin) {
7
+ this.printerLogin = printerLogin;
8
+ this.client = octoprintClient;
9
+ }
10
+ get type() {
11
+ return 0;
12
+ }
13
+ get login() {
14
+ return this.printerLogin;
15
+ }
16
+ set login(login) {
17
+ this.printerLogin = login;
18
+ }
19
+ async getVersion() {
20
+ return (await this.client.getApiVersion(this.login)).data?.server;
21
+ }
22
+ async validateConnection() {
23
+ await this.getVersion();
24
+ }
25
+ async connect() {
26
+ await this.client.sendConnectionCommand(this.login, this.client.connectCommand);
27
+ }
28
+ async disconnect() {
29
+ await this.client.sendConnectionCommand(this.login, this.client.disconnectCommand);
30
+ }
31
+ async restartServer() {
32
+ await this.client.postServerRestartCommand(this.login);
33
+ }
34
+ async restartHost() {
35
+ throw new NotImplementedException();
36
+ }
37
+ async restartPrinterFirmware() {
38
+ throw new NotImplementedException();
39
+ }
40
+ async startPrint(filePath) {
41
+ await this.client.postSelectPrintFile(this.login, filePath, true);
42
+ }
43
+ async pausePrint() {
44
+ await this.client.sendJobCommand(this.login, this.client.pauseJobCommand);
45
+ }
46
+ async resumePrint() {
47
+ await this.client.sendJobCommand(this.login, this.client.resumeJobCommand);
48
+ }
49
+ async cancelPrint() {
50
+ await this.client.sendJobCommand(this.login, this.client.cancelJobCommand);
51
+ }
52
+ async sendGcode(script) {
53
+ await this.client.sendCustomGCodeCommand(this.login, script);
54
+ }
55
+ async quickStop() {
56
+ await this.client.sendCustomGCodeCommand(this.login, "M112");
57
+ }
58
+ async movePrintHead(amounts) {
59
+ await this.client.sendPrintHeadJogCommand(this.login, amounts);
60
+ }
61
+ async homeAxes(axes) {
62
+ await this.client.sendPrintHeadHomeCommand(this.login, axes);
63
+ }
64
+ async getFile(path) {
65
+ return this.client.getFile(this.login, path);
66
+ }
67
+ async getFiles(recursive = false, startDir = "") {
68
+ const items = await this.client.getLocalFiles(this.login, recursive, startDir);
69
+ return {
70
+ dirs: items.filter((f) => f.dir),
71
+ files: items.filter((f) => !f.dir)
72
+ };
73
+ }
74
+ async downloadFile(path) {
75
+ return await this.client.downloadFile(this.login, path);
76
+ }
77
+ async getFileChunk(path, startBytes, endBytes) {
78
+ return await this.client.getFileChunk(this.login, path, startBytes, endBytes);
79
+ }
80
+ async uploadFile(input) {
81
+ const validated = uploadFileInputSchema.parse(input);
82
+ await this.client.uploadFileAsMultiPart(this.login, validated.stream, validated.fileName, validated.contentLength, validated.startPrint, validated.uploadToken);
83
+ }
84
+ async deleteFile(path) {
85
+ await this.client.deleteFileOrFolder(this.login, path);
86
+ }
87
+ async deleteFolder(path) {
88
+ await this.client.deleteFileOrFolder(this.login, path);
89
+ }
90
+ async getSettings() {
91
+ return (await this.client.getSettings(this.login)).data;
92
+ }
93
+ async getReprintState() {
94
+ const connectionState = (await this.client.getConnection(this.login)).data.current?.state;
95
+ const currentJobFile = (await this.client.getJob(this.login)).data?.job?.file;
96
+ if (!currentJobFile?.path) return {
97
+ connectionState,
98
+ reprintState: 1
99
+ };
100
+ return {
101
+ connectionState,
102
+ file: {
103
+ path: currentJobFile.path,
104
+ size: currentJobFile.size,
105
+ date: currentJobFile.date,
106
+ dir: false
107
+ },
108
+ reprintState: 2
109
+ };
110
+ }
111
+ };
112
+ //#endregion
113
+ export { OctoprintApi };
129
114
 
130
115
  //# sourceMappingURL=octoprint.api.js.map