@fdm-monster/server 2.0.10 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (944) hide show
  1. package/.claude/CLAUDE.md +76 -0
  2. package/.vite-hooks/pre-commit +1 -0
  3. package/.yarn/install-state.gz +0 -0
  4. package/.yarn/releases/yarn-4.13.0.cjs +940 -0
  5. package/.yarnrc.yml +1 -1
  6. package/README.md +3 -2
  7. package/RELEASE_NOTES.MD +152 -1
  8. package/dist/_virtual/_@oxc-project_runtime@0.127.0/helpers/decorate.js +9 -0
  9. package/dist/_virtual/_@oxc-project_runtime@0.127.0/helpers/decorateMetadata.js +6 -0
  10. package/dist/_virtual/_rolldown/runtime.js +13 -0
  11. package/dist/_virtual/_virtual_controllers.js +45 -0
  12. package/dist/consoles/typeorm-create.js +51 -112
  13. package/dist/consoles/typeorm-create.js.map +1 -1
  14. package/dist/consoles/typeorm-generate.js +99 -165
  15. package/dist/consoles/typeorm-generate.js.map +1 -1
  16. package/dist/consoles/typeorm-migrate.js +35 -43
  17. package/dist/consoles/typeorm-migrate.js.map +1 -1
  18. package/dist/constants/authorization.constants.js +75 -97
  19. package/dist/constants/authorization.constants.js.map +1 -1
  20. package/dist/constants/event.constants.js +11 -41
  21. package/dist/constants/event.constants.js.map +1 -1
  22. package/dist/constants/http-status-codes.constants.js +319 -71
  23. package/dist/constants/http-status-codes.constants.js.map +1 -1
  24. package/dist/constants/server-settings.constants.js +45 -87
  25. package/dist/constants/server-settings.constants.js.map +1 -1
  26. package/dist/constants/service.constants.js +3 -21
  27. package/dist/constants/service.constants.js.map +1 -1
  28. package/dist/container.js +169 -181
  29. package/dist/container.js.map +1 -1
  30. package/dist/container.tokens.js +79 -85
  31. package/dist/container.tokens.js.map +1 -1
  32. package/dist/controllers/api-key.controller.js +72 -0
  33. package/dist/controllers/api-key.controller.js.map +1 -0
  34. package/dist/controllers/auth.controller.js +156 -225
  35. package/dist/controllers/auth.controller.js.map +1 -1
  36. package/dist/controllers/batch-call.controller.js +79 -116
  37. package/dist/controllers/batch-call.controller.js.map +1 -1
  38. package/dist/controllers/camera-stream.controller.js +74 -119
  39. package/dist/controllers/camera-stream.controller.js.map +1 -1
  40. package/dist/controllers/dto/update-client-dist.dto.js +8 -15
  41. package/dist/controllers/dto/update-client-dist.dto.js.map +1 -1
  42. package/dist/controllers/file-storage.controller.js +251 -312
  43. package/dist/controllers/file-storage.controller.js.map +1 -1
  44. package/dist/controllers/first-time-setup.controller.js +83 -135
  45. package/dist/controllers/first-time-setup.controller.js.map +1 -1
  46. package/dist/controllers/floor.controller.js +111 -175
  47. package/dist/controllers/floor.controller.js.map +1 -1
  48. package/dist/controllers/metrics.controller.js +27 -53
  49. package/dist/controllers/metrics.controller.js.map +1 -1
  50. package/dist/controllers/print-job.controller.js +366 -451
  51. package/dist/controllers/print-job.controller.js.map +1 -1
  52. package/dist/controllers/print-queue.controller.js +329 -427
  53. package/dist/controllers/print-queue.controller.js.map +1 -1
  54. package/dist/controllers/printer-files.controller.js +244 -305
  55. package/dist/controllers/printer-files.controller.js.map +1 -1
  56. package/dist/controllers/printer-maintenance-log.controller.js +109 -165
  57. package/dist/controllers/printer-maintenance-log.controller.js.map +1 -1
  58. package/dist/controllers/printer-settings.controller.js +50 -81
  59. package/dist/controllers/printer-settings.controller.js.map +1 -1
  60. package/dist/controllers/printer-tag.controller.js +104 -166
  61. package/dist/controllers/printer-tag.controller.js.map +1 -1
  62. package/dist/controllers/printer.controller.js +352 -469
  63. package/dist/controllers/printer.controller.js.map +1 -1
  64. package/dist/controllers/server-private.controller.js +182 -239
  65. package/dist/controllers/server-private.controller.js.map +1 -1
  66. package/dist/controllers/server-public.controller.js +104 -158
  67. package/dist/controllers/server-public.controller.js.map +1 -1
  68. package/dist/controllers/settings.controller.js +229 -364
  69. package/dist/controllers/settings.controller.js.map +1 -1
  70. package/dist/controllers/slicer-compat.controller.js +179 -206
  71. package/dist/controllers/slicer-compat.controller.js.map +1 -1
  72. package/dist/controllers/user.controller.js +226 -348
  73. package/dist/controllers/user.controller.js.map +1 -1
  74. package/dist/controllers/validation/api-key-controller.validation.js +11 -0
  75. package/dist/controllers/validation/api-key-controller.validation.js.map +1 -0
  76. package/dist/controllers/validation/auth-controller.validation.js +5 -14
  77. package/dist/controllers/validation/auth-controller.validation.js.map +1 -1
  78. package/dist/controllers/validation/batch-controller.validation.js +13 -35
  79. package/dist/controllers/validation/batch-controller.validation.js.map +1 -1
  80. package/dist/controllers/validation/generic.validation.js +6 -23
  81. package/dist/controllers/validation/generic.validation.js.map +1 -1
  82. package/dist/controllers/validation/printer-completion-controller.validation.js +5 -14
  83. package/dist/controllers/validation/printer-completion-controller.validation.js.map +1 -1
  84. package/dist/controllers/validation/printer-controller.validation.js +16 -48
  85. package/dist/controllers/validation/printer-controller.validation.js.map +1 -1
  86. package/dist/controllers/validation/printer-files-controller.validation.js +12 -47
  87. package/dist/controllers/validation/printer-files-controller.validation.js.map +1 -1
  88. package/dist/controllers/validation/printer-settings-controller.validation.js +5 -14
  89. package/dist/controllers/validation/printer-settings-controller.validation.js.map +1 -1
  90. package/dist/controllers/validation/server-private.validation.js +7 -14
  91. package/dist/controllers/validation/server-private.validation.js.map +1 -1
  92. package/dist/controllers/validation/setting.validation.js +12 -34
  93. package/dist/controllers/validation/setting.validation.js.map +1 -1
  94. package/dist/controllers/validation/user-controller.validation.js +27 -65
  95. package/dist/controllers/validation/user-controller.validation.js.map +1 -1
  96. package/dist/data-source.js +78 -79
  97. package/dist/data-source.js.map +1 -1
  98. package/dist/entities/api-key.entity.js +60 -0
  99. package/dist/entities/api-key.entity.js.map +1 -0
  100. package/dist/entities/camera-stream.entity.js +49 -91
  101. package/dist/entities/camera-stream.entity.js.map +1 -1
  102. package/dist/entities/floor-position.entity.js +38 -75
  103. package/dist/entities/floor-position.entity.js.map +1 -1
  104. package/dist/entities/floor.entity.js +18 -48
  105. package/dist/entities/floor.entity.js.map +1 -1
  106. package/dist/entities/index.js +15 -66
  107. package/dist/entities/print-job.entity.js +114 -196
  108. package/dist/entities/print-job.entity.js.map +1 -1
  109. package/dist/entities/printer-maintenance-log.entity.js +61 -140
  110. package/dist/entities/printer-maintenance-log.entity.js.map +1 -1
  111. package/dist/entities/printer-tag.entity.js +33 -66
  112. package/dist/entities/printer-tag.entity.js.map +1 -1
  113. package/dist/entities/printer.entity.js +67 -124
  114. package/dist/entities/printer.entity.js.map +1 -1
  115. package/dist/entities/refresh-token.entity.js +31 -66
  116. package/dist/entities/refresh-token.entity.js.map +1 -1
  117. package/dist/entities/role.entity.js +16 -45
  118. package/dist/entities/role.entity.js.map +1 -1
  119. package/dist/entities/settings.entity.js +38 -77
  120. package/dist/entities/settings.entity.js.map +1 -1
  121. package/dist/entities/tag.entity.js +19 -43
  122. package/dist/entities/tag.entity.js.map +1 -1
  123. package/dist/entities/user-role.entity.js +30 -67
  124. package/dist/entities/user-role.entity.js.map +1 -1
  125. package/dist/entities/user.entity.js +32 -87
  126. package/dist/entities/user.entity.js.map +1 -1
  127. package/dist/exceptions/failed-dependency.exception.js +11 -18
  128. package/dist/exceptions/failed-dependency.exception.js.map +1 -1
  129. package/dist/exceptions/job.exceptions.js +9 -16
  130. package/dist/exceptions/job.exceptions.js.map +1 -1
  131. package/dist/exceptions/runtime.exceptions.js +82 -121
  132. package/dist/exceptions/runtime.exceptions.js.map +1 -1
  133. package/dist/handlers/event-emitter.js +13 -20
  134. package/dist/handlers/event-emitter.js.map +1 -1
  135. package/dist/handlers/logger-factory.js +7 -14
  136. package/dist/handlers/logger-factory.js.map +1 -1
  137. package/dist/handlers/logger.js +26 -36
  138. package/dist/handlers/logger.js.map +1 -1
  139. package/dist/handlers/logging/file-logging.transport.js +17 -31
  140. package/dist/handlers/logging/file-logging.transport.js.map +1 -1
  141. package/dist/handlers/logging/loki-logging.transport.js +34 -50
  142. package/dist/handlers/logging/loki-logging.transport.js.map +1 -1
  143. package/dist/handlers/logging/static.logger.js +83 -124
  144. package/dist/handlers/logging/static.logger.js.map +1 -1
  145. package/dist/handlers/validators.js +8 -25
  146. package/dist/handlers/validators.js.map +1 -1
  147. package/dist/index.js +23 -26
  148. package/dist/index.js.map +1 -1
  149. package/dist/middleware/api-key.strategy.js +45 -0
  150. package/dist/middleware/api-key.strategy.js.map +1 -0
  151. package/dist/middleware/authenticate.js +26 -69
  152. package/dist/middleware/authenticate.js.map +1 -1
  153. package/dist/middleware/database.js +16 -22
  154. package/dist/middleware/database.js.map +1 -1
  155. package/dist/middleware/demo.middleware.js +19 -27
  156. package/dist/middleware/demo.middleware.js.map +1 -1
  157. package/dist/middleware/exception.filter.js +109 -133
  158. package/dist/middleware/exception.filter.js.map +1 -1
  159. package/dist/middleware/global.middleware.js +28 -47
  160. package/dist/middleware/global.middleware.js.map +1 -1
  161. package/dist/middleware/param-converter.middleware.js +31 -69
  162. package/dist/middleware/param-converter.middleware.js.map +1 -1
  163. package/dist/middleware/passport.js +41 -64
  164. package/dist/middleware/passport.js.map +1 -1
  165. package/dist/middleware/printer-resolver.js +26 -33
  166. package/dist/middleware/printer-resolver.js.map +1 -1
  167. package/dist/middleware/printer.js +56 -94
  168. package/dist/middleware/printer.js.map +1 -1
  169. package/dist/middleware/slicer-api-key.middleware.js +23 -26
  170. package/dist/middleware/slicer-api-key.middleware.js.map +1 -1
  171. package/dist/middleware/socketio.middleware.js +21 -32
  172. package/dist/middleware/socketio.middleware.js.map +1 -1
  173. package/dist/migrations/1706829146617-InitSqlite.js +84 -91
  174. package/dist/migrations/1706829146617-InitSqlite.js.map +1 -1
  175. package/dist/migrations/1707494762198-PrinterGroup.js +22 -29
  176. package/dist/migrations/1707494762198-PrinterGroup.js.map +1 -1
  177. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js +26 -33
  178. package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js.map +1 -1
  179. package/dist/migrations/1713300747465-ChangeRoleNameUnique.js +27 -34
  180. package/dist/migrations/1713300747465-ChangeRoleNameUnique.js.map +1 -1
  181. package/dist/migrations/1713897879622-AddPrinterType.js +34 -41
  182. package/dist/migrations/1713897879622-AddPrinterType.js.map +1 -1
  183. package/dist/migrations/1720338804844-RemovePrinterFile.js +12 -19
  184. package/dist/migrations/1720338804844-RemovePrinterFile.js.map +1 -1
  185. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js +26 -33
  186. package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js.map +1 -1
  187. package/dist/migrations/1766576698569-DropPermissions.js +11 -18
  188. package/dist/migrations/1766576698569-DropPermissions.js.map +1 -1
  189. package/dist/migrations/1767278216516-ChangeCameraPrinterOnDeleteSetNull.js +26 -33
  190. package/dist/migrations/1767278216516-ChangeCameraPrinterOnDeleteSetNull.js.map +1 -1
  191. package/dist/migrations/1767279607392-DropCustomGcode.js +12 -19
  192. package/dist/migrations/1767279607392-DropCustomGcode.js.map +1 -1
  193. package/dist/migrations/1767291804417-DropPrintCompletions.js +12 -19
  194. package/dist/migrations/1767291804417-DropPrintCompletions.js.map +1 -1
  195. package/dist/migrations/1767352862576-DropSettingsFileClean.js +18 -25
  196. package/dist/migrations/1767352862576-DropSettingsFileClean.js.map +1 -1
  197. package/dist/migrations/1767355639023-ChangeFloorLevelToOrder.js +26 -33
  198. package/dist/migrations/1767355639023-ChangeFloorLevelToOrder.js.map +1 -1
  199. package/dist/migrations/1767370191762-ChangeFloorNonUniqueOrder.js +18 -25
  200. package/dist/migrations/1767370191762-ChangeFloorNonUniqueOrder.js.map +1 -1
  201. package/dist/migrations/1767432108916-RenameGroupToTag.js +22 -29
  202. package/dist/migrations/1767432108916-RenameGroupToTag.js.map +1 -1
  203. package/dist/migrations/1767451444137-AddPrintJob.js +20 -27
  204. package/dist/migrations/1767451444137-AddPrintJob.js.map +1 -1
  205. package/dist/migrations/1767909428129-AddPrinterMaintenanceLog.js +14 -21
  206. package/dist/migrations/1767909428129-AddPrinterMaintenanceLog.js.map +1 -1
  207. package/dist/migrations/1778446203015-AddApiKey.js +49 -0
  208. package/dist/migrations/1778446203015-AddApiKey.js.map +1 -0
  209. package/dist/plugins/controllers-plugin.js +21 -0
  210. package/dist/plugins/controllers-plugin.js.map +1 -0
  211. package/dist/server.constants.js +79 -91
  212. package/dist/server.constants.js.map +1 -1
  213. package/dist/server.core.js +60 -122
  214. package/dist/server.core.js.map +1 -1
  215. package/dist/server.env.js +56 -121
  216. package/dist/server.env.js.map +1 -1
  217. package/dist/server.host.js +66 -99
  218. package/dist/server.host.js.map +1 -1
  219. package/dist/services/authentication/auth.service.js +103 -126
  220. package/dist/services/authentication/auth.service.js.map +1 -1
  221. package/dist/services/authentication/jwt.service.js +23 -32
  222. package/dist/services/authentication/jwt.service.js.map +1 -1
  223. package/dist/services/bambu/bambu-ftp.adapter.js +194 -236
  224. package/dist/services/bambu/bambu-ftp.adapter.js.map +1 -1
  225. package/dist/services/bambu/bambu-mqtt.adapter.js +394 -449
  226. package/dist/services/bambu/bambu-mqtt.adapter.js.map +1 -1
  227. package/dist/services/bambu/bambu.client.js +64 -65
  228. package/dist/services/bambu/bambu.client.js.map +1 -1
  229. package/dist/services/bambu/mqtt-message.types.js +1 -6
  230. package/dist/services/bambu.api.js +230 -247
  231. package/dist/services/bambu.api.js.map +1 -1
  232. package/dist/services/core/batch-call.service.js +139 -163
  233. package/dist/services/core/batch-call.service.js.map +1 -1
  234. package/dist/services/core/client-bundle.service.js +126 -165
  235. package/dist/services/core/client-bundle.service.js.map +1 -1
  236. package/dist/services/core/config.service.js +16 -26
  237. package/dist/services/core/config.service.js.map +1 -1
  238. package/dist/services/core/cradle.service.js +11 -19
  239. package/dist/services/core/cradle.service.js.map +1 -1
  240. package/dist/services/core/github.service.js +59 -79
  241. package/dist/services/core/github.service.js.map +1 -1
  242. package/dist/services/core/http-client.factory.js +30 -38
  243. package/dist/services/core/http-client.factory.js.map +1 -1
  244. package/dist/services/core/logs-manager.service.js +61 -84
  245. package/dist/services/core/logs-manager.service.js.map +1 -1
  246. package/dist/services/core/monsterpi.service.js +26 -36
  247. package/dist/services/core/monsterpi.service.js.map +1 -1
  248. package/dist/services/core/multer.service.js +69 -129
  249. package/dist/services/core/multer.service.js.map +1 -1
  250. package/dist/services/core/server-release.service.js +77 -99
  251. package/dist/services/core/server-release.service.js.map +1 -1
  252. package/dist/services/core/yaml.service.js +443 -573
  253. package/dist/services/core/yaml.service.js.map +1 -1
  254. package/dist/services/file-analysis.service.js +134 -144
  255. package/dist/services/file-analysis.service.js.map +1 -1
  256. package/dist/services/file-storage.service.js +324 -423
  257. package/dist/services/file-storage.service.js.map +1 -1
  258. package/dist/services/interfaces/api-key.dto.js +19 -0
  259. package/dist/services/interfaces/api-key.dto.js.map +1 -0
  260. package/dist/services/interfaces/api-key.service.interface.js +1 -0
  261. package/dist/services/interfaces/auth.service.interface.js +1 -6
  262. package/dist/services/interfaces/camera-stream.dto.js +23 -41
  263. package/dist/services/interfaces/camera-stream.dto.js.map +1 -1
  264. package/dist/services/interfaces/camera-stream.service.interface.js +1 -6
  265. package/dist/services/interfaces/file-upload-tracker.interface.js +1 -6
  266. package/dist/services/interfaces/floor.dto.js +31 -55
  267. package/dist/services/interfaces/floor.dto.js.map +1 -1
  268. package/dist/services/interfaces/floor.service.interface.js +1 -6
  269. package/dist/services/interfaces/jwt.service.interface.js +1 -6
  270. package/dist/services/interfaces/login.dto.js +10 -17
  271. package/dist/services/interfaces/login.dto.js.map +1 -1
  272. package/dist/services/interfaces/page.interface.js +5 -12
  273. package/dist/services/interfaces/page.interface.js.map +1 -1
  274. package/dist/services/interfaces/permission.service.interface.js +1 -6
  275. package/dist/services/interfaces/printer-file.dto.js +1 -6
  276. package/dist/services/interfaces/printer-maintenance-log.dto.js +1 -6
  277. package/dist/services/interfaces/printer-tag.dto.js +11 -26
  278. package/dist/services/interfaces/printer-tag.dto.js.map +1 -1
  279. package/dist/services/interfaces/printer-tag.service.interface.js +1 -6
  280. package/dist/services/interfaces/printer.dto.js +21 -36
  281. package/dist/services/interfaces/printer.dto.js.map +1 -1
  282. package/dist/services/interfaces/printer.service.interface.js +1 -6
  283. package/dist/services/interfaces/refresh-token.dto.js +9 -16
  284. package/dist/services/interfaces/refresh-token.dto.js.map +1 -1
  285. package/dist/services/interfaces/refresh-token.service.interface.js +1 -6
  286. package/dist/services/interfaces/role-service.interface.js +1 -6
  287. package/dist/services/interfaces/role.dto.js +7 -14
  288. package/dist/services/interfaces/role.dto.js.map +1 -1
  289. package/dist/services/interfaces/settings.dto.js +10 -17
  290. package/dist/services/interfaces/settings.dto.js.map +1 -1
  291. package/dist/services/interfaces/settings.service.interface.js +1 -6
  292. package/dist/services/interfaces/tag.dto.js +1 -6
  293. package/dist/services/interfaces/task.interfaces.js +1 -6
  294. package/dist/services/interfaces/user-role.dto.js +9 -16
  295. package/dist/services/interfaces/user-role.dto.js.map +1 -1
  296. package/dist/services/interfaces/user-service.interface.js +1 -6
  297. package/dist/services/interfaces/user.dto.js +24 -37
  298. package/dist/services/interfaces/user.dto.js.map +1 -1
  299. package/dist/services/moonraker/constants/moonraker-event.dto.js +16 -31
  300. package/dist/services/moonraker/constants/moonraker-event.dto.js.map +1 -1
  301. package/dist/services/moonraker/constants/moonraker.constants.js +4 -11
  302. package/dist/services/moonraker/constants/moonraker.constants.js.map +1 -1
  303. package/dist/services/moonraker/dto/access/access-info.dto.js +1 -6
  304. package/dist/services/moonraker/dto/access/access-login-refresh.dto.js +1 -6
  305. package/dist/services/moonraker/dto/access/access-login-result.dto.js +1 -6
  306. package/dist/services/moonraker/dto/access/access-user-result.dto.js +1 -6
  307. package/dist/services/moonraker/dto/access/access-user.dto.js +1 -6
  308. package/dist/services/moonraker/dto/database/database-namespace-item.dto.js +1 -6
  309. package/dist/services/moonraker/dto/database/database-namespace-list.dto.js +1 -6
  310. package/dist/services/moonraker/dto/gcode-help.dto.js +1 -6
  311. package/dist/services/moonraker/dto/gcode-store.dto.js +1 -6
  312. package/dist/services/moonraker/dto/job-queue/enqueue-job.dto.js +1 -6
  313. package/dist/services/moonraker/dto/job-queue/job-queue-status.dto.js +1 -6
  314. package/dist/services/moonraker/dto/machine/machine-device-power-device-state.dto.js +1 -6
  315. package/dist/services/moonraker/dto/machine/machine-device-power-devices.dto.js +1 -6
  316. package/dist/services/moonraker/dto/machine/machine-peripherals-canbus.dto.js +1 -6
  317. package/dist/services/moonraker/dto/machine/machine-peripherals-serial.dto.js +1 -6
  318. package/dist/services/moonraker/dto/machine/machine-peripherals-usb.dto.js +1 -6
  319. package/dist/services/moonraker/dto/machine/machine-peripherals-video.dto.js +1 -6
  320. package/dist/services/moonraker/dto/machine/machine-system-info.dto.js +1 -6
  321. package/dist/services/moonraker/dto/machine/machine-update-status.dto.js +1 -6
  322. package/dist/services/moonraker/dto/machine/machine-wled-strips.dto.js +1 -6
  323. package/dist/services/moonraker/dto/notifier-list.dto.js +1 -6
  324. package/dist/services/moonraker/dto/objects/bed-mesh.dto.js +1 -6
  325. package/dist/services/moonraker/dto/objects/configfile.dto.js +1 -6
  326. package/dist/services/moonraker/dto/objects/display-status.dto.js +1 -6
  327. package/dist/services/moonraker/dto/objects/extruder.dto.js +1 -6
  328. package/dist/services/moonraker/dto/objects/fan.dto.js +1 -6
  329. package/dist/services/moonraker/dto/objects/filament-motion-sensor.dto.js +1 -6
  330. package/dist/services/moonraker/dto/objects/filament-switch-sensor.dto.js +1 -6
  331. package/dist/services/moonraker/dto/objects/gcode-move.dto.js +1 -6
  332. package/dist/services/moonraker/dto/objects/gcode.dto.js +1 -6
  333. package/dist/services/moonraker/dto/objects/heater-bed.dto.js +1 -6
  334. package/dist/services/moonraker/dto/objects/heaters.dto.js +1 -6
  335. package/dist/services/moonraker/dto/objects/idle-timeout.dto.js +6 -21
  336. package/dist/services/moonraker/dto/objects/idle-timeout.dto.js.map +1 -1
  337. package/dist/services/moonraker/dto/objects/mcu.dto.js +1 -6
  338. package/dist/services/moonraker/dto/objects/motion-report.dto.js +1 -6
  339. package/dist/services/moonraker/dto/objects/output-pin.dto.js +1 -6
  340. package/dist/services/moonraker/dto/objects/pause-resume.dto.js +1 -6
  341. package/dist/services/moonraker/dto/objects/print-stats.dto.js +9 -24
  342. package/dist/services/moonraker/dto/objects/print-stats.dto.js.map +1 -1
  343. package/dist/services/moonraker/dto/objects/printer-object.dto.js +1 -6
  344. package/dist/services/moonraker/dto/objects/printer-object.types.js +1 -6
  345. package/dist/services/moonraker/dto/objects/printer-objects-list.dto.js +28 -43
  346. package/dist/services/moonraker/dto/objects/printer-objects-list.dto.js.map +1 -1
  347. package/dist/services/moonraker/dto/objects/printer-objects-query.dto.js +1 -6
  348. package/dist/services/moonraker/dto/objects/stepper-enable.dto.js +1 -6
  349. package/dist/services/moonraker/dto/objects/system-stats.dto.js +1 -6
  350. package/dist/services/moonraker/dto/objects/temperature-fan.dto.js +1 -6
  351. package/dist/services/moonraker/dto/objects/temperature-sensor.dto.js +1 -6
  352. package/dist/services/moonraker/dto/objects/toolhead.dto.js +1 -6
  353. package/dist/services/moonraker/dto/objects/virtual-sdcard.dto.js +1 -6
  354. package/dist/services/moonraker/dto/objects/webhooks.dto.js +1 -6
  355. package/dist/services/moonraker/dto/octoprint-compat/api-job.dto.js +1 -6
  356. package/dist/services/moonraker/dto/octoprint-compat/api-login.dto.js +1 -6
  357. package/dist/services/moonraker/dto/octoprint-compat/api-printer.dto.js +1 -6
  358. package/dist/services/moonraker/dto/octoprint-compat/api-profiles.dto.js +1 -6
  359. package/dist/services/moonraker/dto/octoprint-compat/api-settings.dto.js +1 -6
  360. package/dist/services/moonraker/dto/octoprint-compat/api-version.dto.js +1 -6
  361. package/dist/services/moonraker/dto/octoprint-compat/server-version.dto.js +1 -6
  362. package/dist/services/moonraker/dto/printer-info.dto.js +7 -22
  363. package/dist/services/moonraker/dto/printer-info.dto.js.map +1 -1
  364. package/dist/services/moonraker/dto/printer-query-endstops.dto.js +1 -6
  365. package/dist/services/moonraker/dto/process-stats.dto.js +1 -6
  366. package/dist/services/moonraker/dto/rest/action-result.dto.js +1 -6
  367. package/dist/services/moonraker/dto/rest/error.dto.js +1 -6
  368. package/dist/services/moonraker/dto/rest/result.dto.js +6 -13
  369. package/dist/services/moonraker/dto/rest/result.dto.js.map +1 -1
  370. package/dist/services/moonraker/dto/rollover-logs.dto.js +1 -6
  371. package/dist/services/moonraker/dto/rpc/json-rpc-error.dto.js +1 -6
  372. package/dist/services/moonraker/dto/rpc/json-rpc-request.dto.js +1 -6
  373. package/dist/services/moonraker/dto/rpc/json-rpc-response.dto.js +1 -6
  374. package/dist/services/moonraker/dto/server/server-config.dto.js +1 -6
  375. package/dist/services/moonraker/dto/server/server-info.dto.js +7 -14
  376. package/dist/services/moonraker/dto/server/server-info.dto.js.map +1 -1
  377. package/dist/services/moonraker/dto/server-announcements/announcement-action.dto.js +1 -6
  378. package/dist/services/moonraker/dto/server-announcements/announcement-entry-id.dto.js +1 -6
  379. package/dist/services/moonraker/dto/server-announcements/announcement-feeds.dto.js +1 -6
  380. package/dist/services/moonraker/dto/server-announcements/announcement-list.dto.js +1 -6
  381. package/dist/services/moonraker/dto/server-files/server-file-directory-action.dto.js +1 -6
  382. package/dist/services/moonraker/dto/server-files/server-file-directory-info.dto.js +1 -6
  383. package/dist/services/moonraker/dto/server-files/server-file-metadata.dto.js +1 -6
  384. package/dist/services/moonraker/dto/server-files/server-file-root.dto.js +1 -6
  385. package/dist/services/moonraker/dto/server-files/server-file-thumbnail.dto.js +1 -6
  386. package/dist/services/moonraker/dto/server-files/server-file-zip-action.dto.js +1 -6
  387. package/dist/services/moonraker/dto/server-files/server-file.dto.js +1 -6
  388. package/dist/services/moonraker/dto/server-history/history-job.dto.js +1 -6
  389. package/dist/services/moonraker/dto/server-history/history-last-totals.dto.js +1 -6
  390. package/dist/services/moonraker/dto/server-history/history-list.dto.js +1 -6
  391. package/dist/services/moonraker/dto/server-history/history-totals.dto.js +1 -6
  392. package/dist/services/moonraker/dto/server-history/job.dto.js +6 -21
  393. package/dist/services/moonraker/dto/server-history/job.dto.js.map +1 -1
  394. package/dist/services/moonraker/dto/server-sensors/sensor-info.dto.js +1 -6
  395. package/dist/services/moonraker/dto/server-sensors/sensor-list.dto.js +1 -6
  396. package/dist/services/moonraker/dto/server-sensors/sensor-measurements.dto.js +1 -6
  397. package/dist/services/moonraker/dto/server-webcams/webcam-item.dto.js +1 -6
  398. package/dist/services/moonraker/dto/server-webcams/webcam-list.dto.js +1 -6
  399. package/dist/services/moonraker/dto/server-webcams/webcam-test.dto.js +1 -6
  400. package/dist/services/moonraker/dto/spoolman/spoolman-active-spool.dto.js +1 -6
  401. package/dist/services/moonraker/dto/spoolman/spoolman-proxy-request.dto.js +1 -6
  402. package/dist/services/moonraker/dto/spoolman/spoolman-response.dto.js +1 -6
  403. package/dist/services/moonraker/dto/spoolman/spoolman-status.dto.js +1 -6
  404. package/dist/services/moonraker/dto/sudo-info.dto.js +1 -6
  405. package/dist/services/moonraker/dto/sudo-response.dto.js +1 -6
  406. package/dist/services/moonraker/dto/temperature-store.dto.js +1 -6
  407. package/dist/services/moonraker/dto/websocket/connection-identify-response.dto.js +1 -6
  408. package/dist/services/moonraker/dto/websocket/connection-identify.dto.js +1 -6
  409. package/dist/services/moonraker/dto/websocket/json-rpc-event.dto.js +1 -6
  410. package/dist/services/moonraker/dto/websocket/message.types.js +1 -6
  411. package/dist/services/moonraker/dto/websocket/methods.js +29 -44
  412. package/dist/services/moonraker/dto/websocket/methods.js.map +1 -1
  413. package/dist/services/moonraker/dto/websocket/notify-active-spool-set.params.js +1 -6
  414. package/dist/services/moonraker/dto/websocket/notify-agent-event.params.js +1 -6
  415. package/dist/services/moonraker/dto/websocket/notify-announcement-update.params.js +1 -6
  416. package/dist/services/moonraker/dto/websocket/notify-announcement.params.js +1 -6
  417. package/dist/services/moonraker/dto/websocket/notify-button-event.params.js +1 -6
  418. package/dist/services/moonraker/dto/websocket/notify-filelist-changed.params.js +11 -18
  419. package/dist/services/moonraker/dto/websocket/notify-filelist-changed.params.js.map +1 -1
  420. package/dist/services/moonraker/dto/websocket/notify-history-changed.params.js +1 -6
  421. package/dist/services/moonraker/dto/websocket/notify-job-queue-changed.params.js +1 -6
  422. package/dist/services/moonraker/dto/websocket/notify-proc-stat-update.params.js +1 -6
  423. package/dist/services/moonraker/dto/websocket/notify-sensor-update.params.js +1 -6
  424. package/dist/services/moonraker/dto/websocket/notify-service-state-changed.params.js +1 -6
  425. package/dist/services/moonraker/dto/websocket/notify-spoolman-status-changed.js +1 -6
  426. package/dist/services/moonraker/dto/websocket/notify-sudo-alert.params.js +1 -6
  427. package/dist/services/moonraker/dto/websocket/notify-update-response.params.js +7 -22
  428. package/dist/services/moonraker/dto/websocket/notify-update-response.params.js.map +1 -1
  429. package/dist/services/moonraker/dto/websocket/notify-user-change.params.js +1 -6
  430. package/dist/services/moonraker/moonraker-websocket.adapter.js +313 -348
  431. package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
  432. package/dist/services/moonraker/moonraker.client.js +536 -559
  433. package/dist/services/moonraker/moonraker.client.js.map +1 -1
  434. package/dist/services/moonraker.api.js +167 -192
  435. package/dist/services/moonraker.api.js.map +1 -1
  436. package/dist/services/octoprint/constants/firmware-update-settings.constants.js +19 -28
  437. package/dist/services/octoprint/constants/firmware-update-settings.constants.js.map +1 -1
  438. package/dist/services/octoprint/constants/octoprint-service.constants.js +3 -30
  439. package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -1
  440. package/dist/services/octoprint/constants/octoprint-websocket.constants.js +41 -56
  441. package/dist/services/octoprint/constants/octoprint-websocket.constants.js.map +1 -1
  442. package/dist/services/octoprint/dto/access/user-list.dto.js +1 -6
  443. package/dist/services/octoprint/dto/access/user.dto.js +1 -6
  444. package/dist/services/octoprint/dto/auth/current-user.dto.js +1 -6
  445. package/dist/services/octoprint/dto/auth/login.dto.js +1 -6
  446. package/dist/services/octoprint/dto/connection/connection-state.type.js +23 -30
  447. package/dist/services/octoprint/dto/connection/connection-state.type.js.map +1 -1
  448. package/dist/services/octoprint/dto/connection/connection.dto.js +1 -6
  449. package/dist/services/octoprint/dto/events/client-authed.dto.js +1 -6
  450. package/dist/services/octoprint/dto/events/client-closed.dto.js +1 -6
  451. package/dist/services/octoprint/dto/events/client-opened.dto.js +1 -6
  452. package/dist/services/octoprint/dto/events/dwelling.dto.js +1 -6
  453. package/dist/services/octoprint/dto/events/file-added.dto.js +1 -6
  454. package/dist/services/octoprint/dto/events/file-deselected.dto.js +1 -6
  455. package/dist/services/octoprint/dto/events/file-removed.dto.js +1 -6
  456. package/dist/services/octoprint/dto/events/folder-added.dto.js +1 -6
  457. package/dist/services/octoprint/dto/events/home.dto.js +1 -6
  458. package/dist/services/octoprint/dto/events/metadata-analysis-finished.dto.js +1 -6
  459. package/dist/services/octoprint/dto/events/metadata-analysis-started.dto.js +1 -6
  460. package/dist/services/octoprint/dto/events/metadata-statistics-updated.dto.js +1 -6
  461. package/dist/services/octoprint/dto/events/position-update.dto.js +1 -6
  462. package/dist/services/octoprint/dto/events/print-cancelled.dto.js +1 -6
  463. package/dist/services/octoprint/dto/events/print-cancelling.dto.js +1 -6
  464. package/dist/services/octoprint/dto/events/print-done.dto.js +1 -6
  465. package/dist/services/octoprint/dto/events/print-failed.dto.js +1 -6
  466. package/dist/services/octoprint/dto/events/print-paused.dto.js +1 -6
  467. package/dist/services/octoprint/dto/events/print-resumed.dto.js +1 -6
  468. package/dist/services/octoprint/dto/events/print-started.dto.js +1 -6
  469. package/dist/services/octoprint/dto/events/printer-state-changed.dto.js +1 -6
  470. package/dist/services/octoprint/dto/events/transfer-done.dto.js +1 -6
  471. package/dist/services/octoprint/dto/events/transfer-started.dto.js +1 -6
  472. package/dist/services/octoprint/dto/events/updated-files.dto.js +1 -6
  473. package/dist/services/octoprint/dto/events/upload.dto.js +1 -6
  474. package/dist/services/octoprint/dto/events/user-logged-in.dto.js +1 -6
  475. package/dist/services/octoprint/dto/events/z-change.dto.js +1 -6
  476. package/dist/services/octoprint/dto/files/gcode-analysis.dto.js +1 -6
  477. package/dist/services/octoprint/dto/files/octoprint-file.dto.js +1 -6
  478. package/dist/services/octoprint/dto/files/octoprint-files-response.dto.js +1 -6
  479. package/dist/services/octoprint/dto/job/current-job.dto.js +8 -15
  480. package/dist/services/octoprint/dto/job/current-job.dto.js.map +1 -1
  481. package/dist/services/octoprint/dto/job/job.dto.js +1 -6
  482. package/dist/services/octoprint/dto/octoprint-event.dto.js +21 -39
  483. package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
  484. package/dist/services/octoprint/dto/printer/busy-file.dto.js +1 -6
  485. package/dist/services/octoprint/dto/printer/current-printer-state.dto.js +1 -6
  486. package/dist/services/octoprint/dto/printer/flags.dto.js +1 -6
  487. package/dist/services/octoprint/dto/printer/markings.dto.js +1 -6
  488. package/dist/services/octoprint/dto/printer/progress.dto.js +1 -6
  489. package/dist/services/octoprint/dto/printer/resends.dto.js +1 -6
  490. package/dist/services/octoprint/dto/printer/state.dto.js +1 -6
  491. package/dist/services/octoprint/dto/printer/temps.dto.js +1 -6
  492. package/dist/services/octoprint/dto/rest/error.dto.js +1 -6
  493. package/dist/services/octoprint/dto/server/server.dto.js +1 -6
  494. package/dist/services/octoprint/dto/server/version.dto.js +1 -6
  495. package/dist/services/octoprint/dto/settings/serial-settings.dto.js +1 -6
  496. package/dist/services/octoprint/dto/settings/settings-parts.type.js +1 -6
  497. package/dist/services/octoprint/dto/settings/settings.dto.js +1 -6
  498. package/dist/services/octoprint/dto/settings/virtual-printer-settings.dto.js +1 -6
  499. package/dist/services/octoprint/dto/system/system-info.dto.js +32 -39
  500. package/dist/services/octoprint/dto/system/system-info.dto.js.map +1 -1
  501. package/dist/services/octoprint/dto/websocket/connection-message.dto.js +1 -6
  502. package/dist/services/octoprint/dto/websocket/current-message.dto.js +1 -6
  503. package/dist/services/octoprint/dto/websocket/event-message.dto.js +1 -6
  504. package/dist/services/octoprint/dto/websocket/event.type.js +42 -49
  505. package/dist/services/octoprint/dto/websocket/event.type.js.map +1 -1
  506. package/dist/services/octoprint/dto/websocket/history-message.dto.js +1 -6
  507. package/dist/services/octoprint/dto/websocket/plugin-message.dto.js +1 -6
  508. package/dist/services/octoprint/dto/websocket/timelapse-message.dto.js +1 -6
  509. package/dist/services/octoprint/octoprint-api.routes.js +77 -94
  510. package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
  511. package/dist/services/octoprint/octoprint-websocket.adapter.js +265 -315
  512. package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
  513. package/dist/services/octoprint/octoprint.client.js +220 -261
  514. package/dist/services/octoprint/octoprint.client.js.map +1 -1
  515. package/dist/services/octoprint/utils/api.utils.js +15 -32
  516. package/dist/services/octoprint/utils/api.utils.js.map +1 -1
  517. package/dist/services/octoprint/utils/file.utils.js +44 -67
  518. package/dist/services/octoprint/utils/file.utils.js.map +1 -1
  519. package/dist/services/octoprint/utils/octoprint-http-client.builder.js +16 -29
  520. package/dist/services/octoprint/utils/octoprint-http-client.builder.js.map +1 -1
  521. package/dist/services/octoprint.api.js +113 -128
  522. package/dist/services/octoprint.api.js.map +1 -1
  523. package/dist/services/orm/api-key.service.js +90 -0
  524. package/dist/services/orm/api-key.service.js.map +1 -0
  525. package/dist/services/orm/base.interface.js +1 -6
  526. package/dist/services/orm/base.service.js +57 -73
  527. package/dist/services/orm/base.service.js.map +1 -1
  528. package/dist/services/orm/camera-stream.service.js +21 -27
  529. package/dist/services/orm/camera-stream.service.js.map +1 -1
  530. package/dist/services/orm/floor-position.service.js +42 -49
  531. package/dist/services/orm/floor-position.service.js.map +1 -1
  532. package/dist/services/orm/floor.service.js +110 -138
  533. package/dist/services/orm/floor.service.js.map +1 -1
  534. package/dist/services/orm/permission.service.js +16 -23
  535. package/dist/services/orm/permission.service.js.map +1 -1
  536. package/dist/services/orm/print-job.service.js +443 -545
  537. package/dist/services/orm/print-job.service.js.map +1 -1
  538. package/dist/services/orm/printer-maintenance-log.service.js +102 -149
  539. package/dist/services/orm/printer-maintenance-log.service.js.map +1 -1
  540. package/dist/services/orm/printer-tag.service.js +93 -118
  541. package/dist/services/orm/printer-tag.service.js.map +1 -1
  542. package/dist/services/orm/printer.service.js +110 -158
  543. package/dist/services/orm/printer.service.js.map +1 -1
  544. package/dist/services/orm/refresh-token.service.js +69 -99
  545. package/dist/services/orm/refresh-token.service.js.map +1 -1
  546. package/dist/services/orm/role.service.js +99 -116
  547. package/dist/services/orm/role.service.js.map +1 -1
  548. package/dist/services/orm/settings.service.js +84 -94
  549. package/dist/services/orm/settings.service.js.map +1 -1
  550. package/dist/services/orm/user-role.service.js +39 -53
  551. package/dist/services/orm/user-role.service.js.map +1 -1
  552. package/dist/services/orm/user.service.js +142 -189
  553. package/dist/services/orm/user.service.js.map +1 -1
  554. package/dist/services/print-file-downloader.service.js +153 -167
  555. package/dist/services/print-file-downloader.service.js.map +1 -1
  556. package/dist/services/print-queue.service.js +240 -326
  557. package/dist/services/print-queue.service.js.map +1 -1
  558. package/dist/services/printer-api.factory.js +26 -43
  559. package/dist/services/printer-api.factory.js.map +1 -1
  560. package/dist/services/printer-api.interface.js +23 -53
  561. package/dist/services/printer-api.interface.js.map +1 -1
  562. package/dist/services/prusa-link/constants/prusalink-event.dto.js +9 -16
  563. package/dist/services/prusa-link/constants/prusalink-event.dto.js.map +1 -1
  564. package/dist/services/prusa-link/constants/prusalink.constants.js +4 -11
  565. package/dist/services/prusa-link/constants/prusalink.constants.js.map +1 -1
  566. package/dist/services/prusa-link/dto/file-response.dto.js +1 -6
  567. package/dist/services/prusa-link/dto/file.dto.js +1 -6
  568. package/dist/services/prusa-link/dto/job-state.dto.js +1 -6
  569. package/dist/services/prusa-link/dto/printer-state.dto.js +1 -6
  570. package/dist/services/prusa-link/dto/status.dto.js +1 -6
  571. package/dist/services/prusa-link/dto/version.dto.js +1 -6
  572. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js +141 -157
  573. package/dist/services/prusa-link/prusa-link-http-polling.adapter.js.map +1 -1
  574. package/dist/services/prusa-link/prusa-link.api.js +206 -240
  575. package/dist/services/prusa-link/prusa-link.api.js.map +1 -1
  576. package/dist/services/prusa-link/utils/digest-auth.params.js +1 -6
  577. package/dist/services/prusa-link/utils/digest-auth.util.js +17 -24
  578. package/dist/services/prusa-link/utils/digest-auth.util.js.map +1 -1
  579. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js +92 -129
  580. package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js.map +1 -1
  581. package/dist/services/socket.factory.js +21 -36
  582. package/dist/services/socket.factory.js.map +1 -1
  583. package/dist/services/task-manager.service.js +190 -174
  584. package/dist/services/task-manager.service.js.map +1 -1
  585. package/dist/services/typeorm/typeorm.service.js +31 -46
  586. package/dist/services/typeorm/typeorm.service.js.map +1 -1
  587. package/dist/services/validators/floor-service.validation.js +26 -63
  588. package/dist/services/validators/floor-service.validation.js.map +1 -1
  589. package/dist/services/validators/print-job.validation.js +11 -26
  590. package/dist/services/validators/print-job.validation.js.map +1 -1
  591. package/dist/services/validators/printer-maintenance-log.validation.js +17 -37
  592. package/dist/services/validators/printer-maintenance-log.validation.js.map +1 -1
  593. package/dist/services/validators/printer-service.validation.js +60 -125
  594. package/dist/services/validators/printer-service.validation.js.map +1 -1
  595. package/dist/services/validators/settings-service.validation.js +46 -106
  596. package/dist/services/validators/settings-service.validation.js.map +1 -1
  597. package/dist/services/validators/user-service.validation.js +19 -36
  598. package/dist/services/validators/user-service.validation.js.map +1 -1
  599. package/dist/services/validators/yaml-service.validation.js +96 -132
  600. package/dist/services/validators/yaml-service.validation.js.map +1 -1
  601. package/dist/services/websocket-adapter.interface.js +1 -6
  602. package/dist/shared/default-http-client.builder.js +74 -92
  603. package/dist/shared/default-http-client.builder.js.map +1 -1
  604. package/dist/shared/dtos/api-state.type.js +8 -15
  605. package/dist/shared/dtos/api-state.type.js.map +1 -1
  606. package/dist/shared/dtos/socket-login.dto.js +1 -6
  607. package/dist/shared/dtos/socket-state.type.js +11 -18
  608. package/dist/shared/dtos/socket-state.type.js.map +1 -1
  609. package/dist/shared/load-controllers.js +41 -19
  610. package/dist/shared/load-controllers.js.map +1 -1
  611. package/dist/shared/runtime-settings.migration.js +43 -50
  612. package/dist/shared/runtime-settings.migration.js.map +1 -1
  613. package/dist/shared/websocket-rpc-extended.adapter.js +74 -75
  614. package/dist/shared/websocket-rpc-extended.adapter.js.map +1 -1
  615. package/dist/shared/websocket.adapter.js +78 -63
  616. package/dist/shared/websocket.adapter.js.map +1 -1
  617. package/dist/state/file-upload-tracker.cache.js +63 -75
  618. package/dist/state/file-upload-tracker.cache.js.map +1 -1
  619. package/dist/state/floor.store.js +77 -89
  620. package/dist/state/floor.store.js.map +1 -1
  621. package/dist/state/printer-events.cache.js +237 -295
  622. package/dist/state/printer-events.cache.js.map +1 -1
  623. package/dist/state/printer-socket.store.js +156 -174
  624. package/dist/state/printer-socket.store.js.map +1 -1
  625. package/dist/state/printer-thumbnail.cache.js +129 -130
  626. package/dist/state/printer-thumbnail.cache.js.map +1 -1
  627. package/dist/state/printer.cache.js +87 -102
  628. package/dist/state/printer.cache.js.map +1 -1
  629. package/dist/state/settings.store.js +211 -234
  630. package/dist/state/settings.store.js.map +1 -1
  631. package/dist/state/socket-io.gateway.js +58 -87
  632. package/dist/state/socket-io.gateway.js.map +1 -1
  633. package/dist/state/test-printer-socket.store.js +116 -137
  634. package/dist/state/test-printer-socket.store.js.map +1 -1
  635. package/dist/state/validation/create-test-printer.validation.js +14 -21
  636. package/dist/state/validation/create-test-printer.validation.js.map +1 -1
  637. package/dist/task.presets.js +30 -37
  638. package/dist/task.presets.js.map +1 -1
  639. package/dist/tasks/boot.task.js +100 -128
  640. package/dist/tasks/boot.task.js.map +1 -1
  641. package/dist/tasks/client-bundle.task.js +20 -28
  642. package/dist/tasks/client-bundle.task.js.map +1 -1
  643. package/dist/tasks/print-job-analysis.task.js +88 -113
  644. package/dist/tasks/print-job-analysis.task.js.map +1 -1
  645. package/dist/tasks/printer-websocket-restore.task.js +41 -54
  646. package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
  647. package/dist/tasks/printer-websocket.task.js +11 -19
  648. package/dist/tasks/printer-websocket.task.js.map +1 -1
  649. package/dist/tasks/socketio.task.js +35 -53
  650. package/dist/tasks/socketio.task.js.map +1 -1
  651. package/dist/tasks/software-update.task.js +12 -20
  652. package/dist/tasks/software-update.task.js.map +1 -1
  653. package/dist/tasks.js +27 -41
  654. package/dist/tasks.js.map +1 -1
  655. package/dist/types/express/index.d.js +1 -6
  656. package/dist/types/virtual-modules.d.js +1 -0
  657. package/dist/utils/array.util.js +9 -24
  658. package/dist/utils/array.util.js.map +1 -1
  659. package/dist/utils/bgcode/bgcode-thumbnail.parser.js +26 -44
  660. package/dist/utils/bgcode/bgcode-thumbnail.parser.js.map +1 -1
  661. package/dist/utils/bgcode/bgcode.constants.js +9 -45
  662. package/dist/utils/bgcode/bgcode.constants.js.map +1 -1
  663. package/dist/utils/bgcode/bgcode.types.js +57 -106
  664. package/dist/utils/bgcode/bgcode.types.js.map +1 -1
  665. package/dist/utils/bgcode/bgcode.utils.js +167 -256
  666. package/dist/utils/bgcode/bgcode.utils.js.map +1 -1
  667. package/dist/utils/bgcode/heatshrink-decoder.js +130 -170
  668. package/dist/utils/bgcode/heatshrink-decoder.js.map +1 -1
  669. package/dist/utils/bgcode/png-encoder.js +53 -66
  670. package/dist/utils/bgcode/png-encoder.js.map +1 -1
  671. package/dist/utils/bgcode/qoi-decoder.js +116 -135
  672. package/dist/utils/bgcode/qoi-decoder.js.map +1 -1
  673. package/dist/utils/cache/key-diff.cache.js +56 -85
  674. package/dist/utils/cache/key-diff.cache.js.map +1 -1
  675. package/dist/utils/correlation-token.util.js +4 -11
  676. package/dist/utils/correlation-token.util.js.map +1 -1
  677. package/dist/utils/crypto.utils.js +7 -23
  678. package/dist/utils/crypto.utils.js.map +1 -1
  679. package/dist/utils/env.utils.js +14 -49
  680. package/dist/utils/env.utils.js.map +1 -1
  681. package/dist/utils/error.utils.js +4 -11
  682. package/dist/utils/error.utils.js.map +1 -1
  683. package/dist/utils/fs.utils.js +26 -49
  684. package/dist/utils/fs.utils.js.map +1 -1
  685. package/dist/utils/gcode.utils.js +30 -43
  686. package/dist/utils/gcode.utils.js.map +1 -1
  687. package/dist/utils/image-dimensions.js +39 -54
  688. package/dist/utils/image-dimensions.js.map +1 -1
  689. package/dist/utils/job-stats.util.js +41 -72
  690. package/dist/utils/job-stats.util.js.map +1 -1
  691. package/dist/utils/normalize-url.js +135 -203
  692. package/dist/utils/normalize-url.js.map +1 -1
  693. package/dist/utils/parsers/3mf.parser.js +298 -365
  694. package/dist/utils/parsers/3mf.parser.js.map +1 -1
  695. package/dist/utils/parsers/bgcode.parser.js +149 -202
  696. package/dist/utils/parsers/bgcode.parser.js.map +1 -1
  697. package/dist/utils/parsers/gcode.parser.js +200 -263
  698. package/dist/utils/parsers/gcode.parser.js.map +1 -1
  699. package/dist/utils/parsers/parser.types.js +1 -6
  700. package/dist/utils/pretty-print.utils.js +5 -20
  701. package/dist/utils/pretty-print.utils.js.map +1 -1
  702. package/dist/utils/semver.utils.js +10 -26
  703. package/dist/utils/semver.utils.js.map +1 -1
  704. package/dist/utils/swagger/decorators.js +14 -32
  705. package/dist/utils/swagger/decorators.js.map +1 -1
  706. package/dist/utils/swagger/generator.js +151 -194
  707. package/dist/utils/swagger/generator.js.map +1 -1
  708. package/dist/utils/swagger/swagger.js +40 -51
  709. package/dist/utils/swagger/swagger.js.map +1 -1
  710. package/dist/utils/thumbnail.util.js +11 -20
  711. package/dist/utils/thumbnail.util.js.map +1 -1
  712. package/dist/utils/time.utils.js +4 -12
  713. package/dist/utils/time.utils.js.map +1 -1
  714. package/dist/utils/url.utils.js +9 -27
  715. package/dist/utils/url.utils.js.map +1 -1
  716. package/package.json +80 -91
  717. package/packages/consoles/package.json +44 -0
  718. package/packages/consoles/tsconfig.json +23 -0
  719. package/packages/consoles/vite.config.ts +15 -0
  720. package/tsconfig.json +10 -6
  721. package/vite.config.ts +62 -0
  722. package/.swcrc +0 -33
  723. package/.yarn/releases/yarn-4.12.0.cjs +0 -942
  724. package/biome.json +0 -36
  725. package/dist/consoles/bambu-mqtt-diagnostic.console.js +0 -565
  726. package/dist/consoles/bambu-mqtt-diagnostic.console.js.map +0 -1
  727. package/dist/consoles/download-github-releases.js +0 -50
  728. package/dist/consoles/download-github-releases.js.map +0 -1
  729. package/dist/consoles/gcode-scanner-poc.console.js +0 -52
  730. package/dist/consoles/gcode-scanner-poc.console.js.map +0 -1
  731. package/dist/consoles/launch-http-servers.js +0 -31
  732. package/dist/consoles/launch-http-servers.js.map +0 -1
  733. package/dist/consoles/mock-bambu.server.js +0 -319
  734. package/dist/consoles/mock-bambu.server.js.map +0 -1
  735. package/dist/consoles/mock-camera/default-image.js +0 -13
  736. package/dist/consoles/mock-camera/default-image.js.map +0 -1
  737. package/dist/consoles/mock-camera/mock-camera.server.js +0 -160
  738. package/dist/consoles/mock-camera/mock-camera.server.js.map +0 -1
  739. package/dist/consoles/mock-octoprint.server.js +0 -499
  740. package/dist/consoles/mock-octoprint.server.js.map +0 -1
  741. package/dist/consoles/mock-prusalink.server.js +0 -57
  742. package/dist/consoles/mock-prusalink.server.js.map +0 -1
  743. package/dist/consoles/moonraker-test.console.js +0 -3
  744. package/dist/consoles/moonraker-test.console.js.map +0 -1
  745. package/dist/consoles/utils/api-messages.js +0 -856
  746. package/dist/consoles/utils/api-messages.js.map +0 -1
  747. package/dist/consoles/utils/delayed-memory.storage.js +0 -42
  748. package/dist/consoles/utils/delayed-memory.storage.js.map +0 -1
  749. package/dist/consoles/utils/ws-messages.js +0 -88
  750. package/dist/consoles/utils/ws-messages.js.map +0 -1
  751. package/dist/entities/index.js.map +0 -1
  752. package/dist/services/bambu/mqtt-message.types.js.map +0 -1
  753. package/dist/services/interfaces/auth.service.interface.js.map +0 -1
  754. package/dist/services/interfaces/camera-stream.service.interface.js.map +0 -1
  755. package/dist/services/interfaces/file-upload-tracker.interface.js.map +0 -1
  756. package/dist/services/interfaces/floor.service.interface.js.map +0 -1
  757. package/dist/services/interfaces/jwt.service.interface.js.map +0 -1
  758. package/dist/services/interfaces/permission.service.interface.js.map +0 -1
  759. package/dist/services/interfaces/printer-file.dto.js.map +0 -1
  760. package/dist/services/interfaces/printer-maintenance-log.dto.js.map +0 -1
  761. package/dist/services/interfaces/printer-tag.service.interface.js.map +0 -1
  762. package/dist/services/interfaces/printer.service.interface.js.map +0 -1
  763. package/dist/services/interfaces/refresh-token.service.interface.js.map +0 -1
  764. package/dist/services/interfaces/role-service.interface.js.map +0 -1
  765. package/dist/services/interfaces/settings.service.interface.js.map +0 -1
  766. package/dist/services/interfaces/tag.dto.js.map +0 -1
  767. package/dist/services/interfaces/task.interfaces.js.map +0 -1
  768. package/dist/services/interfaces/user-service.interface.js.map +0 -1
  769. package/dist/services/moonraker/dto/access/access-info.dto.js.map +0 -1
  770. package/dist/services/moonraker/dto/access/access-login-refresh.dto.js.map +0 -1
  771. package/dist/services/moonraker/dto/access/access-login-result.dto.js.map +0 -1
  772. package/dist/services/moonraker/dto/access/access-user-result.dto.js.map +0 -1
  773. package/dist/services/moonraker/dto/access/access-user.dto.js.map +0 -1
  774. package/dist/services/moonraker/dto/database/database-namespace-item.dto.js.map +0 -1
  775. package/dist/services/moonraker/dto/database/database-namespace-list.dto.js.map +0 -1
  776. package/dist/services/moonraker/dto/gcode-help.dto.js.map +0 -1
  777. package/dist/services/moonraker/dto/gcode-store.dto.js.map +0 -1
  778. package/dist/services/moonraker/dto/job-queue/enqueue-job.dto.js.map +0 -1
  779. package/dist/services/moonraker/dto/job-queue/job-queue-status.dto.js.map +0 -1
  780. package/dist/services/moonraker/dto/machine/machine-device-power-device-state.dto.js.map +0 -1
  781. package/dist/services/moonraker/dto/machine/machine-device-power-devices.dto.js.map +0 -1
  782. package/dist/services/moonraker/dto/machine/machine-peripherals-canbus.dto.js.map +0 -1
  783. package/dist/services/moonraker/dto/machine/machine-peripherals-serial.dto.js.map +0 -1
  784. package/dist/services/moonraker/dto/machine/machine-peripherals-usb.dto.js.map +0 -1
  785. package/dist/services/moonraker/dto/machine/machine-peripherals-video.dto.js.map +0 -1
  786. package/dist/services/moonraker/dto/machine/machine-system-info.dto.js.map +0 -1
  787. package/dist/services/moonraker/dto/machine/machine-update-status.dto.js.map +0 -1
  788. package/dist/services/moonraker/dto/machine/machine-wled-strips.dto.js.map +0 -1
  789. package/dist/services/moonraker/dto/notifier-list.dto.js.map +0 -1
  790. package/dist/services/moonraker/dto/objects/bed-mesh.dto.js.map +0 -1
  791. package/dist/services/moonraker/dto/objects/configfile.dto.js.map +0 -1
  792. package/dist/services/moonraker/dto/objects/display-status.dto.js.map +0 -1
  793. package/dist/services/moonraker/dto/objects/extruder.dto.js.map +0 -1
  794. package/dist/services/moonraker/dto/objects/fan.dto.js.map +0 -1
  795. package/dist/services/moonraker/dto/objects/filament-motion-sensor.dto.js.map +0 -1
  796. package/dist/services/moonraker/dto/objects/filament-switch-sensor.dto.js.map +0 -1
  797. package/dist/services/moonraker/dto/objects/gcode-move.dto.js.map +0 -1
  798. package/dist/services/moonraker/dto/objects/gcode.dto.js.map +0 -1
  799. package/dist/services/moonraker/dto/objects/heater-bed.dto.js.map +0 -1
  800. package/dist/services/moonraker/dto/objects/heaters.dto.js.map +0 -1
  801. package/dist/services/moonraker/dto/objects/mcu.dto.js.map +0 -1
  802. package/dist/services/moonraker/dto/objects/motion-report.dto.js.map +0 -1
  803. package/dist/services/moonraker/dto/objects/output-pin.dto.js.map +0 -1
  804. package/dist/services/moonraker/dto/objects/pause-resume.dto.js.map +0 -1
  805. package/dist/services/moonraker/dto/objects/printer-object.dto.js.map +0 -1
  806. package/dist/services/moonraker/dto/objects/printer-object.types.js.map +0 -1
  807. package/dist/services/moonraker/dto/objects/printer-objects-query.dto.js.map +0 -1
  808. package/dist/services/moonraker/dto/objects/stepper-enable.dto.js.map +0 -1
  809. package/dist/services/moonraker/dto/objects/system-stats.dto.js.map +0 -1
  810. package/dist/services/moonraker/dto/objects/temperature-fan.dto.js.map +0 -1
  811. package/dist/services/moonraker/dto/objects/temperature-sensor.dto.js.map +0 -1
  812. package/dist/services/moonraker/dto/objects/toolhead.dto.js.map +0 -1
  813. package/dist/services/moonraker/dto/objects/virtual-sdcard.dto.js.map +0 -1
  814. package/dist/services/moonraker/dto/objects/webhooks.dto.js.map +0 -1
  815. package/dist/services/moonraker/dto/octoprint-compat/api-job.dto.js.map +0 -1
  816. package/dist/services/moonraker/dto/octoprint-compat/api-login.dto.js.map +0 -1
  817. package/dist/services/moonraker/dto/octoprint-compat/api-printer.dto.js.map +0 -1
  818. package/dist/services/moonraker/dto/octoprint-compat/api-profiles.dto.js.map +0 -1
  819. package/dist/services/moonraker/dto/octoprint-compat/api-settings.dto.js.map +0 -1
  820. package/dist/services/moonraker/dto/octoprint-compat/api-version.dto.js.map +0 -1
  821. package/dist/services/moonraker/dto/octoprint-compat/server-version.dto.js.map +0 -1
  822. package/dist/services/moonraker/dto/printer-query-endstops.dto.js.map +0 -1
  823. package/dist/services/moonraker/dto/process-stats.dto.js.map +0 -1
  824. package/dist/services/moonraker/dto/rest/action-result.dto.js.map +0 -1
  825. package/dist/services/moonraker/dto/rest/error.dto.js.map +0 -1
  826. package/dist/services/moonraker/dto/rollover-logs.dto.js.map +0 -1
  827. package/dist/services/moonraker/dto/rpc/json-rpc-error.dto.js.map +0 -1
  828. package/dist/services/moonraker/dto/rpc/json-rpc-request.dto.js.map +0 -1
  829. package/dist/services/moonraker/dto/rpc/json-rpc-response.dto.js.map +0 -1
  830. package/dist/services/moonraker/dto/server/server-config.dto.js.map +0 -1
  831. package/dist/services/moonraker/dto/server-announcements/announcement-action.dto.js.map +0 -1
  832. package/dist/services/moonraker/dto/server-announcements/announcement-entry-id.dto.js.map +0 -1
  833. package/dist/services/moonraker/dto/server-announcements/announcement-feeds.dto.js.map +0 -1
  834. package/dist/services/moonraker/dto/server-announcements/announcement-list.dto.js.map +0 -1
  835. package/dist/services/moonraker/dto/server-files/server-file-directory-action.dto.js.map +0 -1
  836. package/dist/services/moonraker/dto/server-files/server-file-directory-info.dto.js.map +0 -1
  837. package/dist/services/moonraker/dto/server-files/server-file-metadata.dto.js.map +0 -1
  838. package/dist/services/moonraker/dto/server-files/server-file-root.dto.js.map +0 -1
  839. package/dist/services/moonraker/dto/server-files/server-file-thumbnail.dto.js.map +0 -1
  840. package/dist/services/moonraker/dto/server-files/server-file-zip-action.dto.js.map +0 -1
  841. package/dist/services/moonraker/dto/server-files/server-file.dto.js.map +0 -1
  842. package/dist/services/moonraker/dto/server-history/history-job.dto.js.map +0 -1
  843. package/dist/services/moonraker/dto/server-history/history-last-totals.dto.js.map +0 -1
  844. package/dist/services/moonraker/dto/server-history/history-list.dto.js.map +0 -1
  845. package/dist/services/moonraker/dto/server-history/history-totals.dto.js.map +0 -1
  846. package/dist/services/moonraker/dto/server-sensors/sensor-info.dto.js.map +0 -1
  847. package/dist/services/moonraker/dto/server-sensors/sensor-list.dto.js.map +0 -1
  848. package/dist/services/moonraker/dto/server-sensors/sensor-measurements.dto.js.map +0 -1
  849. package/dist/services/moonraker/dto/server-webcams/webcam-item.dto.js.map +0 -1
  850. package/dist/services/moonraker/dto/server-webcams/webcam-list.dto.js.map +0 -1
  851. package/dist/services/moonraker/dto/server-webcams/webcam-test.dto.js.map +0 -1
  852. package/dist/services/moonraker/dto/spoolman/spoolman-active-spool.dto.js.map +0 -1
  853. package/dist/services/moonraker/dto/spoolman/spoolman-proxy-request.dto.js.map +0 -1
  854. package/dist/services/moonraker/dto/spoolman/spoolman-response.dto.js.map +0 -1
  855. package/dist/services/moonraker/dto/spoolman/spoolman-status.dto.js.map +0 -1
  856. package/dist/services/moonraker/dto/sudo-info.dto.js.map +0 -1
  857. package/dist/services/moonraker/dto/sudo-response.dto.js.map +0 -1
  858. package/dist/services/moonraker/dto/temperature-store.dto.js.map +0 -1
  859. package/dist/services/moonraker/dto/websocket/connection-identify-response.dto.js.map +0 -1
  860. package/dist/services/moonraker/dto/websocket/connection-identify.dto.js.map +0 -1
  861. package/dist/services/moonraker/dto/websocket/json-rpc-event.dto.js.map +0 -1
  862. package/dist/services/moonraker/dto/websocket/message.types.js.map +0 -1
  863. package/dist/services/moonraker/dto/websocket/notify-active-spool-set.params.js.map +0 -1
  864. package/dist/services/moonraker/dto/websocket/notify-agent-event.params.js.map +0 -1
  865. package/dist/services/moonraker/dto/websocket/notify-announcement-update.params.js.map +0 -1
  866. package/dist/services/moonraker/dto/websocket/notify-announcement.params.js.map +0 -1
  867. package/dist/services/moonraker/dto/websocket/notify-button-event.params.js.map +0 -1
  868. package/dist/services/moonraker/dto/websocket/notify-history-changed.params.js.map +0 -1
  869. package/dist/services/moonraker/dto/websocket/notify-job-queue-changed.params.js.map +0 -1
  870. package/dist/services/moonraker/dto/websocket/notify-proc-stat-update.params.js.map +0 -1
  871. package/dist/services/moonraker/dto/websocket/notify-sensor-update.params.js.map +0 -1
  872. package/dist/services/moonraker/dto/websocket/notify-service-state-changed.params.js.map +0 -1
  873. package/dist/services/moonraker/dto/websocket/notify-spoolman-status-changed.js.map +0 -1
  874. package/dist/services/moonraker/dto/websocket/notify-sudo-alert.params.js.map +0 -1
  875. package/dist/services/moonraker/dto/websocket/notify-user-change.params.js.map +0 -1
  876. package/dist/services/octoprint/dto/access/user-list.dto.js.map +0 -1
  877. package/dist/services/octoprint/dto/access/user.dto.js.map +0 -1
  878. package/dist/services/octoprint/dto/auth/current-user.dto.js.map +0 -1
  879. package/dist/services/octoprint/dto/auth/login.dto.js.map +0 -1
  880. package/dist/services/octoprint/dto/connection/connection.dto.js.map +0 -1
  881. package/dist/services/octoprint/dto/events/client-authed.dto.js.map +0 -1
  882. package/dist/services/octoprint/dto/events/client-closed.dto.js.map +0 -1
  883. package/dist/services/octoprint/dto/events/client-opened.dto.js.map +0 -1
  884. package/dist/services/octoprint/dto/events/dwelling.dto.js.map +0 -1
  885. package/dist/services/octoprint/dto/events/file-added.dto.js.map +0 -1
  886. package/dist/services/octoprint/dto/events/file-deselected.dto.js.map +0 -1
  887. package/dist/services/octoprint/dto/events/file-removed.dto.js.map +0 -1
  888. package/dist/services/octoprint/dto/events/folder-added.dto.js.map +0 -1
  889. package/dist/services/octoprint/dto/events/home.dto.js.map +0 -1
  890. package/dist/services/octoprint/dto/events/metadata-analysis-finished.dto.js.map +0 -1
  891. package/dist/services/octoprint/dto/events/metadata-analysis-started.dto.js.map +0 -1
  892. package/dist/services/octoprint/dto/events/metadata-statistics-updated.dto.js.map +0 -1
  893. package/dist/services/octoprint/dto/events/position-update.dto.js.map +0 -1
  894. package/dist/services/octoprint/dto/events/print-cancelled.dto.js.map +0 -1
  895. package/dist/services/octoprint/dto/events/print-cancelling.dto.js.map +0 -1
  896. package/dist/services/octoprint/dto/events/print-done.dto.js.map +0 -1
  897. package/dist/services/octoprint/dto/events/print-failed.dto.js.map +0 -1
  898. package/dist/services/octoprint/dto/events/print-paused.dto.js.map +0 -1
  899. package/dist/services/octoprint/dto/events/print-resumed.dto.js.map +0 -1
  900. package/dist/services/octoprint/dto/events/print-started.dto.js.map +0 -1
  901. package/dist/services/octoprint/dto/events/printer-state-changed.dto.js.map +0 -1
  902. package/dist/services/octoprint/dto/events/transfer-done.dto.js.map +0 -1
  903. package/dist/services/octoprint/dto/events/transfer-started.dto.js.map +0 -1
  904. package/dist/services/octoprint/dto/events/updated-files.dto.js.map +0 -1
  905. package/dist/services/octoprint/dto/events/upload.dto.js.map +0 -1
  906. package/dist/services/octoprint/dto/events/user-logged-in.dto.js.map +0 -1
  907. package/dist/services/octoprint/dto/events/z-change.dto.js.map +0 -1
  908. package/dist/services/octoprint/dto/files/gcode-analysis.dto.js.map +0 -1
  909. package/dist/services/octoprint/dto/files/octoprint-file.dto.js.map +0 -1
  910. package/dist/services/octoprint/dto/files/octoprint-files-response.dto.js.map +0 -1
  911. package/dist/services/octoprint/dto/job/job.dto.js.map +0 -1
  912. package/dist/services/octoprint/dto/printer/busy-file.dto.js.map +0 -1
  913. package/dist/services/octoprint/dto/printer/current-printer-state.dto.js.map +0 -1
  914. package/dist/services/octoprint/dto/printer/flags.dto.js.map +0 -1
  915. package/dist/services/octoprint/dto/printer/markings.dto.js.map +0 -1
  916. package/dist/services/octoprint/dto/printer/progress.dto.js.map +0 -1
  917. package/dist/services/octoprint/dto/printer/resends.dto.js.map +0 -1
  918. package/dist/services/octoprint/dto/printer/state.dto.js.map +0 -1
  919. package/dist/services/octoprint/dto/printer/temps.dto.js.map +0 -1
  920. package/dist/services/octoprint/dto/rest/error.dto.js.map +0 -1
  921. package/dist/services/octoprint/dto/server/server.dto.js.map +0 -1
  922. package/dist/services/octoprint/dto/server/version.dto.js.map +0 -1
  923. package/dist/services/octoprint/dto/settings/serial-settings.dto.js.map +0 -1
  924. package/dist/services/octoprint/dto/settings/settings-parts.type.js.map +0 -1
  925. package/dist/services/octoprint/dto/settings/settings.dto.js.map +0 -1
  926. package/dist/services/octoprint/dto/settings/virtual-printer-settings.dto.js.map +0 -1
  927. package/dist/services/octoprint/dto/websocket/connection-message.dto.js.map +0 -1
  928. package/dist/services/octoprint/dto/websocket/current-message.dto.js.map +0 -1
  929. package/dist/services/octoprint/dto/websocket/event-message.dto.js.map +0 -1
  930. package/dist/services/octoprint/dto/websocket/history-message.dto.js.map +0 -1
  931. package/dist/services/octoprint/dto/websocket/plugin-message.dto.js.map +0 -1
  932. package/dist/services/octoprint/dto/websocket/timelapse-message.dto.js.map +0 -1
  933. package/dist/services/orm/base.interface.js.map +0 -1
  934. package/dist/services/prusa-link/dto/file-response.dto.js.map +0 -1
  935. package/dist/services/prusa-link/dto/file.dto.js.map +0 -1
  936. package/dist/services/prusa-link/dto/job-state.dto.js.map +0 -1
  937. package/dist/services/prusa-link/dto/printer-state.dto.js.map +0 -1
  938. package/dist/services/prusa-link/dto/status.dto.js.map +0 -1
  939. package/dist/services/prusa-link/dto/version.dto.js.map +0 -1
  940. package/dist/services/prusa-link/utils/digest-auth.params.js.map +0 -1
  941. package/dist/services/websocket-adapter.interface.js.map +0 -1
  942. package/dist/shared/dtos/socket-login.dto.js.map +0 -1
  943. package/dist/types/express/index.d.js.map +0 -1
  944. package/dist/utils/parsers/parser.types.js.map +0 -1
@@ -1,172 +1,132 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "HeatshrinkDecoder", {
6
- enumerable: true,
7
- get: function() {
8
- return HeatshrinkDecoder;
9
- }
10
- });
11
- var HSState = /*#__PURE__*/ function(HSState) {
12
- HSState[HSState["TAG_BIT"] = 0] = "TAG_BIT";
13
- HSState[HSState["YIELD_LITERAL"] = 1] = "YIELD_LITERAL";
14
- HSState[HSState["BACKREF_INDEX_MSB"] = 2] = "BACKREF_INDEX_MSB";
15
- HSState[HSState["BACKREF_INDEX_LSB"] = 3] = "BACKREF_INDEX_LSB";
16
- HSState[HSState["BACKREF_COUNT_MSB"] = 4] = "BACKREF_COUNT_MSB";
17
- HSState[HSState["BACKREF_COUNT_LSB"] = 5] = "BACKREF_COUNT_LSB";
18
- HSState[HSState["YIELD_BACKREF"] = 6] = "YIELD_BACKREF";
19
- return HSState;
20
- }(HSState || {});
21
- class HeatshrinkDecoder {
22
- windowBits;
23
- lookaheadBits;
24
- windowSize;
25
- window;
26
- head = 0;
27
- state = 0;
28
- outputIndex = 0;
29
- outputCount = 0;
30
- inputBuffer;
31
- inputIndex = 0;
32
- bitAccumulator = 0;
33
- bitsAvailable = 0;
34
- constructor(windowBits, lookaheadBits){
35
- this.windowBits = windowBits;
36
- this.lookaheadBits = lookaheadBits;
37
- this.windowSize = 1 << windowBits;
38
- this.window = Buffer.alloc(this.windowSize);
39
- this.inputBuffer = Buffer.alloc(0);
40
- }
41
- decompress(input) {
42
- this.inputBuffer = input;
43
- this.inputIndex = 0;
44
- this.bitAccumulator = 0;
45
- this.bitsAvailable = 0;
46
- this.head = 0;
47
- this.state = 0;
48
- const output = [];
49
- while(this.inputIndex < this.inputBuffer.length || this.bitsAvailable > 0){
50
- const result = this.step();
51
- if (result === null) {
52
- break;
53
- }
54
- if (result >= 0) {
55
- output.push(result);
56
- }
57
- }
58
- return Buffer.from(output);
59
- }
60
- step() {
61
- switch(this.state){
62
- case 0:
63
- return this.handleTagBit();
64
- case 1:
65
- return this.handleYieldLiteral();
66
- case 2:
67
- return this.handleBackrefIndexMSB();
68
- case 3:
69
- return this.handleBackrefIndexLSB();
70
- case 4:
71
- return this.handleBackrefCountMSB();
72
- case 5:
73
- return this.handleBackrefCountLSB();
74
- case 6:
75
- return this.handleYieldBackref();
76
- default:
77
- return null;
78
- }
79
- }
80
- readBits(count) {
81
- while(this.bitsAvailable < count && this.inputIndex < this.inputBuffer.length){
82
- this.bitAccumulator = this.bitAccumulator << 8 | this.inputBuffer[this.inputIndex++];
83
- this.bitsAvailable += 8;
84
- }
85
- if (this.bitsAvailable < count) {
86
- return null;
87
- }
88
- this.bitsAvailable -= count;
89
- const result = this.bitAccumulator >> this.bitsAvailable & (1 << count) - 1;
90
- this.bitAccumulator &= (1 << this.bitsAvailable) - 1;
91
- return result;
92
- }
93
- handleTagBit() {
94
- const bit = this.readBits(1);
95
- if (bit === null) return null;
96
- if (bit === 1) {
97
- this.state = 1;
98
- } else {
99
- if (this.windowBits > 8) {
100
- this.state = 2;
101
- } else {
102
- this.outputIndex = 0;
103
- this.state = 3;
104
- }
105
- }
106
- return -1;
107
- }
108
- handleYieldLiteral() {
109
- const byte = this.readBits(8);
110
- if (byte === null) return null;
111
- this.pushByte(byte);
112
- this.state = 0;
113
- return byte;
114
- }
115
- handleBackrefIndexMSB() {
116
- const msb = this.readBits(this.windowBits - 8);
117
- if (msb === null) return null;
118
- this.outputIndex = msb << 8;
119
- this.state = 3;
120
- return -1;
121
- }
122
- handleBackrefIndexLSB() {
123
- const bits = this.windowBits > 8 ? 8 : this.windowBits;
124
- const lsb = this.readBits(bits);
125
- if (lsb === null) return null;
126
- this.outputIndex |= lsb;
127
- this.outputCount = 0;
128
- if (this.lookaheadBits > 8) {
129
- this.state = 4;
130
- } else {
131
- this.state = 5;
132
- }
133
- return -1;
134
- }
135
- handleBackrefCountMSB() {
136
- const msb = this.readBits(this.lookaheadBits - 8);
137
- if (msb === null) return null;
138
- this.outputCount = msb << 8;
139
- this.state = 5;
140
- return -1;
141
- }
142
- handleBackrefCountLSB() {
143
- const bits = this.lookaheadBits > 8 ? 8 : this.lookaheadBits;
144
- const lsb = this.readBits(bits);
145
- if (lsb === null) return null;
146
- this.outputCount |= lsb;
147
- this.outputCount += 1;
148
- this.outputIndex += 1;
149
- this.state = 6;
150
- return -1;
151
- }
152
- handleYieldBackref() {
153
- if (this.outputCount === 0) {
154
- this.state = 0;
155
- return -1;
156
- }
157
- const pos = (this.head - this.outputIndex + this.windowSize) % this.windowSize;
158
- const byte = this.window[pos];
159
- this.pushByte(byte);
160
- this.outputCount--;
161
- if (this.outputCount === 0) {
162
- this.state = 0;
163
- }
164
- return byte;
165
- }
166
- pushByte(byte) {
167
- this.window[this.head] = byte;
168
- this.head = (this.head + 1) % this.windowSize;
169
- }
170
- }
1
+ //#region src/utils/bgcode/heatshrink-decoder.ts
2
+ var HeatshrinkDecoder = class {
3
+ windowBits;
4
+ lookaheadBits;
5
+ windowSize;
6
+ window;
7
+ head = 0;
8
+ state = 0;
9
+ outputIndex = 0;
10
+ outputCount = 0;
11
+ inputBuffer;
12
+ inputIndex = 0;
13
+ bitAccumulator = 0;
14
+ bitsAvailable = 0;
15
+ constructor(windowBits, lookaheadBits) {
16
+ this.windowBits = windowBits;
17
+ this.lookaheadBits = lookaheadBits;
18
+ this.windowSize = 1 << windowBits;
19
+ this.window = Buffer.alloc(this.windowSize);
20
+ this.inputBuffer = Buffer.alloc(0);
21
+ }
22
+ decompress(input) {
23
+ this.inputBuffer = input;
24
+ this.inputIndex = 0;
25
+ this.bitAccumulator = 0;
26
+ this.bitsAvailable = 0;
27
+ this.head = 0;
28
+ this.state = 0;
29
+ const output = [];
30
+ while (this.inputIndex < this.inputBuffer.length || this.bitsAvailable > 0) {
31
+ const result = this.step();
32
+ if (result === null) break;
33
+ if (result >= 0) output.push(result);
34
+ }
35
+ return Buffer.from(output);
36
+ }
37
+ step() {
38
+ switch (this.state) {
39
+ case 0: return this.handleTagBit();
40
+ case 1: return this.handleYieldLiteral();
41
+ case 2: return this.handleBackrefIndexMSB();
42
+ case 3: return this.handleBackrefIndexLSB();
43
+ case 4: return this.handleBackrefCountMSB();
44
+ case 5: return this.handleBackrefCountLSB();
45
+ case 6: return this.handleYieldBackref();
46
+ default: return null;
47
+ }
48
+ }
49
+ readBits(count) {
50
+ while (this.bitsAvailable < count && this.inputIndex < this.inputBuffer.length) {
51
+ this.bitAccumulator = this.bitAccumulator << 8 | this.inputBuffer[this.inputIndex++];
52
+ this.bitsAvailable += 8;
53
+ }
54
+ if (this.bitsAvailable < count) return null;
55
+ this.bitsAvailable -= count;
56
+ const result = this.bitAccumulator >> this.bitsAvailable & (1 << count) - 1;
57
+ this.bitAccumulator &= (1 << this.bitsAvailable) - 1;
58
+ return result;
59
+ }
60
+ handleTagBit() {
61
+ const bit = this.readBits(1);
62
+ if (bit === null) return null;
63
+ if (bit === 1) this.state = 1;
64
+ else if (this.windowBits > 8) this.state = 2;
65
+ else {
66
+ this.outputIndex = 0;
67
+ this.state = 3;
68
+ }
69
+ return -1;
70
+ }
71
+ handleYieldLiteral() {
72
+ const byte = this.readBits(8);
73
+ if (byte === null) return null;
74
+ this.pushByte(byte);
75
+ this.state = 0;
76
+ return byte;
77
+ }
78
+ handleBackrefIndexMSB() {
79
+ const msb = this.readBits(this.windowBits - 8);
80
+ if (msb === null) return null;
81
+ this.outputIndex = msb << 8;
82
+ this.state = 3;
83
+ return -1;
84
+ }
85
+ handleBackrefIndexLSB() {
86
+ const bits = this.windowBits > 8 ? 8 : this.windowBits;
87
+ const lsb = this.readBits(bits);
88
+ if (lsb === null) return null;
89
+ this.outputIndex |= lsb;
90
+ this.outputCount = 0;
91
+ if (this.lookaheadBits > 8) this.state = 4;
92
+ else this.state = 5;
93
+ return -1;
94
+ }
95
+ handleBackrefCountMSB() {
96
+ const msb = this.readBits(this.lookaheadBits - 8);
97
+ if (msb === null) return null;
98
+ this.outputCount = msb << 8;
99
+ this.state = 5;
100
+ return -1;
101
+ }
102
+ handleBackrefCountLSB() {
103
+ const bits = this.lookaheadBits > 8 ? 8 : this.lookaheadBits;
104
+ const lsb = this.readBits(bits);
105
+ if (lsb === null) return null;
106
+ this.outputCount |= lsb;
107
+ this.outputCount += 1;
108
+ this.outputIndex += 1;
109
+ this.state = 6;
110
+ return -1;
111
+ }
112
+ handleYieldBackref() {
113
+ if (this.outputCount === 0) {
114
+ this.state = 0;
115
+ return -1;
116
+ }
117
+ const pos = (this.head - this.outputIndex + this.windowSize) % this.windowSize;
118
+ const byte = this.window[pos];
119
+ this.pushByte(byte);
120
+ this.outputCount--;
121
+ if (this.outputCount === 0) this.state = 0;
122
+ return byte;
123
+ }
124
+ pushByte(byte) {
125
+ this.window[this.head] = byte;
126
+ this.head = (this.head + 1) % this.windowSize;
127
+ }
128
+ };
129
+ //#endregion
130
+ export { HeatshrinkDecoder };
171
131
 
172
132
  //# sourceMappingURL=heatshrink-decoder.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/bgcode/heatshrink-decoder.ts"],"names":["HeatshrinkDecoder","HSState","windowBits","lookaheadBits","windowSize","window","head","state","outputIndex","outputCount","inputBuffer","inputIndex","bitAccumulator","bitsAvailable","Buffer","alloc","decompress","input","output","length","result","step","push","from","handleTagBit","handleYieldLiteral","handleBackrefIndexMSB","handleBackrefIndexLSB","handleBackrefCountMSB","handleBackrefCountLSB","handleYieldBackref","readBits","count","bit","byte","pushByte","msb","bits","lsb","pos"],"mappings":"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"}
1
+ {"version":3,"file":"heatshrink-decoder.js","names":[],"sources":["../../../src/utils/bgcode/heatshrink-decoder.ts"],"sourcesContent":["/**\n * Heatshrink LZSS decompressor implementation\n * Based on the Heatshrink compression library by Scott Vokes\n * https://github.com/atomicobject/heatshrink\n */\n\nenum HSState {\n TAG_BIT,\n YIELD_LITERAL,\n BACKREF_INDEX_MSB,\n BACKREF_INDEX_LSB,\n BACKREF_COUNT_MSB,\n BACKREF_COUNT_LSB,\n YIELD_BACKREF,\n}\n\nexport class HeatshrinkDecoder {\n private readonly windowBits: number;\n private readonly lookaheadBits: number;\n private readonly windowSize: number;\n\n private readonly window: Buffer;\n private head: number = 0;\n private state: HSState = HSState.TAG_BIT;\n\n private outputIndex: number = 0;\n private outputCount: number = 0;\n\n private inputBuffer: Buffer;\n private inputIndex: number = 0;\n private bitAccumulator: number = 0;\n private bitsAvailable: number = 0;\n\n constructor(windowBits: number, lookaheadBits: number) {\n this.windowBits = windowBits;\n this.lookaheadBits = lookaheadBits;\n this.windowSize = 1 << windowBits; // 2^windowBits\n\n this.window = Buffer.alloc(this.windowSize);\n this.inputBuffer = Buffer.alloc(0);\n }\n\n decompress(input: Buffer): Buffer {\n this.inputBuffer = input;\n this.inputIndex = 0;\n this.bitAccumulator = 0;\n this.bitsAvailable = 0;\n this.head = 0;\n this.state = HSState.TAG_BIT;\n\n const output: number[] = [];\n\n while (this.inputIndex < this.inputBuffer.length || this.bitsAvailable > 0) {\n const result = this.step();\n if (result === null) {\n break; // No more data\n }\n if (result >= 0) {\n output.push(result);\n }\n }\n\n return Buffer.from(output);\n }\n\n private step(): number | null {\n switch (this.state) {\n case HSState.TAG_BIT:\n return this.handleTagBit();\n case HSState.YIELD_LITERAL:\n return this.handleYieldLiteral();\n case HSState.BACKREF_INDEX_MSB:\n return this.handleBackrefIndexMSB();\n case HSState.BACKREF_INDEX_LSB:\n return this.handleBackrefIndexLSB();\n case HSState.BACKREF_COUNT_MSB:\n return this.handleBackrefCountMSB();\n case HSState.BACKREF_COUNT_LSB:\n return this.handleBackrefCountLSB();\n case HSState.YIELD_BACKREF:\n return this.handleYieldBackref();\n default:\n return null;\n }\n }\n\n private readBits(count: number): number | null {\n // Fill accumulator if needed\n while (this.bitsAvailable < count && this.inputIndex < this.inputBuffer.length) {\n this.bitAccumulator = (this.bitAccumulator << 8) | this.inputBuffer[this.inputIndex++];\n this.bitsAvailable += 8;\n }\n\n if (this.bitsAvailable < count) {\n return null; // Not enough bits\n }\n\n // Extract the requested bits\n this.bitsAvailable -= count;\n const result = (this.bitAccumulator >> this.bitsAvailable) & ((1 << count) - 1);\n this.bitAccumulator &= (1 << this.bitsAvailable) - 1;\n\n return result;\n }\n\n private handleTagBit(): number | null {\n const bit = this.readBits(1);\n if (bit === null) return null;\n\n if (bit === 1) {\n // Literal byte\n this.state = HSState.YIELD_LITERAL;\n } else {\n // Backref\n if (this.windowBits > 8) {\n this.state = HSState.BACKREF_INDEX_MSB;\n } else {\n this.outputIndex = 0;\n this.state = HSState.BACKREF_INDEX_LSB;\n }\n }\n return -1; // No output yet\n }\n\n private handleYieldLiteral(): number | null {\n const byte = this.readBits(8);\n if (byte === null) return null;\n\n this.pushByte(byte);\n this.state = HSState.TAG_BIT;\n return byte;\n }\n\n private handleBackrefIndexMSB(): number | null {\n const msb = this.readBits(this.windowBits - 8);\n if (msb === null) return null;\n\n this.outputIndex = msb << 8;\n this.state = HSState.BACKREF_INDEX_LSB;\n return -1;\n }\n\n private handleBackrefIndexLSB(): number | null {\n const bits = this.windowBits > 8 ? 8 : this.windowBits;\n const lsb = this.readBits(bits);\n if (lsb === null) return null;\n\n this.outputIndex |= lsb;\n this.outputCount = 0;\n\n if (this.lookaheadBits > 8) {\n this.state = HSState.BACKREF_COUNT_MSB;\n } else {\n this.state = HSState.BACKREF_COUNT_LSB;\n }\n return -1;\n }\n\n private handleBackrefCountMSB(): number | null {\n const msb = this.readBits(this.lookaheadBits - 8);\n if (msb === null) return null;\n\n this.outputCount = msb << 8;\n this.state = HSState.BACKREF_COUNT_LSB;\n return -1;\n }\n\n private handleBackrefCountLSB(): number | null {\n const bits = this.lookaheadBits > 8 ? 8 : this.lookaheadBits;\n const lsb = this.readBits(bits);\n if (lsb === null) return null;\n\n this.outputCount |= lsb;\n this.outputCount += 1; // Count is stored as length-1\n this.outputIndex += 1; // Index is stored as (actual_index - 1)\n\n this.state = HSState.YIELD_BACKREF;\n return -1;\n }\n\n private handleYieldBackref(): number | null {\n if (this.outputCount === 0) {\n this.state = HSState.TAG_BIT;\n return -1;\n }\n\n // Calculate the position in the window\n const pos = (this.head - this.outputIndex + this.windowSize) % this.windowSize;\n const byte = this.window[pos];\n\n this.pushByte(byte);\n this.outputCount--;\n\n if (this.outputCount === 0) {\n this.state = HSState.TAG_BIT;\n }\n\n return byte;\n }\n\n private pushByte(byte: number): void {\n this.window[this.head] = byte;\n this.head = (this.head + 1) % this.windowSize;\n }\n}\n"],"mappings":"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"}
@@ -1,76 +1,63 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "encodePNG", {
6
- enumerable: true,
7
- get: function() {
8
- return encodePNG;
9
- }
10
- });
11
- const _nodezlib = require("node:zlib");
1
+ import { deflateSync } from "node:zlib";
2
+ //#region src/utils/bgcode/png-encoder.ts
12
3
  const PNG_SIGNATURE = Buffer.from([
13
- 0x89,
14
- 0x50,
15
- 0x4E,
16
- 0x47,
17
- 0x0D,
18
- 0x0A,
19
- 0x1A,
20
- 0x0A
4
+ 137,
5
+ 80,
6
+ 78,
7
+ 71,
8
+ 13,
9
+ 10,
10
+ 26,
11
+ 10
21
12
  ]);
22
13
  function crc32(buffer) {
23
- let crc = 0xffffffff;
24
- for(let i = 0; i < buffer.length; i++){
25
- crc ^= buffer[i];
26
- for(let j = 0; j < 8; j++){
27
- crc = crc >>> 1 ^ 0xedb88320 & -(crc & 1);
28
- }
29
- }
30
- return (crc ^ 0xffffffff) >>> 0;
14
+ let crc = 4294967295;
15
+ for (const element of buffer) {
16
+ crc ^= element;
17
+ for (let j = 0; j < 8; j++) crc = crc >>> 1 ^ 3988292384 & -(crc & 1);
18
+ }
19
+ return (crc ^ 4294967295) >>> 0;
31
20
  }
32
21
  function writeChunk(type, data) {
33
- const typeBuffer = Buffer.from(type, 'ascii');
34
- const length = Buffer.alloc(4);
35
- length.writeUInt32BE(data.length, 0);
36
- const crcBuffer = Buffer.concat([
37
- typeBuffer,
38
- data
39
- ]);
40
- const crc = Buffer.alloc(4);
41
- crc.writeUInt32BE(crc32(crcBuffer), 0);
42
- return Buffer.concat([
43
- length,
44
- typeBuffer,
45
- data,
46
- crc
47
- ]);
22
+ const typeBuffer = Buffer.from(type, "ascii");
23
+ const length = Buffer.alloc(4);
24
+ length.writeUInt32BE(data.length, 0);
25
+ const crcBuffer = Buffer.concat([typeBuffer, data]);
26
+ const crc = Buffer.alloc(4);
27
+ crc.writeUInt32BE(crc32(crcBuffer), 0);
28
+ return Buffer.concat([
29
+ length,
30
+ typeBuffer,
31
+ data,
32
+ crc
33
+ ]);
48
34
  }
49
35
  function encodePNG(width, height, rgba) {
50
- const ihdr = Buffer.alloc(13);
51
- ihdr.writeUInt32BE(width, 0);
52
- ihdr.writeUInt32BE(height, 4);
53
- ihdr.writeUInt8(8, 8);
54
- ihdr.writeUInt8(6, 9);
55
- ihdr.writeUInt8(0, 10);
56
- ihdr.writeUInt8(0, 11);
57
- ihdr.writeUInt8(0, 12);
58
- const bytesPerPixel = 4;
59
- const scanlineLength = width * bytesPerPixel;
60
- const filteredData = Buffer.alloc(height * (scanlineLength + 1));
61
- for(let y = 0; y < height; y++){
62
- const scanlineOffset = y * (scanlineLength + 1);
63
- filteredData[scanlineOffset] = 0;
64
- rgba.copy(filteredData, scanlineOffset + 1, y * scanlineLength, (y + 1) * scanlineLength);
65
- }
66
- const compressed = (0, _nodezlib.deflateSync)(filteredData);
67
- const chunks = [
68
- PNG_SIGNATURE,
69
- writeChunk('IHDR', ihdr),
70
- writeChunk('IDAT', compressed),
71
- writeChunk('IEND', Buffer.alloc(0))
72
- ];
73
- return Buffer.concat(chunks);
36
+ const ihdr = Buffer.alloc(13);
37
+ ihdr.writeUInt32BE(width, 0);
38
+ ihdr.writeUInt32BE(height, 4);
39
+ ihdr.writeUInt8(8, 8);
40
+ ihdr.writeUInt8(6, 9);
41
+ ihdr.writeUInt8(0, 10);
42
+ ihdr.writeUInt8(0, 11);
43
+ ihdr.writeUInt8(0, 12);
44
+ const scanlineLength = width * 4;
45
+ const filteredData = Buffer.alloc(height * (scanlineLength + 1));
46
+ for (let y = 0; y < height; y++) {
47
+ const scanlineOffset = y * (scanlineLength + 1);
48
+ filteredData[scanlineOffset] = 0;
49
+ rgba.copy(filteredData, scanlineOffset + 1, y * scanlineLength, (y + 1) * scanlineLength);
50
+ }
51
+ const compressed = deflateSync(filteredData);
52
+ const chunks = [
53
+ PNG_SIGNATURE,
54
+ writeChunk("IHDR", ihdr),
55
+ writeChunk("IDAT", compressed),
56
+ writeChunk("IEND", Buffer.alloc(0))
57
+ ];
58
+ return Buffer.concat(chunks);
74
59
  }
60
+ //#endregion
61
+ export { encodePNG };
75
62
 
76
63
  //# sourceMappingURL=png-encoder.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/bgcode/png-encoder.ts"],"names":["encodePNG","PNG_SIGNATURE","Buffer","from","crc32","buffer","crc","i","length","j","writeChunk","type","data","typeBuffer","alloc","writeUInt32BE","crcBuffer","concat","width","height","rgba","ihdr","writeUInt8","bytesPerPixel","scanlineLength","filteredData","y","scanlineOffset","copy","compressed","deflateSync","chunks"],"mappings":";;;;+BAiCgBA;;;eAAAA;;;0BA5BY;AAE5B,MAAMC,gBAAgBC,OAAOC,IAAI,CAAC;IAAC;IAAM;IAAM;IAAM;IAAM;IAAM;IAAM;IAAM;CAAK;AAElF,SAASC,MAAMC,MAAc;IAE3B,IAAIC,MAAM;IACV,IAAK,IAAIC,IAAI,GAAGA,IAAIF,OAAOG,MAAM,EAAED,IAAK;QACtCD,OAAOD,MAAM,CAACE,EAAE;QAChB,IAAK,IAAIE,IAAI,GAAGA,IAAI,GAAGA,IAAK;YAC1BH,MAAM,AAACA,QAAQ,IAAM,aAAa,CAAEA,CAAAA,MAAM,CAAA;QAC5C;IACF;IACA,OAAO,AAACA,CAAAA,MAAM,UAAS,MAAO;AAChC;AAEA,SAASI,WAAWC,IAAY,EAAEC,IAAY;IAC5C,MAAMC,aAAaX,OAAOC,IAAI,CAACQ,MAAM;IACrC,MAAMH,SAASN,OAAOY,KAAK,CAAC;IAC5BN,OAAOO,aAAa,CAACH,KAAKJ,MAAM,EAAE;IAElC,MAAMQ,YAAYd,OAAOe,MAAM,CAAC;QAACJ;QAAYD;KAAK;IAClD,MAAMN,MAAMJ,OAAOY,KAAK,CAAC;IACzBR,IAAIS,aAAa,CAACX,MAAMY,YAAY;IAEpC,OAAOd,OAAOe,MAAM,CAAC;QAACT;QAAQK;QAAYD;QAAMN;KAAI;AACtD;AAEO,SAASN,UAAUkB,KAAa,EAAEC,MAAc,EAAEC,IAAY;IACnE,MAAMC,OAAOnB,OAAOY,KAAK,CAAC;IAC1BO,KAAKN,aAAa,CAACG,OAAO;IAC1BG,KAAKN,aAAa,CAACI,QAAQ;IAC3BE,KAAKC,UAAU,CAAC,GAAG;IACnBD,KAAKC,UAAU,CAAC,GAAG;IACnBD,KAAKC,UAAU,CAAC,GAAG;IACnBD,KAAKC,UAAU,CAAC,GAAG;IACnBD,KAAKC,UAAU,CAAC,GAAG;IAGnB,MAAMC,gBAAgB;IACtB,MAAMC,iBAAiBN,QAAQK;IAC/B,MAAME,eAAevB,OAAOY,KAAK,CAACK,SAAUK,CAAAA,iBAAiB,CAAA;IAE7D,IAAK,IAAIE,IAAI,GAAGA,IAAIP,QAAQO,IAAK;QAC/B,MAAMC,iBAAiBD,IAAKF,CAAAA,iBAAiB,CAAA;QAC7CC,YAAY,CAACE,eAAe,GAAG;QAC/BP,KAAKQ,IAAI,CAACH,cAAcE,iBAAiB,GAAGD,IAAIF,gBAAgB,AAACE,CAAAA,IAAI,CAAA,IAAKF;IAC5E;IAGA,MAAMK,aAAaC,IAAAA,qBAAW,EAACL;IAG/B,MAAMM,SAAS;QACb9B;QACAS,WAAW,QAAQW;QACnBX,WAAW,QAAQmB;QACnBnB,WAAW,QAAQR,OAAOY,KAAK,CAAC;KACjC;IAED,OAAOZ,OAAOe,MAAM,CAACc;AACvB"}
1
+ {"version":3,"file":"png-encoder.js","names":[],"sources":["../../../src/utils/bgcode/png-encoder.ts"],"sourcesContent":["import { deflateSync } from \"node:zlib\";\n\nconst PNG_SIGNATURE = Buffer.from([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n\nfunction crc32(buffer: Buffer): number {\n let crc = 0xffffffff;\n for (const element of buffer) {\n crc ^= element;\n for (let j = 0; j < 8; j++) {\n crc = (crc >>> 1) ^ (0xedb88320 & -(crc & 1));\n }\n }\n return (crc ^ 0xffffffff) >>> 0;\n}\n\nfunction writeChunk(type: string, data: Buffer): Buffer {\n const typeBuffer = Buffer.from(type, \"ascii\");\n const length = Buffer.alloc(4);\n length.writeUInt32BE(data.length, 0);\n\n const crcBuffer = Buffer.concat([typeBuffer, data]);\n const crc = Buffer.alloc(4);\n crc.writeUInt32BE(crc32(crcBuffer), 0);\n\n return Buffer.concat([length, typeBuffer, data, crc]);\n}\n\nexport function encodePNG(width: number, height: number, rgba: Buffer): Buffer {\n const ihdr = Buffer.alloc(13);\n ihdr.writeUInt32BE(width, 0);\n ihdr.writeUInt32BE(height, 4);\n ihdr.writeUInt8(8, 8); // bit depth\n ihdr.writeUInt8(6, 9); // color type (6 = RGBA)\n ihdr.writeUInt8(0, 10); // compression method\n ihdr.writeUInt8(0, 11); // filter method\n ihdr.writeUInt8(0, 12); // interlace method\n\n // Prepare image data with filter bytes (0 = no filter for each scanline)\n const bytesPerPixel = 4;\n const scanlineLength = width * bytesPerPixel;\n const filteredData = Buffer.alloc(height * (scanlineLength + 1));\n\n for (let y = 0; y < height; y++) {\n const scanlineOffset = y * (scanlineLength + 1);\n filteredData[scanlineOffset] = 0; // Filter type: None\n rgba.copy(filteredData, scanlineOffset + 1, y * scanlineLength, (y + 1) * scanlineLength);\n }\n\n const compressed = deflateSync(filteredData);\n const chunks = [\n PNG_SIGNATURE,\n writeChunk(\"IHDR\", ihdr),\n writeChunk(\"IDAT\", compressed),\n writeChunk(\"IEND\", Buffer.alloc(0)),\n ];\n\n return Buffer.concat(chunks);\n}\n"],"mappings":";;AAEA,MAAM,gBAAgB,OAAO,KAAK;CAAC;CAAM;CAAM;CAAM;CAAM;CAAM;CAAM;CAAM;CAAK,CAAC;AAEnF,SAAS,MAAM,QAAwB;CACrC,IAAI,MAAM;AACV,MAAK,MAAM,WAAW,QAAQ;AAC5B,SAAO;AACP,OAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IACrB,OAAO,QAAQ,IAAM,aAAa,EAAE,MAAM;;AAG9C,SAAQ,MAAM,gBAAgB;;AAGhC,SAAS,WAAW,MAAc,MAAsB;CACtD,MAAM,aAAa,OAAO,KAAK,MAAM,QAAQ;CAC7C,MAAM,SAAS,OAAO,MAAM,EAAE;AAC9B,QAAO,cAAc,KAAK,QAAQ,EAAE;CAEpC,MAAM,YAAY,OAAO,OAAO,CAAC,YAAY,KAAK,CAAC;CACnD,MAAM,MAAM,OAAO,MAAM,EAAE;AAC3B,KAAI,cAAc,MAAM,UAAU,EAAE,EAAE;AAEtC,QAAO,OAAO,OAAO;EAAC;EAAQ;EAAY;EAAM;EAAI,CAAC;;AAGvD,SAAgB,UAAU,OAAe,QAAgB,MAAsB;CAC7E,MAAM,OAAO,OAAO,MAAM,GAAG;AAC7B,MAAK,cAAc,OAAO,EAAE;AAC5B,MAAK,cAAc,QAAQ,EAAE;AAC7B,MAAK,WAAW,GAAG,EAAE;AACrB,MAAK,WAAW,GAAG,EAAE;AACrB,MAAK,WAAW,GAAG,GAAG;AACtB,MAAK,WAAW,GAAG,GAAG;AACtB,MAAK,WAAW,GAAG,GAAG;CAItB,MAAM,iBAAiB,QAAQ;CAC/B,MAAM,eAAe,OAAO,MAAM,UAAU,iBAAiB,GAAG;AAEhE,MAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,KAAK;EAC/B,MAAM,iBAAiB,KAAK,iBAAiB;AAC7C,eAAa,kBAAkB;AAC/B,OAAK,KAAK,cAAc,iBAAiB,GAAG,IAAI,iBAAiB,IAAI,KAAK,eAAe;;CAG3F,MAAM,aAAa,YAAY,aAAa;CAC5C,MAAM,SAAS;EACb;EACA,WAAW,QAAQ,KAAK;EACxB,WAAW,QAAQ,WAAW;EAC9B,WAAW,QAAQ,OAAO,MAAM,EAAE,CAAC;EACpC;AAED,QAAO,OAAO,OAAO,OAAO"}