@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.
- package/.claude/CLAUDE.md +76 -0
- package/.vite-hooks/pre-commit +1 -0
- package/.yarn/install-state.gz +0 -0
- package/.yarn/releases/yarn-4.13.0.cjs +940 -0
- package/.yarnrc.yml +1 -1
- package/README.md +1 -1
- package/RELEASE_NOTES.MD +14 -0
- package/dist/_virtual/_@oxc-project_runtime@0.127.0/helpers/decorate.js +9 -0
- package/dist/_virtual/_@oxc-project_runtime@0.127.0/helpers/decorateMetadata.js +6 -0
- package/dist/_virtual/_rolldown/runtime.js +13 -0
- package/dist/_virtual/_virtual_controllers.js +43 -0
- package/dist/consoles/typeorm-create.js +51 -112
- package/dist/consoles/typeorm-create.js.map +1 -1
- package/dist/consoles/typeorm-generate.js +99 -165
- package/dist/consoles/typeorm-generate.js.map +1 -1
- package/dist/consoles/typeorm-migrate.js +35 -43
- package/dist/consoles/typeorm-migrate.js.map +1 -1
- package/dist/constants/authorization.constants.js +75 -97
- package/dist/constants/authorization.constants.js.map +1 -1
- package/dist/constants/event.constants.js +11 -41
- package/dist/constants/event.constants.js.map +1 -1
- package/dist/constants/http-status-codes.constants.js +319 -71
- package/dist/constants/http-status-codes.constants.js.map +1 -1
- package/dist/constants/server-settings.constants.js +45 -87
- package/dist/constants/server-settings.constants.js.map +1 -1
- package/dist/constants/service.constants.js +3 -21
- package/dist/constants/service.constants.js.map +1 -1
- package/dist/container.js +167 -181
- package/dist/container.js.map +1 -1
- package/dist/container.tokens.js +78 -85
- package/dist/container.tokens.js.map +1 -1
- package/dist/controllers/auth.controller.js +156 -225
- package/dist/controllers/auth.controller.js.map +1 -1
- package/dist/controllers/batch-call.controller.js +79 -116
- package/dist/controllers/batch-call.controller.js.map +1 -1
- package/dist/controllers/camera-stream.controller.js +74 -119
- package/dist/controllers/camera-stream.controller.js.map +1 -1
- package/dist/controllers/dto/update-client-dist.dto.js +8 -15
- package/dist/controllers/dto/update-client-dist.dto.js.map +1 -1
- package/dist/controllers/file-storage.controller.js +251 -312
- package/dist/controllers/file-storage.controller.js.map +1 -1
- package/dist/controllers/first-time-setup.controller.js +83 -135
- package/dist/controllers/first-time-setup.controller.js.map +1 -1
- package/dist/controllers/floor.controller.js +111 -175
- package/dist/controllers/floor.controller.js.map +1 -1
- package/dist/controllers/metrics.controller.js +27 -53
- package/dist/controllers/metrics.controller.js.map +1 -1
- package/dist/controllers/print-job.controller.js +366 -451
- package/dist/controllers/print-job.controller.js.map +1 -1
- package/dist/controllers/print-queue.controller.js +329 -427
- package/dist/controllers/print-queue.controller.js.map +1 -1
- package/dist/controllers/printer-files.controller.js +244 -305
- package/dist/controllers/printer-files.controller.js.map +1 -1
- package/dist/controllers/printer-maintenance-log.controller.js +109 -165
- package/dist/controllers/printer-maintenance-log.controller.js.map +1 -1
- package/dist/controllers/printer-settings.controller.js +50 -81
- package/dist/controllers/printer-settings.controller.js.map +1 -1
- package/dist/controllers/printer-tag.controller.js +104 -166
- package/dist/controllers/printer-tag.controller.js.map +1 -1
- package/dist/controllers/printer.controller.js +352 -469
- package/dist/controllers/printer.controller.js.map +1 -1
- package/dist/controllers/server-private.controller.js +182 -239
- package/dist/controllers/server-private.controller.js.map +1 -1
- package/dist/controllers/server-public.controller.js +104 -158
- package/dist/controllers/server-public.controller.js.map +1 -1
- package/dist/controllers/settings.controller.js +229 -364
- package/dist/controllers/settings.controller.js.map +1 -1
- package/dist/controllers/slicer-compat.controller.js +179 -206
- package/dist/controllers/slicer-compat.controller.js.map +1 -1
- package/dist/controllers/user.controller.js +226 -348
- package/dist/controllers/user.controller.js.map +1 -1
- package/dist/controllers/validation/auth-controller.validation.js +5 -14
- package/dist/controllers/validation/auth-controller.validation.js.map +1 -1
- package/dist/controllers/validation/batch-controller.validation.js +13 -35
- package/dist/controllers/validation/batch-controller.validation.js.map +1 -1
- package/dist/controllers/validation/generic.validation.js +6 -23
- package/dist/controllers/validation/generic.validation.js.map +1 -1
- package/dist/controllers/validation/printer-completion-controller.validation.js +5 -14
- package/dist/controllers/validation/printer-completion-controller.validation.js.map +1 -1
- package/dist/controllers/validation/printer-controller.validation.js +16 -48
- package/dist/controllers/validation/printer-controller.validation.js.map +1 -1
- package/dist/controllers/validation/printer-files-controller.validation.js +12 -47
- package/dist/controllers/validation/printer-files-controller.validation.js.map +1 -1
- package/dist/controllers/validation/printer-settings-controller.validation.js +5 -14
- package/dist/controllers/validation/printer-settings-controller.validation.js.map +1 -1
- package/dist/controllers/validation/server-private.validation.js +7 -14
- package/dist/controllers/validation/server-private.validation.js.map +1 -1
- package/dist/controllers/validation/setting.validation.js +12 -34
- package/dist/controllers/validation/setting.validation.js.map +1 -1
- package/dist/controllers/validation/user-controller.validation.js +27 -65
- package/dist/controllers/validation/user-controller.validation.js.map +1 -1
- package/dist/data-source.js +74 -79
- package/dist/data-source.js.map +1 -1
- package/dist/entities/camera-stream.entity.js +49 -91
- package/dist/entities/camera-stream.entity.js.map +1 -1
- package/dist/entities/floor-position.entity.js +38 -75
- package/dist/entities/floor-position.entity.js.map +1 -1
- package/dist/entities/floor.entity.js +18 -48
- package/dist/entities/floor.entity.js.map +1 -1
- package/dist/entities/index.js +14 -66
- package/dist/entities/print-job.entity.js +114 -196
- package/dist/entities/print-job.entity.js.map +1 -1
- package/dist/entities/printer-maintenance-log.entity.js +61 -140
- package/dist/entities/printer-maintenance-log.entity.js.map +1 -1
- package/dist/entities/printer-tag.entity.js +33 -66
- package/dist/entities/printer-tag.entity.js.map +1 -1
- package/dist/entities/printer.entity.js +67 -124
- package/dist/entities/printer.entity.js.map +1 -1
- package/dist/entities/refresh-token.entity.js +31 -66
- package/dist/entities/refresh-token.entity.js.map +1 -1
- package/dist/entities/role.entity.js +16 -45
- package/dist/entities/role.entity.js.map +1 -1
- package/dist/entities/settings.entity.js +38 -77
- package/dist/entities/settings.entity.js.map +1 -1
- package/dist/entities/tag.entity.js +19 -43
- package/dist/entities/tag.entity.js.map +1 -1
- package/dist/entities/user-role.entity.js +30 -67
- package/dist/entities/user-role.entity.js.map +1 -1
- package/dist/entities/user.entity.js +32 -87
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/exceptions/failed-dependency.exception.js +11 -18
- package/dist/exceptions/failed-dependency.exception.js.map +1 -1
- package/dist/exceptions/job.exceptions.js +9 -16
- package/dist/exceptions/job.exceptions.js.map +1 -1
- package/dist/exceptions/runtime.exceptions.js +82 -121
- package/dist/exceptions/runtime.exceptions.js.map +1 -1
- package/dist/handlers/event-emitter.js +13 -20
- package/dist/handlers/event-emitter.js.map +1 -1
- package/dist/handlers/logger-factory.js +7 -14
- package/dist/handlers/logger-factory.js.map +1 -1
- package/dist/handlers/logger.js +26 -36
- package/dist/handlers/logger.js.map +1 -1
- package/dist/handlers/logging/file-logging.transport.js +17 -31
- package/dist/handlers/logging/file-logging.transport.js.map +1 -1
- package/dist/handlers/logging/loki-logging.transport.js +34 -50
- package/dist/handlers/logging/loki-logging.transport.js.map +1 -1
- package/dist/handlers/logging/static.logger.js +83 -124
- package/dist/handlers/logging/static.logger.js.map +1 -1
- package/dist/handlers/validators.js +8 -25
- package/dist/handlers/validators.js.map +1 -1
- package/dist/index.js +23 -26
- package/dist/index.js.map +1 -1
- package/dist/middleware/authenticate.js +26 -69
- package/dist/middleware/authenticate.js.map +1 -1
- package/dist/middleware/database.js +16 -22
- package/dist/middleware/database.js.map +1 -1
- package/dist/middleware/demo.middleware.js +19 -27
- package/dist/middleware/demo.middleware.js.map +1 -1
- package/dist/middleware/exception.filter.js +109 -133
- package/dist/middleware/exception.filter.js.map +1 -1
- package/dist/middleware/global.middleware.js +28 -47
- package/dist/middleware/global.middleware.js.map +1 -1
- package/dist/middleware/param-converter.middleware.js +31 -69
- package/dist/middleware/param-converter.middleware.js.map +1 -1
- package/dist/middleware/passport.js +38 -64
- package/dist/middleware/passport.js.map +1 -1
- package/dist/middleware/printer-resolver.js +26 -33
- package/dist/middleware/printer-resolver.js.map +1 -1
- package/dist/middleware/printer.js +56 -94
- package/dist/middleware/printer.js.map +1 -1
- package/dist/middleware/slicer-api-key.middleware.js +23 -26
- package/dist/middleware/slicer-api-key.middleware.js.map +1 -1
- package/dist/middleware/socketio.middleware.js +21 -32
- package/dist/middleware/socketio.middleware.js.map +1 -1
- package/dist/migrations/1706829146617-InitSqlite.js +84 -91
- package/dist/migrations/1706829146617-InitSqlite.js.map +1 -1
- package/dist/migrations/1707494762198-PrinterGroup.js +22 -29
- package/dist/migrations/1707494762198-PrinterGroup.js.map +1 -1
- package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js +26 -33
- package/dist/migrations/1708465930665-ChangePrintCompletionDeletePrinterCascade.js.map +1 -1
- package/dist/migrations/1713300747465-ChangeRoleNameUnique.js +27 -34
- package/dist/migrations/1713300747465-ChangeRoleNameUnique.js.map +1 -1
- package/dist/migrations/1713897879622-AddPrinterType.js +34 -41
- package/dist/migrations/1713897879622-AddPrinterType.js.map +1 -1
- package/dist/migrations/1720338804844-RemovePrinterFile.js +12 -19
- package/dist/migrations/1720338804844-RemovePrinterFile.js.map +1 -1
- package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js +26 -33
- package/dist/migrations/1745141688926-AddPrinterUsernamePassword.js.map +1 -1
- package/dist/migrations/1766576698569-DropPermissions.js +11 -18
- package/dist/migrations/1766576698569-DropPermissions.js.map +1 -1
- package/dist/migrations/1767278216516-ChangeCameraPrinterOnDeleteSetNull.js +26 -33
- package/dist/migrations/1767278216516-ChangeCameraPrinterOnDeleteSetNull.js.map +1 -1
- package/dist/migrations/1767279607392-DropCustomGcode.js +12 -19
- package/dist/migrations/1767279607392-DropCustomGcode.js.map +1 -1
- package/dist/migrations/1767291804417-DropPrintCompletions.js +12 -19
- package/dist/migrations/1767291804417-DropPrintCompletions.js.map +1 -1
- package/dist/migrations/1767352862576-DropSettingsFileClean.js +18 -25
- package/dist/migrations/1767352862576-DropSettingsFileClean.js.map +1 -1
- package/dist/migrations/1767355639023-ChangeFloorLevelToOrder.js +26 -33
- package/dist/migrations/1767355639023-ChangeFloorLevelToOrder.js.map +1 -1
- package/dist/migrations/1767370191762-ChangeFloorNonUniqueOrder.js +18 -25
- package/dist/migrations/1767370191762-ChangeFloorNonUniqueOrder.js.map +1 -1
- package/dist/migrations/1767432108916-RenameGroupToTag.js +22 -29
- package/dist/migrations/1767432108916-RenameGroupToTag.js.map +1 -1
- package/dist/migrations/1767451444137-AddPrintJob.js +20 -27
- package/dist/migrations/1767451444137-AddPrintJob.js.map +1 -1
- package/dist/migrations/1767909428129-AddPrinterMaintenanceLog.js +14 -21
- package/dist/migrations/1767909428129-AddPrinterMaintenanceLog.js.map +1 -1
- package/dist/plugins/controllers-plugin.js +21 -0
- package/dist/plugins/controllers-plugin.js.map +1 -0
- package/dist/server.constants.js +79 -91
- package/dist/server.constants.js.map +1 -1
- package/dist/server.core.js +56 -122
- package/dist/server.core.js.map +1 -1
- package/dist/server.env.js +56 -121
- package/dist/server.env.js.map +1 -1
- package/dist/server.host.js +66 -99
- package/dist/server.host.js.map +1 -1
- package/dist/services/authentication/auth.service.js +103 -126
- package/dist/services/authentication/auth.service.js.map +1 -1
- package/dist/services/authentication/jwt.service.js +23 -32
- package/dist/services/authentication/jwt.service.js.map +1 -1
- package/dist/services/bambu/bambu-ftp.adapter.js +194 -236
- package/dist/services/bambu/bambu-ftp.adapter.js.map +1 -1
- package/dist/services/bambu/bambu-mqtt.adapter.js +394 -449
- package/dist/services/bambu/bambu-mqtt.adapter.js.map +1 -1
- package/dist/services/bambu/bambu.client.js +64 -65
- package/dist/services/bambu/bambu.client.js.map +1 -1
- package/dist/services/bambu/mqtt-message.types.js +1 -6
- package/dist/services/bambu.api.js +230 -247
- package/dist/services/bambu.api.js.map +1 -1
- package/dist/services/core/batch-call.service.js +139 -163
- package/dist/services/core/batch-call.service.js.map +1 -1
- package/dist/services/core/client-bundle.service.js +126 -165
- package/dist/services/core/client-bundle.service.js.map +1 -1
- package/dist/services/core/config.service.js +16 -26
- package/dist/services/core/config.service.js.map +1 -1
- package/dist/services/core/cradle.service.js +11 -19
- package/dist/services/core/cradle.service.js.map +1 -1
- package/dist/services/core/github.service.js +59 -79
- package/dist/services/core/github.service.js.map +1 -1
- package/dist/services/core/http-client.factory.js +30 -38
- package/dist/services/core/http-client.factory.js.map +1 -1
- package/dist/services/core/logs-manager.service.js +61 -84
- package/dist/services/core/logs-manager.service.js.map +1 -1
- package/dist/services/core/monsterpi.service.js +26 -36
- package/dist/services/core/monsterpi.service.js.map +1 -1
- package/dist/services/core/multer.service.js +69 -129
- package/dist/services/core/multer.service.js.map +1 -1
- package/dist/services/core/server-release.service.js +77 -99
- package/dist/services/core/server-release.service.js.map +1 -1
- package/dist/services/core/yaml.service.js +443 -573
- package/dist/services/core/yaml.service.js.map +1 -1
- package/dist/services/file-analysis.service.js +134 -144
- package/dist/services/file-analysis.service.js.map +1 -1
- package/dist/services/file-storage.service.js +324 -423
- package/dist/services/file-storage.service.js.map +1 -1
- package/dist/services/interfaces/auth.service.interface.js +1 -6
- package/dist/services/interfaces/camera-stream.dto.js +23 -41
- package/dist/services/interfaces/camera-stream.dto.js.map +1 -1
- package/dist/services/interfaces/camera-stream.service.interface.js +1 -6
- package/dist/services/interfaces/file-upload-tracker.interface.js +1 -6
- package/dist/services/interfaces/floor.dto.js +31 -55
- package/dist/services/interfaces/floor.dto.js.map +1 -1
- package/dist/services/interfaces/floor.service.interface.js +1 -6
- package/dist/services/interfaces/jwt.service.interface.js +1 -6
- package/dist/services/interfaces/login.dto.js +10 -17
- package/dist/services/interfaces/login.dto.js.map +1 -1
- package/dist/services/interfaces/page.interface.js +5 -12
- package/dist/services/interfaces/page.interface.js.map +1 -1
- package/dist/services/interfaces/permission.service.interface.js +1 -6
- package/dist/services/interfaces/printer-file.dto.js +1 -6
- package/dist/services/interfaces/printer-maintenance-log.dto.js +1 -6
- package/dist/services/interfaces/printer-tag.dto.js +11 -26
- package/dist/services/interfaces/printer-tag.dto.js.map +1 -1
- package/dist/services/interfaces/printer-tag.service.interface.js +1 -6
- package/dist/services/interfaces/printer.dto.js +21 -36
- package/dist/services/interfaces/printer.dto.js.map +1 -1
- package/dist/services/interfaces/printer.service.interface.js +1 -6
- package/dist/services/interfaces/refresh-token.dto.js +9 -16
- package/dist/services/interfaces/refresh-token.dto.js.map +1 -1
- package/dist/services/interfaces/refresh-token.service.interface.js +1 -6
- package/dist/services/interfaces/role-service.interface.js +1 -6
- package/dist/services/interfaces/role.dto.js +7 -14
- package/dist/services/interfaces/role.dto.js.map +1 -1
- package/dist/services/interfaces/settings.dto.js +10 -17
- package/dist/services/interfaces/settings.dto.js.map +1 -1
- package/dist/services/interfaces/settings.service.interface.js +1 -6
- package/dist/services/interfaces/tag.dto.js +1 -6
- package/dist/services/interfaces/task.interfaces.js +1 -6
- package/dist/services/interfaces/user-role.dto.js +9 -16
- package/dist/services/interfaces/user-role.dto.js.map +1 -1
- package/dist/services/interfaces/user-service.interface.js +1 -6
- package/dist/services/interfaces/user.dto.js +22 -37
- package/dist/services/interfaces/user.dto.js.map +1 -1
- package/dist/services/moonraker/constants/moonraker-event.dto.js +16 -31
- package/dist/services/moonraker/constants/moonraker-event.dto.js.map +1 -1
- package/dist/services/moonraker/constants/moonraker.constants.js +4 -11
- package/dist/services/moonraker/constants/moonraker.constants.js.map +1 -1
- package/dist/services/moonraker/dto/access/access-info.dto.js +1 -6
- package/dist/services/moonraker/dto/access/access-login-refresh.dto.js +1 -6
- package/dist/services/moonraker/dto/access/access-login-result.dto.js +1 -6
- package/dist/services/moonraker/dto/access/access-user-result.dto.js +1 -6
- package/dist/services/moonraker/dto/access/access-user.dto.js +1 -6
- package/dist/services/moonraker/dto/database/database-namespace-item.dto.js +1 -6
- package/dist/services/moonraker/dto/database/database-namespace-list.dto.js +1 -6
- package/dist/services/moonraker/dto/gcode-help.dto.js +1 -6
- package/dist/services/moonraker/dto/gcode-store.dto.js +1 -6
- package/dist/services/moonraker/dto/job-queue/enqueue-job.dto.js +1 -6
- package/dist/services/moonraker/dto/job-queue/job-queue-status.dto.js +1 -6
- package/dist/services/moonraker/dto/machine/machine-device-power-device-state.dto.js +1 -6
- package/dist/services/moonraker/dto/machine/machine-device-power-devices.dto.js +1 -6
- package/dist/services/moonraker/dto/machine/machine-peripherals-canbus.dto.js +1 -6
- package/dist/services/moonraker/dto/machine/machine-peripherals-serial.dto.js +1 -6
- package/dist/services/moonraker/dto/machine/machine-peripherals-usb.dto.js +1 -6
- package/dist/services/moonraker/dto/machine/machine-peripherals-video.dto.js +1 -6
- package/dist/services/moonraker/dto/machine/machine-system-info.dto.js +1 -6
- package/dist/services/moonraker/dto/machine/machine-update-status.dto.js +1 -6
- package/dist/services/moonraker/dto/machine/machine-wled-strips.dto.js +1 -6
- package/dist/services/moonraker/dto/notifier-list.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/bed-mesh.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/configfile.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/display-status.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/extruder.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/fan.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/filament-motion-sensor.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/filament-switch-sensor.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/gcode-move.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/gcode.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/heater-bed.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/heaters.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/idle-timeout.dto.js +6 -21
- package/dist/services/moonraker/dto/objects/idle-timeout.dto.js.map +1 -1
- package/dist/services/moonraker/dto/objects/mcu.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/motion-report.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/output-pin.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/pause-resume.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/print-stats.dto.js +9 -24
- package/dist/services/moonraker/dto/objects/print-stats.dto.js.map +1 -1
- package/dist/services/moonraker/dto/objects/printer-object.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/printer-object.types.js +1 -6
- package/dist/services/moonraker/dto/objects/printer-objects-list.dto.js +28 -43
- package/dist/services/moonraker/dto/objects/printer-objects-list.dto.js.map +1 -1
- package/dist/services/moonraker/dto/objects/printer-objects-query.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/stepper-enable.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/system-stats.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/temperature-fan.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/temperature-sensor.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/toolhead.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/virtual-sdcard.dto.js +1 -6
- package/dist/services/moonraker/dto/objects/webhooks.dto.js +1 -6
- package/dist/services/moonraker/dto/octoprint-compat/api-job.dto.js +1 -6
- package/dist/services/moonraker/dto/octoprint-compat/api-login.dto.js +1 -6
- package/dist/services/moonraker/dto/octoprint-compat/api-printer.dto.js +1 -6
- package/dist/services/moonraker/dto/octoprint-compat/api-profiles.dto.js +1 -6
- package/dist/services/moonraker/dto/octoprint-compat/api-settings.dto.js +1 -6
- package/dist/services/moonraker/dto/octoprint-compat/api-version.dto.js +1 -6
- package/dist/services/moonraker/dto/octoprint-compat/server-version.dto.js +1 -6
- package/dist/services/moonraker/dto/printer-info.dto.js +7 -22
- package/dist/services/moonraker/dto/printer-info.dto.js.map +1 -1
- package/dist/services/moonraker/dto/printer-query-endstops.dto.js +1 -6
- package/dist/services/moonraker/dto/process-stats.dto.js +1 -6
- package/dist/services/moonraker/dto/rest/action-result.dto.js +1 -6
- package/dist/services/moonraker/dto/rest/error.dto.js +1 -6
- package/dist/services/moonraker/dto/rest/result.dto.js +6 -13
- package/dist/services/moonraker/dto/rest/result.dto.js.map +1 -1
- package/dist/services/moonraker/dto/rollover-logs.dto.js +1 -6
- package/dist/services/moonraker/dto/rpc/json-rpc-error.dto.js +1 -6
- package/dist/services/moonraker/dto/rpc/json-rpc-request.dto.js +1 -6
- package/dist/services/moonraker/dto/rpc/json-rpc-response.dto.js +1 -6
- package/dist/services/moonraker/dto/server/server-config.dto.js +1 -6
- package/dist/services/moonraker/dto/server/server-info.dto.js +7 -14
- package/dist/services/moonraker/dto/server/server-info.dto.js.map +1 -1
- package/dist/services/moonraker/dto/server-announcements/announcement-action.dto.js +1 -6
- package/dist/services/moonraker/dto/server-announcements/announcement-entry-id.dto.js +1 -6
- package/dist/services/moonraker/dto/server-announcements/announcement-feeds.dto.js +1 -6
- package/dist/services/moonraker/dto/server-announcements/announcement-list.dto.js +1 -6
- package/dist/services/moonraker/dto/server-files/server-file-directory-action.dto.js +1 -6
- package/dist/services/moonraker/dto/server-files/server-file-directory-info.dto.js +1 -6
- package/dist/services/moonraker/dto/server-files/server-file-metadata.dto.js +1 -6
- package/dist/services/moonraker/dto/server-files/server-file-root.dto.js +1 -6
- package/dist/services/moonraker/dto/server-files/server-file-thumbnail.dto.js +1 -6
- package/dist/services/moonraker/dto/server-files/server-file-zip-action.dto.js +1 -6
- package/dist/services/moonraker/dto/server-files/server-file.dto.js +1 -6
- package/dist/services/moonraker/dto/server-history/history-job.dto.js +1 -6
- package/dist/services/moonraker/dto/server-history/history-last-totals.dto.js +1 -6
- package/dist/services/moonraker/dto/server-history/history-list.dto.js +1 -6
- package/dist/services/moonraker/dto/server-history/history-totals.dto.js +1 -6
- package/dist/services/moonraker/dto/server-history/job.dto.js +6 -21
- package/dist/services/moonraker/dto/server-history/job.dto.js.map +1 -1
- package/dist/services/moonraker/dto/server-sensors/sensor-info.dto.js +1 -6
- package/dist/services/moonraker/dto/server-sensors/sensor-list.dto.js +1 -6
- package/dist/services/moonraker/dto/server-sensors/sensor-measurements.dto.js +1 -6
- package/dist/services/moonraker/dto/server-webcams/webcam-item.dto.js +1 -6
- package/dist/services/moonraker/dto/server-webcams/webcam-list.dto.js +1 -6
- package/dist/services/moonraker/dto/server-webcams/webcam-test.dto.js +1 -6
- package/dist/services/moonraker/dto/spoolman/spoolman-active-spool.dto.js +1 -6
- package/dist/services/moonraker/dto/spoolman/spoolman-proxy-request.dto.js +1 -6
- package/dist/services/moonraker/dto/spoolman/spoolman-response.dto.js +1 -6
- package/dist/services/moonraker/dto/spoolman/spoolman-status.dto.js +1 -6
- package/dist/services/moonraker/dto/sudo-info.dto.js +1 -6
- package/dist/services/moonraker/dto/sudo-response.dto.js +1 -6
- package/dist/services/moonraker/dto/temperature-store.dto.js +1 -6
- package/dist/services/moonraker/dto/websocket/connection-identify-response.dto.js +1 -6
- package/dist/services/moonraker/dto/websocket/connection-identify.dto.js +1 -6
- package/dist/services/moonraker/dto/websocket/json-rpc-event.dto.js +1 -6
- package/dist/services/moonraker/dto/websocket/message.types.js +1 -6
- package/dist/services/moonraker/dto/websocket/methods.js +29 -44
- package/dist/services/moonraker/dto/websocket/methods.js.map +1 -1
- package/dist/services/moonraker/dto/websocket/notify-active-spool-set.params.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-agent-event.params.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-announcement-update.params.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-announcement.params.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-button-event.params.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-filelist-changed.params.js +11 -18
- package/dist/services/moonraker/dto/websocket/notify-filelist-changed.params.js.map +1 -1
- package/dist/services/moonraker/dto/websocket/notify-history-changed.params.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-job-queue-changed.params.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-proc-stat-update.params.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-sensor-update.params.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-service-state-changed.params.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-spoolman-status-changed.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-sudo-alert.params.js +1 -6
- package/dist/services/moonraker/dto/websocket/notify-update-response.params.js +7 -22
- package/dist/services/moonraker/dto/websocket/notify-update-response.params.js.map +1 -1
- package/dist/services/moonraker/dto/websocket/notify-user-change.params.js +1 -6
- package/dist/services/moonraker/moonraker-websocket.adapter.js +313 -348
- package/dist/services/moonraker/moonraker-websocket.adapter.js.map +1 -1
- package/dist/services/moonraker/moonraker.client.js +536 -559
- package/dist/services/moonraker/moonraker.client.js.map +1 -1
- package/dist/services/moonraker.api.js +167 -192
- package/dist/services/moonraker.api.js.map +1 -1
- package/dist/services/octoprint/constants/firmware-update-settings.constants.js +19 -28
- package/dist/services/octoprint/constants/firmware-update-settings.constants.js.map +1 -1
- package/dist/services/octoprint/constants/octoprint-service.constants.js +3 -30
- package/dist/services/octoprint/constants/octoprint-service.constants.js.map +1 -1
- package/dist/services/octoprint/constants/octoprint-websocket.constants.js +41 -56
- package/dist/services/octoprint/constants/octoprint-websocket.constants.js.map +1 -1
- package/dist/services/octoprint/dto/access/user-list.dto.js +1 -6
- package/dist/services/octoprint/dto/access/user.dto.js +1 -6
- package/dist/services/octoprint/dto/auth/current-user.dto.js +1 -6
- package/dist/services/octoprint/dto/auth/login.dto.js +1 -6
- package/dist/services/octoprint/dto/connection/connection-state.type.js +23 -30
- package/dist/services/octoprint/dto/connection/connection-state.type.js.map +1 -1
- package/dist/services/octoprint/dto/connection/connection.dto.js +1 -6
- package/dist/services/octoprint/dto/events/client-authed.dto.js +1 -6
- package/dist/services/octoprint/dto/events/client-closed.dto.js +1 -6
- package/dist/services/octoprint/dto/events/client-opened.dto.js +1 -6
- package/dist/services/octoprint/dto/events/dwelling.dto.js +1 -6
- package/dist/services/octoprint/dto/events/file-added.dto.js +1 -6
- package/dist/services/octoprint/dto/events/file-deselected.dto.js +1 -6
- package/dist/services/octoprint/dto/events/file-removed.dto.js +1 -6
- package/dist/services/octoprint/dto/events/folder-added.dto.js +1 -6
- package/dist/services/octoprint/dto/events/home.dto.js +1 -6
- package/dist/services/octoprint/dto/events/metadata-analysis-finished.dto.js +1 -6
- package/dist/services/octoprint/dto/events/metadata-analysis-started.dto.js +1 -6
- package/dist/services/octoprint/dto/events/metadata-statistics-updated.dto.js +1 -6
- package/dist/services/octoprint/dto/events/position-update.dto.js +1 -6
- package/dist/services/octoprint/dto/events/print-cancelled.dto.js +1 -6
- package/dist/services/octoprint/dto/events/print-cancelling.dto.js +1 -6
- package/dist/services/octoprint/dto/events/print-done.dto.js +1 -6
- package/dist/services/octoprint/dto/events/print-failed.dto.js +1 -6
- package/dist/services/octoprint/dto/events/print-paused.dto.js +1 -6
- package/dist/services/octoprint/dto/events/print-resumed.dto.js +1 -6
- package/dist/services/octoprint/dto/events/print-started.dto.js +1 -6
- package/dist/services/octoprint/dto/events/printer-state-changed.dto.js +1 -6
- package/dist/services/octoprint/dto/events/transfer-done.dto.js +1 -6
- package/dist/services/octoprint/dto/events/transfer-started.dto.js +1 -6
- package/dist/services/octoprint/dto/events/updated-files.dto.js +1 -6
- package/dist/services/octoprint/dto/events/upload.dto.js +1 -6
- package/dist/services/octoprint/dto/events/user-logged-in.dto.js +1 -6
- package/dist/services/octoprint/dto/events/z-change.dto.js +1 -6
- package/dist/services/octoprint/dto/files/gcode-analysis.dto.js +1 -6
- package/dist/services/octoprint/dto/files/octoprint-file.dto.js +1 -6
- package/dist/services/octoprint/dto/files/octoprint-files-response.dto.js +1 -6
- package/dist/services/octoprint/dto/job/current-job.dto.js +8 -15
- package/dist/services/octoprint/dto/job/current-job.dto.js.map +1 -1
- package/dist/services/octoprint/dto/job/job.dto.js +1 -6
- package/dist/services/octoprint/dto/octoprint-event.dto.js +21 -39
- package/dist/services/octoprint/dto/octoprint-event.dto.js.map +1 -1
- package/dist/services/octoprint/dto/printer/busy-file.dto.js +1 -6
- package/dist/services/octoprint/dto/printer/current-printer-state.dto.js +1 -6
- package/dist/services/octoprint/dto/printer/flags.dto.js +1 -6
- package/dist/services/octoprint/dto/printer/markings.dto.js +1 -6
- package/dist/services/octoprint/dto/printer/progress.dto.js +1 -6
- package/dist/services/octoprint/dto/printer/resends.dto.js +1 -6
- package/dist/services/octoprint/dto/printer/state.dto.js +1 -6
- package/dist/services/octoprint/dto/printer/temps.dto.js +1 -6
- package/dist/services/octoprint/dto/rest/error.dto.js +1 -6
- package/dist/services/octoprint/dto/server/server.dto.js +1 -6
- package/dist/services/octoprint/dto/server/version.dto.js +1 -6
- package/dist/services/octoprint/dto/settings/serial-settings.dto.js +1 -6
- package/dist/services/octoprint/dto/settings/settings-parts.type.js +1 -6
- package/dist/services/octoprint/dto/settings/settings.dto.js +1 -6
- package/dist/services/octoprint/dto/settings/virtual-printer-settings.dto.js +1 -6
- package/dist/services/octoprint/dto/system/system-info.dto.js +32 -39
- package/dist/services/octoprint/dto/system/system-info.dto.js.map +1 -1
- package/dist/services/octoprint/dto/websocket/connection-message.dto.js +1 -6
- package/dist/services/octoprint/dto/websocket/current-message.dto.js +1 -6
- package/dist/services/octoprint/dto/websocket/event-message.dto.js +1 -6
- package/dist/services/octoprint/dto/websocket/event.type.js +42 -49
- package/dist/services/octoprint/dto/websocket/event.type.js.map +1 -1
- package/dist/services/octoprint/dto/websocket/history-message.dto.js +1 -6
- package/dist/services/octoprint/dto/websocket/plugin-message.dto.js +1 -6
- package/dist/services/octoprint/dto/websocket/timelapse-message.dto.js +1 -6
- package/dist/services/octoprint/octoprint-api.routes.js +77 -94
- package/dist/services/octoprint/octoprint-api.routes.js.map +1 -1
- package/dist/services/octoprint/octoprint-websocket.adapter.js +265 -315
- package/dist/services/octoprint/octoprint-websocket.adapter.js.map +1 -1
- package/dist/services/octoprint/octoprint.client.js +220 -261
- package/dist/services/octoprint/octoprint.client.js.map +1 -1
- package/dist/services/octoprint/utils/api.utils.js +15 -32
- package/dist/services/octoprint/utils/api.utils.js.map +1 -1
- package/dist/services/octoprint/utils/file.utils.js +44 -67
- package/dist/services/octoprint/utils/file.utils.js.map +1 -1
- package/dist/services/octoprint/utils/octoprint-http-client.builder.js +16 -29
- package/dist/services/octoprint/utils/octoprint-http-client.builder.js.map +1 -1
- package/dist/services/octoprint.api.js +113 -128
- package/dist/services/octoprint.api.js.map +1 -1
- package/dist/services/orm/base.interface.js +1 -6
- package/dist/services/orm/base.service.js +57 -73
- package/dist/services/orm/base.service.js.map +1 -1
- package/dist/services/orm/camera-stream.service.js +21 -27
- package/dist/services/orm/camera-stream.service.js.map +1 -1
- package/dist/services/orm/floor-position.service.js +42 -49
- package/dist/services/orm/floor-position.service.js.map +1 -1
- package/dist/services/orm/floor.service.js +110 -138
- package/dist/services/orm/floor.service.js.map +1 -1
- package/dist/services/orm/permission.service.js +16 -23
- package/dist/services/orm/permission.service.js.map +1 -1
- package/dist/services/orm/print-job.service.js +443 -545
- package/dist/services/orm/print-job.service.js.map +1 -1
- package/dist/services/orm/printer-maintenance-log.service.js +102 -149
- package/dist/services/orm/printer-maintenance-log.service.js.map +1 -1
- package/dist/services/orm/printer-tag.service.js +93 -118
- package/dist/services/orm/printer-tag.service.js.map +1 -1
- package/dist/services/orm/printer.service.js +110 -158
- package/dist/services/orm/printer.service.js.map +1 -1
- package/dist/services/orm/refresh-token.service.js +69 -99
- package/dist/services/orm/refresh-token.service.js.map +1 -1
- package/dist/services/orm/role.service.js +99 -116
- package/dist/services/orm/role.service.js.map +1 -1
- package/dist/services/orm/settings.service.js +84 -94
- package/dist/services/orm/settings.service.js.map +1 -1
- package/dist/services/orm/user-role.service.js +39 -53
- package/dist/services/orm/user-role.service.js.map +1 -1
- package/dist/services/orm/user.service.js +142 -189
- package/dist/services/orm/user.service.js.map +1 -1
- package/dist/services/print-file-downloader.service.js +153 -167
- package/dist/services/print-file-downloader.service.js.map +1 -1
- package/dist/services/print-queue.service.js +240 -326
- package/dist/services/print-queue.service.js.map +1 -1
- package/dist/services/printer-api.factory.js +26 -43
- package/dist/services/printer-api.factory.js.map +1 -1
- package/dist/services/printer-api.interface.js +23 -53
- package/dist/services/printer-api.interface.js.map +1 -1
- package/dist/services/prusa-link/constants/prusalink-event.dto.js +9 -16
- package/dist/services/prusa-link/constants/prusalink-event.dto.js.map +1 -1
- package/dist/services/prusa-link/constants/prusalink.constants.js +4 -11
- package/dist/services/prusa-link/constants/prusalink.constants.js.map +1 -1
- package/dist/services/prusa-link/dto/file-response.dto.js +1 -6
- package/dist/services/prusa-link/dto/file.dto.js +1 -6
- package/dist/services/prusa-link/dto/job-state.dto.js +1 -6
- package/dist/services/prusa-link/dto/printer-state.dto.js +1 -6
- package/dist/services/prusa-link/dto/status.dto.js +1 -6
- package/dist/services/prusa-link/dto/version.dto.js +1 -6
- package/dist/services/prusa-link/prusa-link-http-polling.adapter.js +141 -157
- package/dist/services/prusa-link/prusa-link-http-polling.adapter.js.map +1 -1
- package/dist/services/prusa-link/prusa-link.api.js +206 -240
- package/dist/services/prusa-link/prusa-link.api.js.map +1 -1
- package/dist/services/prusa-link/utils/digest-auth.params.js +1 -6
- package/dist/services/prusa-link/utils/digest-auth.util.js +17 -24
- package/dist/services/prusa-link/utils/digest-auth.util.js.map +1 -1
- package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js +92 -129
- package/dist/services/prusa-link/utils/prusa-link-http-client.builder.js.map +1 -1
- package/dist/services/socket.factory.js +21 -36
- package/dist/services/socket.factory.js.map +1 -1
- package/dist/services/task-manager.service.js +190 -174
- package/dist/services/task-manager.service.js.map +1 -1
- package/dist/services/typeorm/typeorm.service.js +31 -46
- package/dist/services/typeorm/typeorm.service.js.map +1 -1
- package/dist/services/validators/floor-service.validation.js +26 -63
- package/dist/services/validators/floor-service.validation.js.map +1 -1
- package/dist/services/validators/print-job.validation.js +11 -26
- package/dist/services/validators/print-job.validation.js.map +1 -1
- package/dist/services/validators/printer-maintenance-log.validation.js +17 -37
- package/dist/services/validators/printer-maintenance-log.validation.js.map +1 -1
- package/dist/services/validators/printer-service.validation.js +60 -125
- package/dist/services/validators/printer-service.validation.js.map +1 -1
- package/dist/services/validators/settings-service.validation.js +46 -106
- package/dist/services/validators/settings-service.validation.js.map +1 -1
- package/dist/services/validators/user-service.validation.js +19 -36
- package/dist/services/validators/user-service.validation.js.map +1 -1
- package/dist/services/validators/yaml-service.validation.js +96 -132
- package/dist/services/validators/yaml-service.validation.js.map +1 -1
- package/dist/services/websocket-adapter.interface.js +1 -6
- package/dist/shared/default-http-client.builder.js +74 -92
- package/dist/shared/default-http-client.builder.js.map +1 -1
- package/dist/shared/dtos/api-state.type.js +8 -15
- package/dist/shared/dtos/api-state.type.js.map +1 -1
- package/dist/shared/dtos/socket-login.dto.js +1 -6
- package/dist/shared/dtos/socket-state.type.js +11 -18
- package/dist/shared/dtos/socket-state.type.js.map +1 -1
- package/dist/shared/load-controllers.js +41 -19
- package/dist/shared/load-controllers.js.map +1 -1
- package/dist/shared/runtime-settings.migration.js +43 -50
- package/dist/shared/runtime-settings.migration.js.map +1 -1
- package/dist/shared/websocket-rpc-extended.adapter.js +74 -75
- package/dist/shared/websocket-rpc-extended.adapter.js.map +1 -1
- package/dist/shared/websocket.adapter.js +78 -63
- package/dist/shared/websocket.adapter.js.map +1 -1
- package/dist/state/file-upload-tracker.cache.js +63 -75
- package/dist/state/file-upload-tracker.cache.js.map +1 -1
- package/dist/state/floor.store.js +77 -89
- package/dist/state/floor.store.js.map +1 -1
- package/dist/state/printer-events.cache.js +237 -295
- package/dist/state/printer-events.cache.js.map +1 -1
- package/dist/state/printer-socket.store.js +156 -174
- package/dist/state/printer-socket.store.js.map +1 -1
- package/dist/state/printer-thumbnail.cache.js +129 -130
- package/dist/state/printer-thumbnail.cache.js.map +1 -1
- package/dist/state/printer.cache.js +87 -102
- package/dist/state/printer.cache.js.map +1 -1
- package/dist/state/settings.store.js +211 -234
- package/dist/state/settings.store.js.map +1 -1
- package/dist/state/socket-io.gateway.js +58 -87
- package/dist/state/socket-io.gateway.js.map +1 -1
- package/dist/state/test-printer-socket.store.js +116 -137
- package/dist/state/test-printer-socket.store.js.map +1 -1
- package/dist/state/validation/create-test-printer.validation.js +14 -21
- package/dist/state/validation/create-test-printer.validation.js.map +1 -1
- package/dist/task.presets.js +30 -37
- package/dist/task.presets.js.map +1 -1
- package/dist/tasks/boot.task.js +100 -128
- package/dist/tasks/boot.task.js.map +1 -1
- package/dist/tasks/client-bundle.task.js +20 -28
- package/dist/tasks/client-bundle.task.js.map +1 -1
- package/dist/tasks/print-job-analysis.task.js +88 -113
- package/dist/tasks/print-job-analysis.task.js.map +1 -1
- package/dist/tasks/printer-websocket-restore.task.js +41 -54
- package/dist/tasks/printer-websocket-restore.task.js.map +1 -1
- package/dist/tasks/printer-websocket.task.js +11 -19
- package/dist/tasks/printer-websocket.task.js.map +1 -1
- package/dist/tasks/socketio.task.js +35 -53
- package/dist/tasks/socketio.task.js.map +1 -1
- package/dist/tasks/software-update.task.js +12 -20
- package/dist/tasks/software-update.task.js.map +1 -1
- package/dist/tasks.js +27 -41
- package/dist/tasks.js.map +1 -1
- package/dist/types/express/index.d.js +1 -6
- package/dist/types/virtual-modules.d.js +1 -0
- package/dist/utils/array.util.js +9 -24
- package/dist/utils/array.util.js.map +1 -1
- package/dist/utils/bgcode/bgcode-thumbnail.parser.js +26 -44
- package/dist/utils/bgcode/bgcode-thumbnail.parser.js.map +1 -1
- package/dist/utils/bgcode/bgcode.constants.js +9 -45
- package/dist/utils/bgcode/bgcode.constants.js.map +1 -1
- package/dist/utils/bgcode/bgcode.types.js +57 -106
- package/dist/utils/bgcode/bgcode.types.js.map +1 -1
- package/dist/utils/bgcode/bgcode.utils.js +167 -256
- package/dist/utils/bgcode/bgcode.utils.js.map +1 -1
- package/dist/utils/bgcode/heatshrink-decoder.js +130 -170
- package/dist/utils/bgcode/heatshrink-decoder.js.map +1 -1
- package/dist/utils/bgcode/png-encoder.js +53 -66
- package/dist/utils/bgcode/png-encoder.js.map +1 -1
- package/dist/utils/bgcode/qoi-decoder.js +116 -135
- package/dist/utils/bgcode/qoi-decoder.js.map +1 -1
- package/dist/utils/cache/key-diff.cache.js +56 -85
- package/dist/utils/cache/key-diff.cache.js.map +1 -1
- package/dist/utils/correlation-token.util.js +4 -11
- package/dist/utils/correlation-token.util.js.map +1 -1
- package/dist/utils/crypto.utils.js +7 -23
- package/dist/utils/crypto.utils.js.map +1 -1
- package/dist/utils/env.utils.js +14 -49
- package/dist/utils/env.utils.js.map +1 -1
- package/dist/utils/error.utils.js +4 -11
- package/dist/utils/error.utils.js.map +1 -1
- package/dist/utils/fs.utils.js +26 -49
- package/dist/utils/fs.utils.js.map +1 -1
- package/dist/utils/gcode.utils.js +30 -43
- package/dist/utils/gcode.utils.js.map +1 -1
- package/dist/utils/image-dimensions.js +39 -54
- package/dist/utils/image-dimensions.js.map +1 -1
- package/dist/utils/job-stats.util.js +41 -72
- package/dist/utils/job-stats.util.js.map +1 -1
- package/dist/utils/normalize-url.js +135 -203
- package/dist/utils/normalize-url.js.map +1 -1
- package/dist/utils/parsers/3mf.parser.js +298 -365
- package/dist/utils/parsers/3mf.parser.js.map +1 -1
- package/dist/utils/parsers/bgcode.parser.js +149 -202
- package/dist/utils/parsers/bgcode.parser.js.map +1 -1
- package/dist/utils/parsers/gcode.parser.js +200 -263
- package/dist/utils/parsers/gcode.parser.js.map +1 -1
- package/dist/utils/parsers/parser.types.js +1 -6
- package/dist/utils/pretty-print.utils.js +5 -20
- package/dist/utils/pretty-print.utils.js.map +1 -1
- package/dist/utils/semver.utils.js +10 -26
- package/dist/utils/semver.utils.js.map +1 -1
- package/dist/utils/swagger/decorators.js +14 -32
- package/dist/utils/swagger/decorators.js.map +1 -1
- package/dist/utils/swagger/generator.js +151 -194
- package/dist/utils/swagger/generator.js.map +1 -1
- package/dist/utils/swagger/swagger.js +40 -51
- package/dist/utils/swagger/swagger.js.map +1 -1
- package/dist/utils/thumbnail.util.js +11 -20
- package/dist/utils/thumbnail.util.js.map +1 -1
- package/dist/utils/time.utils.js +4 -12
- package/dist/utils/time.utils.js.map +1 -1
- package/dist/utils/url.utils.js +9 -27
- package/dist/utils/url.utils.js.map +1 -1
- package/package.json +79 -90
- package/packages/consoles/package.json +44 -0
- package/packages/consoles/tsconfig.json +23 -0
- package/packages/consoles/vite.config.ts +15 -0
- package/tsconfig.json +10 -6
- package/vite.config.ts +62 -0
- package/.swcrc +0 -33
- package/.yarn/releases/yarn-4.12.0.cjs +0 -942
- package/biome.json +0 -36
- package/dist/consoles/bambu-mqtt-diagnostic.console.js +0 -565
- package/dist/consoles/bambu-mqtt-diagnostic.console.js.map +0 -1
- package/dist/consoles/download-github-releases.js +0 -50
- package/dist/consoles/download-github-releases.js.map +0 -1
- package/dist/consoles/gcode-scanner-poc.console.js +0 -52
- package/dist/consoles/gcode-scanner-poc.console.js.map +0 -1
- package/dist/consoles/launch-http-servers.js +0 -31
- package/dist/consoles/launch-http-servers.js.map +0 -1
- package/dist/consoles/mock-bambu.server.js +0 -319
- package/dist/consoles/mock-bambu.server.js.map +0 -1
- package/dist/consoles/mock-camera/default-image.js +0 -13
- package/dist/consoles/mock-camera/default-image.js.map +0 -1
- package/dist/consoles/mock-camera/mock-camera.server.js +0 -160
- package/dist/consoles/mock-camera/mock-camera.server.js.map +0 -1
- package/dist/consoles/mock-octoprint.server.js +0 -499
- package/dist/consoles/mock-octoprint.server.js.map +0 -1
- package/dist/consoles/mock-prusalink.server.js +0 -57
- package/dist/consoles/mock-prusalink.server.js.map +0 -1
- package/dist/consoles/moonraker-test.console.js +0 -3
- package/dist/consoles/moonraker-test.console.js.map +0 -1
- package/dist/consoles/utils/api-messages.js +0 -856
- package/dist/consoles/utils/api-messages.js.map +0 -1
- package/dist/consoles/utils/delayed-memory.storage.js +0 -42
- package/dist/consoles/utils/delayed-memory.storage.js.map +0 -1
- package/dist/consoles/utils/ws-messages.js +0 -88
- package/dist/consoles/utils/ws-messages.js.map +0 -1
- package/dist/entities/index.js.map +0 -1
- package/dist/services/bambu/mqtt-message.types.js.map +0 -1
- package/dist/services/interfaces/auth.service.interface.js.map +0 -1
- package/dist/services/interfaces/camera-stream.service.interface.js.map +0 -1
- package/dist/services/interfaces/file-upload-tracker.interface.js.map +0 -1
- package/dist/services/interfaces/floor.service.interface.js.map +0 -1
- package/dist/services/interfaces/jwt.service.interface.js.map +0 -1
- package/dist/services/interfaces/permission.service.interface.js.map +0 -1
- package/dist/services/interfaces/printer-file.dto.js.map +0 -1
- package/dist/services/interfaces/printer-maintenance-log.dto.js.map +0 -1
- package/dist/services/interfaces/printer-tag.service.interface.js.map +0 -1
- package/dist/services/interfaces/printer.service.interface.js.map +0 -1
- package/dist/services/interfaces/refresh-token.service.interface.js.map +0 -1
- package/dist/services/interfaces/role-service.interface.js.map +0 -1
- package/dist/services/interfaces/settings.service.interface.js.map +0 -1
- package/dist/services/interfaces/tag.dto.js.map +0 -1
- package/dist/services/interfaces/task.interfaces.js.map +0 -1
- package/dist/services/interfaces/user-service.interface.js.map +0 -1
- package/dist/services/moonraker/dto/access/access-info.dto.js.map +0 -1
- package/dist/services/moonraker/dto/access/access-login-refresh.dto.js.map +0 -1
- package/dist/services/moonraker/dto/access/access-login-result.dto.js.map +0 -1
- package/dist/services/moonraker/dto/access/access-user-result.dto.js.map +0 -1
- package/dist/services/moonraker/dto/access/access-user.dto.js.map +0 -1
- package/dist/services/moonraker/dto/database/database-namespace-item.dto.js.map +0 -1
- package/dist/services/moonraker/dto/database/database-namespace-list.dto.js.map +0 -1
- package/dist/services/moonraker/dto/gcode-help.dto.js.map +0 -1
- package/dist/services/moonraker/dto/gcode-store.dto.js.map +0 -1
- package/dist/services/moonraker/dto/job-queue/enqueue-job.dto.js.map +0 -1
- package/dist/services/moonraker/dto/job-queue/job-queue-status.dto.js.map +0 -1
- package/dist/services/moonraker/dto/machine/machine-device-power-device-state.dto.js.map +0 -1
- package/dist/services/moonraker/dto/machine/machine-device-power-devices.dto.js.map +0 -1
- package/dist/services/moonraker/dto/machine/machine-peripherals-canbus.dto.js.map +0 -1
- package/dist/services/moonraker/dto/machine/machine-peripherals-serial.dto.js.map +0 -1
- package/dist/services/moonraker/dto/machine/machine-peripherals-usb.dto.js.map +0 -1
- package/dist/services/moonraker/dto/machine/machine-peripherals-video.dto.js.map +0 -1
- package/dist/services/moonraker/dto/machine/machine-system-info.dto.js.map +0 -1
- package/dist/services/moonraker/dto/machine/machine-update-status.dto.js.map +0 -1
- package/dist/services/moonraker/dto/machine/machine-wled-strips.dto.js.map +0 -1
- package/dist/services/moonraker/dto/notifier-list.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/bed-mesh.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/configfile.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/display-status.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/extruder.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/fan.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/filament-motion-sensor.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/filament-switch-sensor.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/gcode-move.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/gcode.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/heater-bed.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/heaters.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/mcu.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/motion-report.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/output-pin.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/pause-resume.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/printer-object.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/printer-object.types.js.map +0 -1
- package/dist/services/moonraker/dto/objects/printer-objects-query.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/stepper-enable.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/system-stats.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/temperature-fan.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/temperature-sensor.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/toolhead.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/virtual-sdcard.dto.js.map +0 -1
- package/dist/services/moonraker/dto/objects/webhooks.dto.js.map +0 -1
- package/dist/services/moonraker/dto/octoprint-compat/api-job.dto.js.map +0 -1
- package/dist/services/moonraker/dto/octoprint-compat/api-login.dto.js.map +0 -1
- package/dist/services/moonraker/dto/octoprint-compat/api-printer.dto.js.map +0 -1
- package/dist/services/moonraker/dto/octoprint-compat/api-profiles.dto.js.map +0 -1
- package/dist/services/moonraker/dto/octoprint-compat/api-settings.dto.js.map +0 -1
- package/dist/services/moonraker/dto/octoprint-compat/api-version.dto.js.map +0 -1
- package/dist/services/moonraker/dto/octoprint-compat/server-version.dto.js.map +0 -1
- package/dist/services/moonraker/dto/printer-query-endstops.dto.js.map +0 -1
- package/dist/services/moonraker/dto/process-stats.dto.js.map +0 -1
- package/dist/services/moonraker/dto/rest/action-result.dto.js.map +0 -1
- package/dist/services/moonraker/dto/rest/error.dto.js.map +0 -1
- package/dist/services/moonraker/dto/rollover-logs.dto.js.map +0 -1
- package/dist/services/moonraker/dto/rpc/json-rpc-error.dto.js.map +0 -1
- package/dist/services/moonraker/dto/rpc/json-rpc-request.dto.js.map +0 -1
- package/dist/services/moonraker/dto/rpc/json-rpc-response.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server/server-config.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-announcements/announcement-action.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-announcements/announcement-entry-id.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-announcements/announcement-feeds.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-announcements/announcement-list.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-files/server-file-directory-action.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-files/server-file-directory-info.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-files/server-file-metadata.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-files/server-file-root.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-files/server-file-thumbnail.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-files/server-file-zip-action.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-files/server-file.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-history/history-job.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-history/history-last-totals.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-history/history-list.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-history/history-totals.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-sensors/sensor-info.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-sensors/sensor-list.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-sensors/sensor-measurements.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-webcams/webcam-item.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-webcams/webcam-list.dto.js.map +0 -1
- package/dist/services/moonraker/dto/server-webcams/webcam-test.dto.js.map +0 -1
- package/dist/services/moonraker/dto/spoolman/spoolman-active-spool.dto.js.map +0 -1
- package/dist/services/moonraker/dto/spoolman/spoolman-proxy-request.dto.js.map +0 -1
- package/dist/services/moonraker/dto/spoolman/spoolman-response.dto.js.map +0 -1
- package/dist/services/moonraker/dto/spoolman/spoolman-status.dto.js.map +0 -1
- package/dist/services/moonraker/dto/sudo-info.dto.js.map +0 -1
- package/dist/services/moonraker/dto/sudo-response.dto.js.map +0 -1
- package/dist/services/moonraker/dto/temperature-store.dto.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/connection-identify-response.dto.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/connection-identify.dto.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/json-rpc-event.dto.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/message.types.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-active-spool-set.params.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-agent-event.params.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-announcement-update.params.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-announcement.params.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-button-event.params.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-history-changed.params.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-job-queue-changed.params.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-proc-stat-update.params.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-sensor-update.params.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-service-state-changed.params.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-spoolman-status-changed.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-sudo-alert.params.js.map +0 -1
- package/dist/services/moonraker/dto/websocket/notify-user-change.params.js.map +0 -1
- package/dist/services/octoprint/dto/access/user-list.dto.js.map +0 -1
- package/dist/services/octoprint/dto/access/user.dto.js.map +0 -1
- package/dist/services/octoprint/dto/auth/current-user.dto.js.map +0 -1
- package/dist/services/octoprint/dto/auth/login.dto.js.map +0 -1
- package/dist/services/octoprint/dto/connection/connection.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/client-authed.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/client-closed.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/client-opened.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/dwelling.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/file-added.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/file-deselected.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/file-removed.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/folder-added.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/home.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/metadata-analysis-finished.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/metadata-analysis-started.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/metadata-statistics-updated.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/position-update.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/print-cancelled.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/print-cancelling.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/print-done.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/print-failed.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/print-paused.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/print-resumed.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/print-started.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/printer-state-changed.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/transfer-done.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/transfer-started.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/updated-files.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/upload.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/user-logged-in.dto.js.map +0 -1
- package/dist/services/octoprint/dto/events/z-change.dto.js.map +0 -1
- package/dist/services/octoprint/dto/files/gcode-analysis.dto.js.map +0 -1
- package/dist/services/octoprint/dto/files/octoprint-file.dto.js.map +0 -1
- package/dist/services/octoprint/dto/files/octoprint-files-response.dto.js.map +0 -1
- package/dist/services/octoprint/dto/job/job.dto.js.map +0 -1
- package/dist/services/octoprint/dto/printer/busy-file.dto.js.map +0 -1
- package/dist/services/octoprint/dto/printer/current-printer-state.dto.js.map +0 -1
- package/dist/services/octoprint/dto/printer/flags.dto.js.map +0 -1
- package/dist/services/octoprint/dto/printer/markings.dto.js.map +0 -1
- package/dist/services/octoprint/dto/printer/progress.dto.js.map +0 -1
- package/dist/services/octoprint/dto/printer/resends.dto.js.map +0 -1
- package/dist/services/octoprint/dto/printer/state.dto.js.map +0 -1
- package/dist/services/octoprint/dto/printer/temps.dto.js.map +0 -1
- package/dist/services/octoprint/dto/rest/error.dto.js.map +0 -1
- package/dist/services/octoprint/dto/server/server.dto.js.map +0 -1
- package/dist/services/octoprint/dto/server/version.dto.js.map +0 -1
- package/dist/services/octoprint/dto/settings/serial-settings.dto.js.map +0 -1
- package/dist/services/octoprint/dto/settings/settings-parts.type.js.map +0 -1
- package/dist/services/octoprint/dto/settings/settings.dto.js.map +0 -1
- package/dist/services/octoprint/dto/settings/virtual-printer-settings.dto.js.map +0 -1
- package/dist/services/octoprint/dto/websocket/connection-message.dto.js.map +0 -1
- package/dist/services/octoprint/dto/websocket/current-message.dto.js.map +0 -1
- package/dist/services/octoprint/dto/websocket/event-message.dto.js.map +0 -1
- package/dist/services/octoprint/dto/websocket/history-message.dto.js.map +0 -1
- package/dist/services/octoprint/dto/websocket/plugin-message.dto.js.map +0 -1
- package/dist/services/octoprint/dto/websocket/timelapse-message.dto.js.map +0 -1
- package/dist/services/orm/base.interface.js.map +0 -1
- package/dist/services/prusa-link/dto/file-response.dto.js.map +0 -1
- package/dist/services/prusa-link/dto/file.dto.js.map +0 -1
- package/dist/services/prusa-link/dto/job-state.dto.js.map +0 -1
- package/dist/services/prusa-link/dto/printer-state.dto.js.map +0 -1
- package/dist/services/prusa-link/dto/status.dto.js.map +0 -1
- package/dist/services/prusa-link/dto/version.dto.js.map +0 -1
- package/dist/services/prusa-link/utils/digest-auth.params.js.map +0 -1
- package/dist/services/websocket-adapter.interface.js.map +0 -1
- package/dist/shared/dtos/socket-login.dto.js.map +0 -1
- package/dist/types/express/index.d.js.map +0 -1
- package/dist/utils/parsers/parser.types.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/bambu/bambu-mqtt.adapter.ts"],"names":["BambuMqttAdapter","bambuEvent","event","logger","settingsStore","eventEmitter2","printerType","BambuType","printerId","socketState","SOCKET_STATE","unopened","apiState","API_STATE","unset","login","lastMessageReceivedTimestamp","mqttClient","host","accessCode","serial","lastState","isConnecting","eventsAllowed","sequenceIdCounter","isFirstMessage","loggerFactory","name","registerCredentials","socketLogin","loginDto","printerURL","replace","password","username","needsReopen","isApiOnline","responding","closed","error","needsSetup","needsReauth","isClosedOrAborted","aborted","reauthSession","debug","open","Error","connect","close","disconnect","catch","err","setupSocketSession","updateSocketState","updateApiState","noResponse","opening","allowEmittingEvents","disallowEmittingEvents","connected","opened","warn","mqttUrl","timeout","getTimeoutSettings","apiTimeout","log","connectionTimeout","setTimeout","mqtt","reconnectPeriod","rejectUnauthorized","on","clearTimeout","authenticated","reportTopic","subscribe","qos","sendPushallCommand","emitEvent","WsMessage","WS_ERROR","message","topic","Date","now","handleMessage","WS_CLOSED","offlineMessage","transformStateToCurrentMessage","print","cleanup","Promise","resolve","end","getLastState","payload","pushing","sequence_id","command","version","push_target","JSON","stringify","sendCommand","reject","publish","startPrint","filename","subtask_name","amsMapping","plateNumber","param","project_id","profile_id","task_id","subtask_id","file","url","md5","timelapse","bed_type","bed_levelling","flow_cali","vibration_cali","layer_inspect","ams_mapping","join","use_ams","length","pausePrint","resumePrint","stopPrint","sendGcode","gcode","resetSocketState","state","emitEventSync","WS_STATE_UPDATED","API_STATE_UPDATED","emitAsync","emit","isPrinting","gcode_state","mc_print_stage","isPaused","isConnected","hasError","print_error","isPausedText","onlineText","text","flags","operational","printing","paused","ready","cancelling","pausing","sdReady","closedOrError","temps","time","tool0","actual","nozzle_temper","target","nozzle_target_temper","bed","bed_temper","bed_target_temper","chamber","chamber_temper","progress","completion","mc_percent","printTime","printTimeLeft","mc_remaining_time","job","gcode_file","currentZ","layer_num","offsets","resends","count","transmitted","ratio","logs","messages","parse","toString","endsWith","currentMessage","combinedPayload","removeAllListeners"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bambu-mqtt.adapter.js","names":[],"sources":["../../../src/services/bambu/bambu-mqtt.adapter.ts"],"sourcesContent":["import type { ILoggerFactory } from \"@/handlers/logger-factory\";\nimport EventEmitter2 from \"eventemitter2\";\nimport { SettingsStore } from \"@/state/settings.store\";\nimport { LoggerService } from \"@/handlers/logger\";\nimport { PrintData } from \"@/services/bambu/mqtt-message.types\";\nimport mqtt from \"mqtt\";\nimport type { IWebsocketAdapter } from \"@/services/websocket-adapter.interface\";\nimport type { ISocketLogin } from \"@/shared/dtos/socket-login.dto\";\nimport type { LoginDto } from \"@/services/interfaces/login.dto\";\nimport { SOCKET_STATE, SocketState } from \"@/shared/dtos/socket-state.type\";\nimport { API_STATE, ApiState } from \"@/shared/dtos/api-state.type\";\nimport { BambuType } from \"@/services/printer-api.interface\";\nimport { WsMessage } from \"@/services/octoprint/octoprint-websocket.adapter\";\n\nexport const bambuEvent = (event: string) => `bambu.${event}`;\n\nexport interface BambuEventDto {\n event: string;\n payload: any;\n printerId?: number;\n printerType: typeof BambuType;\n}\n\nexport class BambuMqttAdapter implements IWebsocketAdapter {\n protected readonly logger: LoggerService;\n private readonly settingsStore: SettingsStore;\n private readonly eventEmitter2: EventEmitter2;\n\n public readonly printerType = BambuType;\n public printerId?: number;\n public socketState: SocketState = SOCKET_STATE.unopened;\n public apiState: ApiState = API_STATE.unset;\n public login: LoginDto;\n public lastMessageReceivedTimestamp: null | number = null;\n\n private mqttClient: mqtt.MqttClient | null = null;\n private host: string | null = null;\n private accessCode: string | null = null;\n private serial: string | null = null;\n private lastState: PrintData | null = null;\n private isConnecting = false;\n private eventsAllowed = true;\n private sequenceIdCounter = 10;\n private isFirstMessage = true;\n\n constructor(settingsStore: SettingsStore, loggerFactory: ILoggerFactory, eventEmitter2: EventEmitter2) {\n this.settingsStore = settingsStore;\n this.eventEmitter2 = eventEmitter2;\n this.logger = loggerFactory(BambuMqttAdapter.name);\n }\n\n registerCredentials(socketLogin: ISocketLogin): void {\n const { printerId, loginDto } = socketLogin;\n this.printerId = printerId;\n this.login = loginDto;\n\n this.host = loginDto.printerURL?.replace(/^https?:\\/\\//, \"\");\n this.accessCode = loginDto.password || null;\n this.serial = loginDto.username || null;\n }\n\n needsReopen(): boolean {\n const isApiOnline = this.apiState === API_STATE.responding;\n return isApiOnline && (this.socketState === SOCKET_STATE.closed || this.socketState === SOCKET_STATE.error);\n }\n\n needsSetup(): boolean {\n return this.socketState === SOCKET_STATE.unopened;\n }\n\n needsReauth(): boolean {\n return false;\n }\n\n isClosedOrAborted(): boolean {\n return this.socketState === SOCKET_STATE.closed || this.socketState === SOCKET_STATE.aborted;\n }\n\n async reauthSession(): Promise<void> {\n this.logger.debug(\"reauthSession called but not needed for Bambu\");\n }\n\n open(): void {\n if (!this.host || !this.accessCode || !this.serial) {\n throw new Error(\"Cannot open connection: credentials not registered\");\n }\n\n this.connect(this.host, this.accessCode, this.serial);\n }\n\n close(): void {\n this.disconnect().catch((err) => {\n this.logger.error(\"Error during MQTT disconnect:\", err);\n });\n }\n\n async setupSocketSession(): Promise<void> {\n // For Bambu, we just need to validate credentials are set\n if (!this.host || !this.accessCode || !this.serial) {\n this.updateSocketState(SOCKET_STATE.aborted);\n this.updateApiState(API_STATE.noResponse);\n throw new Error(\"Credentials not properly registered\");\n }\n\n this.updateSocketState(SOCKET_STATE.opening);\n this.updateApiState(API_STATE.responding);\n }\n\n allowEmittingEvents(): void {\n this.eventsAllowed = true;\n }\n\n disallowEmittingEvents(): void {\n this.eventsAllowed = false;\n }\n\n connect(host: string, accessCode: string, serial: string): void {\n if (this.mqttClient?.connected) {\n this.logger.debug(\"MQTT already connected\");\n this.updateSocketState(SOCKET_STATE.opened);\n return;\n }\n\n if (this.isConnecting) {\n this.logger.warn(\"Connection already in progress\");\n return;\n }\n\n this.host = host;\n this.accessCode = accessCode;\n this.serial = serial;\n this.isConnecting = true;\n this.updateSocketState(SOCKET_STATE.opening);\n\n const mqttUrl = `mqtts://${host}:8883`;\n const timeout = this.settingsStore.getTimeoutSettings().apiTimeout;\n\n this.logger.log(`Connecting to Bambu MQTT at ${mqttUrl}`);\n\n const connectionTimeout = setTimeout(() => {\n this.isConnecting = false;\n this.updateSocketState(SOCKET_STATE.error);\n this.logger.error(\"MQTT connection timeout - will keep trying to reconnect\");\n // Don't force end - let mqtt.js handle reconnection automatically\n // The close event handler will handle cleanup if needed\n }, timeout);\n\n try {\n this.mqttClient = mqtt.connect(mqttUrl, {\n username: \"bblp\",\n password: accessCode,\n reconnectPeriod: 5000,\n rejectUnauthorized: false,\n });\n\n this.mqttClient.on(\"connect\", () => {\n clearTimeout(connectionTimeout);\n this.isConnecting = false;\n this.updateSocketState(SOCKET_STATE.authenticated);\n this.updateApiState(API_STATE.responding);\n this.logger.log(\"MQTT connected successfully\");\n this.logger.debug(`Connected to MQTT broker at mqtts://${host}:8883`);\n\n const reportTopic = `device/${serial}/report`;\n this.mqttClient!.subscribe(reportTopic, { qos: 0 }, (err) => {\n if (err) {\n this.logger.error(`Failed to subscribe to ${reportTopic}:`, err);\n this.updateSocketState(SOCKET_STATE.error);\n } else {\n this.logger.debug(`Subscribed to ${reportTopic}`);\n\n this.sendPushallCommand().catch((err) => {\n this.logger.error(\"Failed to send pushall command:\", err);\n });\n }\n });\n });\n\n this.mqttClient.on(\"error\", (error) => {\n this.isConnecting = false;\n this.updateSocketState(SOCKET_STATE.error);\n this.emitEvent(WsMessage.WS_ERROR, error.message).catch(() => {});\n this.logger.error(\"MQTT error:\", error);\n });\n\n this.mqttClient.on(\"message\", (topic, message) => {\n this.lastMessageReceivedTimestamp = Date.now();\n this.handleMessage(topic, message);\n });\n\n this.mqttClient.on(\"disconnect\", () => {\n this.updateSocketState(SOCKET_STATE.closed);\n this.emitEvent(WsMessage.WS_CLOSED, \"disconnected\").catch(() => {});\n this.logger.warn(\"MQTT disconnected\");\n });\n\n this.mqttClient.on(\"reconnect\", () => {\n this.updateSocketState(SOCKET_STATE.opening);\n this.logger.log(\"MQTT attempting to reconnect...\");\n // Reset first message flag so we log on reconnection\n this.isFirstMessage = true;\n });\n\n this.mqttClient.on(\"close\", () => {\n this.updateSocketState(SOCKET_STATE.closed);\n this.updateApiState(API_STATE.noResponse);\n this.emitEvent(WsMessage.WS_CLOSED, \"connection closed\").catch(() => {});\n this.logger.warn(\"MQTT connection closed - automatic reconnection will be attempted\");\n\n // Emit a \"current\" event with offline state so frontend updates\n if (this.lastState) {\n const offlineMessage = this.transformStateToCurrentMessage(this.lastState);\n this.emitEvent(\"current\", { ...offlineMessage, print: this.lastState }).catch(() => {});\n }\n\n // Don't call cleanup() here - it destroys the client and prevents reconnection\n // cleanup() will be called in disconnect() when we intentionally close\n });\n\n this.mqttClient.on(\"offline\", () => {\n this.updateSocketState(SOCKET_STATE.closed);\n this.updateApiState(API_STATE.noResponse);\n this.logger.warn(\"MQTT client offline - automatic reconnection will be attempted\");\n\n if (this.lastState) {\n const offlineMessage = this.transformStateToCurrentMessage(this.lastState);\n this.emitEvent(\"current\", { ...offlineMessage, print: this.lastState }).catch(() => {});\n }\n });\n } catch (error) {\n clearTimeout(connectionTimeout);\n this.isConnecting = false;\n this.updateSocketState(SOCKET_STATE.error);\n this.logger.error(\"Failed to create MQTT client:\", error);\n this.cleanup();\n }\n }\n\n async disconnect(): Promise<void> {\n if (!this.mqttClient) {\n this.updateSocketState(SOCKET_STATE.closed);\n return;\n }\n\n this.logger.log(\"Disconnecting MQTT\");\n this.updateSocketState(SOCKET_STATE.closed);\n\n return new Promise<void>((resolve) => {\n if (this.mqttClient?.connected) {\n this.mqttClient.end(false, {}, () => {\n this.cleanup();\n resolve();\n });\n } else {\n this.cleanup();\n resolve();\n }\n });\n }\n\n getLastState(): PrintData | null {\n return this.lastState;\n }\n\n private async sendPushallCommand(): Promise<void> {\n const payload = {\n pushing: {\n sequence_id: this.sequenceIdCounter,\n command: \"pushall\",\n version: 1,\n push_target: 1,\n },\n };\n\n this.logger.debug(`Sending command: ${JSON.stringify(payload)} with sequence ID: ${this.sequenceIdCounter}`);\n this.sequenceIdCounter++;\n\n await this.sendCommand(payload);\n this.logger.debug(\"Connected to printer via MQTT\");\n }\n\n async sendCommand(payload: Record<string, any>): Promise<void> {\n if (!this.mqttClient?.connected) {\n throw new Error(\"MQTT not connected\");\n }\n\n if (!this.serial) {\n throw new Error(\"Serial number not set\");\n }\n\n const reportTopic = `device/${this.serial}/report`;\n const message = JSON.stringify(payload);\n\n return new Promise<void>((resolve, reject) => {\n this.mqttClient!.publish(reportTopic, message, { qos: 0 }, (err) => {\n if (err) {\n this.logger.error(\"Failed to send command:\", err);\n reject(err);\n } else {\n this.logger.debug(`Command sent: ${message}`);\n resolve();\n }\n });\n });\n }\n\n async startPrint(\n filename: string,\n subtask_name?: string,\n amsMapping?: number[],\n plateNumber: number = 1,\n ): Promise<void> {\n await this.sendCommand({\n print: {\n command: \"project_file\",\n param: `Metadata/plate_${plateNumber}.gcode`,\n project_id: \"0\", // Always 0 for local prints\n profile_id: \"0\", // Always 0 for local prints\n task_id: \"0\", // Always 0 for local prints\n subtask_id: \"0\", // Always 0 for local prints\n subtask_name: subtask_name ?? filename,\n\n file: \"\", // Filename to print, not needed when \"url\" is specified with filepath\n url: `file:///${filename}`, // URL to print. Root path, protocol can vary. E.g., if sd card, \"ftp:///myfile.3mf\", \"ftp:///cache/myotherfile.3mf\"\n md5: \"\",\n\n timelapse: true,\n bed_type: \"auto\", // Always \"auto\" for local prints\n bed_levelling: true,\n flow_cali: true,\n vibration_cali: true,\n layer_inspect: true,\n\n // AMS mapping: array where each index represents a filament color in your gcode\n // and the value is the AMS slot number (0-3) to use, or -1 to skip\n // Example: [0, 2, -1, 1] means: color 0 uses slot 0, color 1 uses slot 2, color 2 skipped, color 3 uses slot 1\n ams_mapping: amsMapping ? amsMapping.join(\",\") : \"\", // Convert [0, 1, 2, 3] to \"0,1,2,3\"\n use_ams: !!amsMapping && amsMapping.length > 0,\n\n sequence_id: this.sequenceIdCounter++,\n },\n });\n }\n\n async pausePrint(): Promise<void> {\n await this.sendCommand({\n print: {\n command: \"pause\",\n sequence_id: this.sequenceIdCounter++,\n },\n });\n }\n\n async resumePrint(): Promise<void> {\n await this.sendCommand({\n print: {\n command: \"resume\",\n sequence_id: this.sequenceIdCounter++,\n },\n });\n }\n\n async stopPrint(): Promise<void> {\n await this.sendCommand({\n print: {\n command: \"stop\",\n sequence_id: this.sequenceIdCounter++,\n },\n });\n }\n\n async sendGcode(gcode: string): Promise<void> {\n await this.sendCommand({\n print: {\n command: \"gcode_line\",\n param: gcode,\n sequence_id: this.sequenceIdCounter++,\n },\n });\n }\n\n resetSocketState(): void {\n this.lastState = null;\n }\n\n private updateSocketState(state: SocketState): void {\n this.socketState = state;\n this.emitEventSync(WsMessage.WS_STATE_UPDATED, state);\n }\n\n private updateApiState(state: ApiState): void {\n this.apiState = state;\n this.emitEventSync(WsMessage.API_STATE_UPDATED, state);\n }\n\n private async emitEvent(event: string, payload?: any): Promise<void> {\n if (!this.eventsAllowed) {\n return;\n }\n\n await this.eventEmitter2.emitAsync(bambuEvent(event), {\n event,\n payload,\n printerId: this.printerId,\n printerType: BambuType,\n } as BambuEventDto);\n }\n\n private emitEventSync(event: string, payload: any): void {\n if (!this.eventsAllowed) {\n return;\n }\n\n this.eventEmitter2.emit(bambuEvent(event), {\n event,\n payload,\n printerId: this.printerId,\n printerType: BambuType,\n } as BambuEventDto);\n }\n\n private transformStateToCurrentMessage(state: PrintData): any {\n const isPrinting = state.gcode_state === \"PRINTING\" || state.mc_print_stage === \"printing\";\n const isPaused = state.mc_print_stage === \"paused\";\n const isFailed = state.gcode_state === \"FAILED\";\n\n // Check if connection is alive\n const isConnected = this.mqttClient?.connected || false;\n // print_error is a side-channel hint that often carries non-zero stale codes when idle;\n // gcode_state is the authoritative print-state machine. Use FAILED for the error flag,\n // and surface print_error via debug logs so anomalies are still discoverable.\n const hasError = !isConnected || isFailed;\n if (state.print_error && state.print_error !== 0) {\n this.logger.debug(\n `Bambu print_error=${state.print_error} gcode_state=${state.gcode_state ?? \"?\"} (informational only)`,\n );\n }\n\n const isPausedText = isPaused ? \"Paused\" : \"Printing\";\n\n const onlineText = isPrinting ? isPausedText : \"Operational\";\n return {\n state: {\n text: isConnected ? (isFailed ? \"Error\" : onlineText) : \"Offline\",\n flags: {\n operational: isConnected && !isFailed,\n printing: isConnected && isPrinting && !isPaused,\n paused: isConnected && isPaused,\n ready: isConnected && !isPrinting && !isFailed,\n error: hasError,\n cancelling: false,\n pausing: false,\n sdReady: isConnected,\n closedOrError: !isConnected || isFailed,\n },\n },\n temps: [\n {\n time: Date.now(),\n tool0: {\n actual: state.nozzle_temper || 0,\n target: state.nozzle_target_temper || 0,\n },\n bed: {\n actual: state.bed_temper || 0,\n target: state.bed_target_temper || 0,\n },\n chamber: {\n actual: state.chamber_temper || 0,\n target: 0,\n },\n },\n ],\n progress: {\n completion: state.mc_percent || 0,\n printTime: null,\n printTimeLeft: state.mc_remaining_time ? state.mc_remaining_time * 60 : null,\n },\n job: {\n file: {\n name: state.gcode_file || state.subtask_name || null,\n },\n },\n currentZ: state.layer_num || null,\n offsets: {},\n resends: { count: 0, transmitted: 0, ratio: 0 },\n logs: [],\n messages: [],\n };\n }\n\n private handleMessage(topic: string, message: Buffer): void {\n try {\n const payload = JSON.parse(message.toString());\n\n if (topic.endsWith(\"/report\") && payload.print) {\n this.lastState = payload.print as PrintData;\n\n if (this.isFirstMessage) {\n this.logger.debug(\"Initial message received\");\n this.isFirstMessage = false;\n }\n\n // Emit combined payload:\n // - Transformed format for UI (state, temps, progress, job)\n // - Raw print object for PrinterEventsCache job tracking\n const currentMessage = this.transformStateToCurrentMessage(this.lastState);\n const combinedPayload = {\n ...currentMessage,\n print: payload.print, // Include raw print data for job tracking\n };\n this.emitEvent(\"current\", combinedPayload).catch((err) => {\n this.logger.error(\"Failed to emit current event:\", err);\n });\n }\n } catch (error) {\n this.logger.error(\"Failed to parse MQTT message:\", error);\n }\n }\n\n private cleanup(): void {\n if (this.mqttClient) {\n this.mqttClient.removeAllListeners();\n this.mqttClient = null;\n }\n this.isConnecting = false;\n this.lastState = null;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,67 +1,66 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
1
|
+
//#region src/services/bambu/bambu.client.ts
|
|
2
|
+
/**
|
|
3
|
+
* Bambu Lab printer client
|
|
4
|
+
* Manages FTP connections for file operations
|
|
5
|
+
*
|
|
6
|
+
* Note: MQTT adapter is managed by PrinterSocketStore, not this client
|
|
7
|
+
*
|
|
8
|
+
* Field mapping from Printer entity:
|
|
9
|
+
* - printerURL: Host IP address
|
|
10
|
+
* - password: Access code (8-character authentication code)
|
|
11
|
+
* - username: Serial number
|
|
12
|
+
*/
|
|
13
|
+
var BambuClient = class BambuClient {
|
|
14
|
+
eventEmitter2;
|
|
15
|
+
settingsStore;
|
|
16
|
+
logger;
|
|
17
|
+
ftpAdapter;
|
|
18
|
+
connected = false;
|
|
19
|
+
constructor(settingsStore, loggerFactory, eventEmitter2, bambuFtpAdapter) {
|
|
20
|
+
this.settingsStore = settingsStore;
|
|
21
|
+
this.eventEmitter2 = eventEmitter2;
|
|
22
|
+
this.logger = loggerFactory(BambuClient.name);
|
|
23
|
+
this.ftpAdapter = bambuFtpAdapter;
|
|
24
|
+
}
|
|
25
|
+
async connect(login) {
|
|
26
|
+
const host = this.extractHost(login.printerURL);
|
|
27
|
+
const accessCode = login.password || "";
|
|
28
|
+
if (!accessCode) throw new Error("Access code (password) is required for Bambu Lab printers");
|
|
29
|
+
this.logger.log(`Connecting to Bambu Lab printer FTP at ${host}`);
|
|
30
|
+
try {
|
|
31
|
+
await this.ftpAdapter.connect(host, accessCode);
|
|
32
|
+
this.connected = true;
|
|
33
|
+
this.logger.log("Successfully connected to Bambu Lab printer FTP");
|
|
34
|
+
} catch (error) {
|
|
35
|
+
this.logger.error("Failed to connect to Bambu Lab printer FTP:", error);
|
|
36
|
+
await this.disconnect();
|
|
37
|
+
throw error;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
async disconnect() {
|
|
41
|
+
this.logger.log("Disconnecting from Bambu Lab printer FTP");
|
|
42
|
+
await this.ftpAdapter.disconnect();
|
|
43
|
+
this.connected = false;
|
|
44
|
+
this.logger.log("Disconnected from Bambu Lab printer FTP");
|
|
45
|
+
}
|
|
46
|
+
get ftp() {
|
|
47
|
+
return this.ftpAdapter;
|
|
48
|
+
}
|
|
49
|
+
get isConnected() {
|
|
50
|
+
return this.connected && this.ftpAdapter.isConnected;
|
|
51
|
+
}
|
|
52
|
+
extractHost(printerURL) {
|
|
53
|
+
try {
|
|
54
|
+
return new URL(printerURL).hostname;
|
|
55
|
+
} catch {
|
|
56
|
+
return printerURL.replace(/^https?:\/\//, "").split(":")[0].split("/")[0];
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
async getApiVersion(_login, _timeout) {
|
|
60
|
+
return { version: "bambu-1.0" };
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
//#endregion
|
|
64
|
+
export { BambuClient };
|
|
66
65
|
|
|
67
66
|
//# sourceMappingURL=bambu.client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/services/bambu/bambu.client.ts"],"
|
|
1
|
+
{"version":3,"file":"bambu.client.js","names":[],"sources":["../../../src/services/bambu/bambu.client.ts"],"sourcesContent":["import EventEmitter2 from \"eventemitter2\";\nimport { LoggerService } from \"@/handlers/logger\";\nimport { SettingsStore } from \"@/state/settings.store\";\nimport type { ILoggerFactory } from \"@/handlers/logger-factory\";\nimport type { LoginDto } from \"@/services/interfaces/login.dto\";\nimport { BambuFtpAdapter } from \"@/services/bambu/bambu-ftp.adapter\";\n\n/**\n * Bambu Lab printer client\n * Manages FTP connections for file operations\n *\n * Note: MQTT adapter is managed by PrinterSocketStore, not this client\n *\n * Field mapping from Printer entity:\n * - printerURL: Host IP address\n * - password: Access code (8-character authentication code)\n * - username: Serial number\n */\nexport class BambuClient {\n readonly eventEmitter2: EventEmitter2;\n readonly settingsStore: SettingsStore;\n protected readonly logger: LoggerService;\n private readonly ftpAdapter: BambuFtpAdapter;\n private connected = false;\n\n constructor(\n settingsStore: SettingsStore,\n loggerFactory: ILoggerFactory,\n eventEmitter2: EventEmitter2,\n bambuFtpAdapter: BambuFtpAdapter,\n ) {\n this.settingsStore = settingsStore;\n this.eventEmitter2 = eventEmitter2;\n this.logger = loggerFactory(BambuClient.name);\n this.ftpAdapter = bambuFtpAdapter;\n }\n\n async connect(login: LoginDto): Promise<void> {\n const host = this.extractHost(login.printerURL);\n const accessCode = login.password || \"\";\n\n if (!accessCode) {\n throw new Error(\"Access code (password) is required for Bambu Lab printers\");\n }\n\n this.logger.log(`Connecting to Bambu Lab printer FTP at ${host}`);\n\n try {\n await this.ftpAdapter.connect(host, accessCode);\n this.connected = true;\n this.logger.log(\"Successfully connected to Bambu Lab printer FTP\");\n } catch (error) {\n this.logger.error(\"Failed to connect to Bambu Lab printer FTP:\", error);\n await this.disconnect();\n throw error;\n }\n }\n\n async disconnect(): Promise<void> {\n this.logger.log(\"Disconnecting from Bambu Lab printer FTP\");\n await this.ftpAdapter.disconnect();\n this.connected = false;\n this.logger.log(\"Disconnected from Bambu Lab printer FTP\");\n }\n\n get ftp(): BambuFtpAdapter {\n return this.ftpAdapter;\n }\n\n get isConnected(): boolean {\n return this.connected && this.ftpAdapter.isConnected;\n }\n\n private extractHost(printerURL: string): string {\n try {\n const url = new URL(printerURL);\n return url.hostname;\n } catch {\n // If not a valid URL, assume it's just the hostname/IP\n return printerURL\n .replace(/^https?:\\/\\//, \"\")\n .split(\":\")[0]\n .split(\"/\")[0];\n }\n }\n\n async getApiVersion(_login: LoginDto, _timeout?: number): Promise<{ version: string }> {\n return { version: \"bambu-1.0\" };\n }\n}\n"],"mappings":";;;;;;;;;;;;AAkBA,IAAa,cAAb,MAAa,YAAY;CACvB;CACA;CACA;CACA;CACA,YAAoB;CAEpB,YACE,eACA,eACA,eACA,iBACA;AACA,OAAK,gBAAgB;AACrB,OAAK,gBAAgB;AACrB,OAAK,SAAS,cAAc,YAAY,KAAK;AAC7C,OAAK,aAAa;;CAGpB,MAAM,QAAQ,OAAgC;EAC5C,MAAM,OAAO,KAAK,YAAY,MAAM,WAAW;EAC/C,MAAM,aAAa,MAAM,YAAY;AAErC,MAAI,CAAC,WACH,OAAM,IAAI,MAAM,4DAA4D;AAG9E,OAAK,OAAO,IAAI,0CAA0C,OAAO;AAEjE,MAAI;AACF,SAAM,KAAK,WAAW,QAAQ,MAAM,WAAW;AAC/C,QAAK,YAAY;AACjB,QAAK,OAAO,IAAI,kDAAkD;WAC3D,OAAO;AACd,QAAK,OAAO,MAAM,+CAA+C,MAAM;AACvE,SAAM,KAAK,YAAY;AACvB,SAAM;;;CAIV,MAAM,aAA4B;AAChC,OAAK,OAAO,IAAI,2CAA2C;AAC3D,QAAM,KAAK,WAAW,YAAY;AAClC,OAAK,YAAY;AACjB,OAAK,OAAO,IAAI,0CAA0C;;CAG5D,IAAI,MAAuB;AACzB,SAAO,KAAK;;CAGd,IAAI,cAAuB;AACzB,SAAO,KAAK,aAAa,KAAK,WAAW;;CAG3C,YAAoB,YAA4B;AAC9C,MAAI;AAEF,UAAO,IADS,IAAI,WACV,CAAC;UACL;AAEN,UAAO,WACJ,QAAQ,gBAAgB,GAAG,CAC3B,MAAM,IAAI,CAAC,GACX,MAAM,IAAI,CAAC;;;CAIlB,MAAM,cAAc,QAAkB,UAAiD;AACrF,SAAO,EAAE,SAAS,aAAa"}
|