@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,172 +1,132 @@
|
|
|
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
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
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"],"
|
|
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":";AAgBA,IAAa,oBAAb,MAA+B;CAC7B;CACA;CACA;CAEA;CACA,OAAuB;CACvB,QAAQ;CAER,cAA8B;CAC9B,cAA8B;CAE9B;CACA,aAA6B;CAC7B,iBAAiC;CACjC,gBAAgC;CAEhC,YAAY,YAAoB,eAAuB;AACrD,OAAK,aAAa;AAClB,OAAK,gBAAgB;AACrB,OAAK,aAAa,KAAK;AAEvB,OAAK,SAAS,OAAO,MAAM,KAAK,WAAW;AAC3C,OAAK,cAAc,OAAO,MAAM,EAAE;;CAGpC,WAAW,OAAuB;AAChC,OAAK,cAAc;AACnB,OAAK,aAAa;AAClB,OAAK,iBAAiB;AACtB,OAAK,gBAAgB;AACrB,OAAK,OAAO;AACZ,OAAK,QAAA;EAEL,MAAM,SAAmB,EAAE;AAE3B,SAAO,KAAK,aAAa,KAAK,YAAY,UAAU,KAAK,gBAAgB,GAAG;GAC1E,MAAM,SAAS,KAAK,MAAM;AAC1B,OAAI,WAAW,KACb;AAEF,OAAI,UAAU,EACZ,QAAO,KAAK,OAAO;;AAIvB,SAAO,OAAO,KAAK,OAAO;;CAG5B,OAA8B;AAC5B,UAAQ,KAAK,OAAb;GACE,KAAA,EACE,QAAO,KAAK,cAAc;GAC5B,KAAA,EACE,QAAO,KAAK,oBAAoB;GAClC,KAAA,EACE,QAAO,KAAK,uBAAuB;GACrC,KAAA,EACE,QAAO,KAAK,uBAAuB;GACrC,KAAA,EACE,QAAO,KAAK,uBAAuB;GACrC,KAAA,EACE,QAAO,KAAK,uBAAuB;GACrC,KAAA,EACE,QAAO,KAAK,oBAAoB;GAClC,QACE,QAAO;;;CAIb,SAAiB,OAA8B;AAE7C,SAAO,KAAK,gBAAgB,SAAS,KAAK,aAAa,KAAK,YAAY,QAAQ;AAC9E,QAAK,iBAAkB,KAAK,kBAAkB,IAAK,KAAK,YAAY,KAAK;AACzE,QAAK,iBAAiB;;AAGxB,MAAI,KAAK,gBAAgB,MACvB,QAAO;AAIT,OAAK,iBAAiB;EACtB,MAAM,SAAU,KAAK,kBAAkB,KAAK,iBAAmB,KAAK,SAAS;AAC7E,OAAK,mBAAmB,KAAK,KAAK,iBAAiB;AAEnD,SAAO;;CAGT,eAAsC;EACpC,MAAM,MAAM,KAAK,SAAS,EAAE;AAC5B,MAAI,QAAQ,KAAM,QAAO;AAEzB,MAAI,QAAQ,EAEV,MAAK,QAAA;WAGD,KAAK,aAAa,EACpB,MAAK,QAAA;OACA;AACL,QAAK,cAAc;AACnB,QAAK,QAAA;;AAGT,SAAO;;CAGT,qBAA4C;EAC1C,MAAM,OAAO,KAAK,SAAS,EAAE;AAC7B,MAAI,SAAS,KAAM,QAAO;AAE1B,OAAK,SAAS,KAAK;AACnB,OAAK,QAAA;AACL,SAAO;;CAGT,wBAA+C;EAC7C,MAAM,MAAM,KAAK,SAAS,KAAK,aAAa,EAAE;AAC9C,MAAI,QAAQ,KAAM,QAAO;AAEzB,OAAK,cAAc,OAAO;AAC1B,OAAK,QAAA;AACL,SAAO;;CAGT,wBAA+C;EAC7C,MAAM,OAAO,KAAK,aAAa,IAAI,IAAI,KAAK;EAC5C,MAAM,MAAM,KAAK,SAAS,KAAK;AAC/B,MAAI,QAAQ,KAAM,QAAO;AAEzB,OAAK,eAAe;AACpB,OAAK,cAAc;AAEnB,MAAI,KAAK,gBAAgB,EACvB,MAAK,QAAA;MAEL,MAAK,QAAA;AAEP,SAAO;;CAGT,wBAA+C;EAC7C,MAAM,MAAM,KAAK,SAAS,KAAK,gBAAgB,EAAE;AACjD,MAAI,QAAQ,KAAM,QAAO;AAEzB,OAAK,cAAc,OAAO;AAC1B,OAAK,QAAA;AACL,SAAO;;CAGT,wBAA+C;EAC7C,MAAM,OAAO,KAAK,gBAAgB,IAAI,IAAI,KAAK;EAC/C,MAAM,MAAM,KAAK,SAAS,KAAK;AAC/B,MAAI,QAAQ,KAAM,QAAO;AAEzB,OAAK,eAAe;AACpB,OAAK,eAAe;AACpB,OAAK,eAAe;AAEpB,OAAK,QAAA;AACL,SAAO;;CAGT,qBAA4C;AAC1C,MAAI,KAAK,gBAAgB,GAAG;AAC1B,QAAK,QAAA;AACL,UAAO;;EAIT,MAAM,OAAO,KAAK,OAAO,KAAK,cAAc,KAAK,cAAc,KAAK;EACpE,MAAM,OAAO,KAAK,OAAO;AAEzB,OAAK,SAAS,KAAK;AACnB,OAAK;AAEL,MAAI,KAAK,gBAAgB,EACvB,MAAK,QAAA;AAGP,SAAO;;CAGT,SAAiB,MAAoB;AACnC,OAAK,OAAO,KAAK,QAAQ;AACzB,OAAK,QAAQ,KAAK,OAAO,KAAK,KAAK"}
|
|
@@ -1,76 +1,63 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
4
|
+
137,
|
|
5
|
+
80,
|
|
6
|
+
78,
|
|
7
|
+
71,
|
|
8
|
+
13,
|
|
9
|
+
10,
|
|
10
|
+
26,
|
|
11
|
+
10
|
|
21
12
|
]);
|
|
22
13
|
function crc32(buffer) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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"],"
|
|
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"}
|