@usarral/century-link-ts 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +171 -0
  3. package/dist/CenturyLink.d.ts +53 -0
  4. package/dist/CenturyLink.d.ts.map +1 -0
  5. package/dist/CenturyLink.js +103 -0
  6. package/dist/CenturyLink.js.map +1 -0
  7. package/dist/application/result/ElegooError.d.ts +7 -0
  8. package/dist/application/result/ElegooError.d.ts.map +1 -0
  9. package/dist/application/result/ElegooError.js +11 -0
  10. package/dist/application/result/ElegooError.js.map +1 -0
  11. package/dist/application/result/Result.d.ts +12 -0
  12. package/dist/application/result/Result.d.ts.map +1 -0
  13. package/dist/application/result/Result.js +12 -0
  14. package/dist/application/result/Result.js.map +1 -0
  15. package/dist/application/result/Result.test.d.ts +2 -0
  16. package/dist/application/result/Result.test.d.ts.map +1 -0
  17. package/dist/application/result/Result.test.js +46 -0
  18. package/dist/application/result/Result.test.js.map +1 -0
  19. package/dist/application/use-cases/ConnectPrinterUseCase.d.ts +9 -0
  20. package/dist/application/use-cases/ConnectPrinterUseCase.d.ts.map +1 -0
  21. package/dist/application/use-cases/ConnectPrinterUseCase.js +10 -0
  22. package/dist/application/use-cases/ConnectPrinterUseCase.js.map +1 -0
  23. package/dist/application/use-cases/DiscoverPrintersUseCase.d.ts +8 -0
  24. package/dist/application/use-cases/DiscoverPrintersUseCase.d.ts.map +1 -0
  25. package/dist/application/use-cases/DiscoverPrintersUseCase.js +36 -0
  26. package/dist/application/use-cases/DiscoverPrintersUseCase.js.map +1 -0
  27. package/dist/application/use-cases/GetFileListUseCase.d.ts +9 -0
  28. package/dist/application/use-cases/GetFileListUseCase.d.ts.map +1 -0
  29. package/dist/application/use-cases/GetFileListUseCase.js +10 -0
  30. package/dist/application/use-cases/GetFileListUseCase.js.map +1 -0
  31. package/dist/application/use-cases/GetPrinterStatusUseCase.d.ts +9 -0
  32. package/dist/application/use-cases/GetPrinterStatusUseCase.d.ts.map +1 -0
  33. package/dist/application/use-cases/GetPrinterStatusUseCase.js +10 -0
  34. package/dist/application/use-cases/GetPrinterStatusUseCase.js.map +1 -0
  35. package/dist/application/use-cases/PausePrintUseCase.d.ts +8 -0
  36. package/dist/application/use-cases/PausePrintUseCase.d.ts.map +1 -0
  37. package/dist/application/use-cases/PausePrintUseCase.js +10 -0
  38. package/dist/application/use-cases/PausePrintUseCase.js.map +1 -0
  39. package/dist/application/use-cases/ResumePrintUseCase.d.ts +8 -0
  40. package/dist/application/use-cases/ResumePrintUseCase.d.ts.map +1 -0
  41. package/dist/application/use-cases/ResumePrintUseCase.js +10 -0
  42. package/dist/application/use-cases/ResumePrintUseCase.js.map +1 -0
  43. package/dist/application/use-cases/StartPrintUseCase.d.ts +8 -0
  44. package/dist/application/use-cases/StartPrintUseCase.d.ts.map +1 -0
  45. package/dist/application/use-cases/StartPrintUseCase.js +10 -0
  46. package/dist/application/use-cases/StartPrintUseCase.js.map +1 -0
  47. package/dist/application/use-cases/StopPrintUseCase.d.ts +8 -0
  48. package/dist/application/use-cases/StopPrintUseCase.d.ts.map +1 -0
  49. package/dist/application/use-cases/StopPrintUseCase.js +10 -0
  50. package/dist/application/use-cases/StopPrintUseCase.js.map +1 -0
  51. package/dist/application/use-cases/UploadFileUseCase.d.ts +8 -0
  52. package/dist/application/use-cases/UploadFileUseCase.d.ts.map +1 -0
  53. package/dist/application/use-cases/UploadFileUseCase.js +10 -0
  54. package/dist/application/use-cases/UploadFileUseCase.js.map +1 -0
  55. package/dist/domain/entities/DiscoveredPrinter.d.ts +14 -0
  56. package/dist/domain/entities/DiscoveredPrinter.d.ts.map +1 -0
  57. package/dist/domain/entities/DiscoveredPrinter.js +2 -0
  58. package/dist/domain/entities/DiscoveredPrinter.js.map +1 -0
  59. package/dist/domain/entities/FileInfo.d.ts +26 -0
  60. package/dist/domain/entities/FileInfo.d.ts.map +1 -0
  61. package/dist/domain/entities/FileInfo.js +2 -0
  62. package/dist/domain/entities/FileInfo.js.map +1 -0
  63. package/dist/domain/entities/PrintTask.d.ts +17 -0
  64. package/dist/domain/entities/PrintTask.d.ts.map +1 -0
  65. package/dist/domain/entities/PrintTask.js +2 -0
  66. package/dist/domain/entities/PrintTask.js.map +1 -0
  67. package/dist/domain/entities/PrinterAttributes.d.ts +44 -0
  68. package/dist/domain/entities/PrinterAttributes.d.ts.map +1 -0
  69. package/dist/domain/entities/PrinterAttributes.js +2 -0
  70. package/dist/domain/entities/PrinterAttributes.js.map +1 -0
  71. package/dist/domain/entities/PrinterInfo.d.ts +16 -0
  72. package/dist/domain/entities/PrinterInfo.d.ts.map +1 -0
  73. package/dist/domain/entities/PrinterInfo.js +2 -0
  74. package/dist/domain/entities/PrinterInfo.js.map +1 -0
  75. package/dist/domain/entities/PrinterStatus.d.ts +86 -0
  76. package/dist/domain/entities/PrinterStatus.d.ts.map +1 -0
  77. package/dist/domain/entities/PrinterStatus.js +2 -0
  78. package/dist/domain/entities/PrinterStatus.js.map +1 -0
  79. package/dist/domain/events/PrinterAttributesEvent.d.ts +7 -0
  80. package/dist/domain/events/PrinterAttributesEvent.d.ts.map +1 -0
  81. package/dist/domain/events/PrinterAttributesEvent.js +2 -0
  82. package/dist/domain/events/PrinterAttributesEvent.js.map +1 -0
  83. package/dist/domain/events/PrinterConnectionEvent.d.ts +6 -0
  84. package/dist/domain/events/PrinterConnectionEvent.d.ts.map +1 -0
  85. package/dist/domain/events/PrinterConnectionEvent.js +2 -0
  86. package/dist/domain/events/PrinterConnectionEvent.js.map +1 -0
  87. package/dist/domain/events/PrinterStatusEvent.d.ts +7 -0
  88. package/dist/domain/events/PrinterStatusEvent.d.ts.map +1 -0
  89. package/dist/domain/events/PrinterStatusEvent.js +2 -0
  90. package/dist/domain/events/PrinterStatusEvent.js.map +1 -0
  91. package/dist/domain/ports/DiscoveryAdapter.d.ts +10 -0
  92. package/dist/domain/ports/DiscoveryAdapter.d.ts.map +1 -0
  93. package/dist/domain/ports/DiscoveryAdapter.js +2 -0
  94. package/dist/domain/ports/DiscoveryAdapter.js.map +1 -0
  95. package/dist/domain/ports/EventBus.d.ts +8 -0
  96. package/dist/domain/ports/EventBus.d.ts.map +1 -0
  97. package/dist/domain/ports/EventBus.js +2 -0
  98. package/dist/domain/ports/EventBus.js.map +1 -0
  99. package/dist/domain/ports/FileAdapter.d.ts +26 -0
  100. package/dist/domain/ports/FileAdapter.d.ts.map +1 -0
  101. package/dist/domain/ports/FileAdapter.js +2 -0
  102. package/dist/domain/ports/FileAdapter.js.map +1 -0
  103. package/dist/domain/ports/PrinterAdapter.d.ts +74 -0
  104. package/dist/domain/ports/PrinterAdapter.d.ts.map +1 -0
  105. package/dist/domain/ports/PrinterAdapter.js +2 -0
  106. package/dist/domain/ports/PrinterAdapter.js.map +1 -0
  107. package/dist/domain/types/ErrorCode.d.ts +43 -0
  108. package/dist/domain/types/ErrorCode.d.ts.map +1 -0
  109. package/dist/domain/types/ErrorCode.js +49 -0
  110. package/dist/domain/types/ErrorCode.js.map +1 -0
  111. package/dist/domain/types/PrinterState.d.ts +24 -0
  112. package/dist/domain/types/PrinterState.d.ts.map +1 -0
  113. package/dist/domain/types/PrinterState.js +25 -0
  114. package/dist/domain/types/PrinterState.js.map +1 -0
  115. package/dist/domain/types/PrinterSubState.d.ts +59 -0
  116. package/dist/domain/types/PrinterSubState.d.ts.map +1 -0
  117. package/dist/domain/types/PrinterSubState.js +73 -0
  118. package/dist/domain/types/PrinterSubState.js.map +1 -0
  119. package/dist/domain/types/PrinterType.d.ts +8 -0
  120. package/dist/domain/types/PrinterType.d.ts.map +1 -0
  121. package/dist/domain/types/PrinterType.js +9 -0
  122. package/dist/domain/types/PrinterType.js.map +1 -0
  123. package/dist/domain/value-objects/PrinterId.d.ts +7 -0
  124. package/dist/domain/value-objects/PrinterId.d.ts.map +1 -0
  125. package/dist/domain/value-objects/PrinterId.js +6 -0
  126. package/dist/domain/value-objects/PrinterId.js.map +1 -0
  127. package/dist/domain/value-objects/Progress.d.ts +9 -0
  128. package/dist/domain/value-objects/Progress.d.ts.map +1 -0
  129. package/dist/domain/value-objects/Progress.js +4 -0
  130. package/dist/domain/value-objects/Progress.js.map +1 -0
  131. package/dist/domain/value-objects/Temperature.d.ts +8 -0
  132. package/dist/domain/value-objects/Temperature.d.ts.map +1 -0
  133. package/dist/domain/value-objects/Temperature.js +4 -0
  134. package/dist/domain/value-objects/Temperature.js.map +1 -0
  135. package/dist/index.d.ts +19 -0
  136. package/dist/index.d.ts.map +1 -0
  137. package/dist/index.js +10 -0
  138. package/dist/index.js.map +1 -0
  139. package/dist/infrastructure/adapters/cc-v1/CcV1DiscoveryAdapter.d.ts +6 -0
  140. package/dist/infrastructure/adapters/cc-v1/CcV1DiscoveryAdapter.d.ts.map +1 -0
  141. package/dist/infrastructure/adapters/cc-v1/CcV1DiscoveryAdapter.js +39 -0
  142. package/dist/infrastructure/adapters/cc-v1/CcV1DiscoveryAdapter.js.map +1 -0
  143. package/dist/infrastructure/adapters/cc-v1/CcV1FileAdapter.d.ts +16 -0
  144. package/dist/infrastructure/adapters/cc-v1/CcV1FileAdapter.d.ts.map +1 -0
  145. package/dist/infrastructure/adapters/cc-v1/CcV1FileAdapter.js +87 -0
  146. package/dist/infrastructure/adapters/cc-v1/CcV1FileAdapter.js.map +1 -0
  147. package/dist/infrastructure/adapters/cc-v1/CcV1PrinterAdapter.d.ts +47 -0
  148. package/dist/infrastructure/adapters/cc-v1/CcV1PrinterAdapter.d.ts.map +1 -0
  149. package/dist/infrastructure/adapters/cc-v1/CcV1PrinterAdapter.js +332 -0
  150. package/dist/infrastructure/adapters/cc-v1/CcV1PrinterAdapter.js.map +1 -0
  151. package/dist/infrastructure/adapters/cc-v1/CcV1StatusMapper.d.ts +36 -0
  152. package/dist/infrastructure/adapters/cc-v1/CcV1StatusMapper.d.ts.map +1 -0
  153. package/dist/infrastructure/adapters/cc-v1/CcV1StatusMapper.js +59 -0
  154. package/dist/infrastructure/adapters/cc-v1/CcV1StatusMapper.js.map +1 -0
  155. package/dist/infrastructure/adapters/cc-v2/CcV2DiscoveryAdapter.d.ts +6 -0
  156. package/dist/infrastructure/adapters/cc-v2/CcV2DiscoveryAdapter.d.ts.map +1 -0
  157. package/dist/infrastructure/adapters/cc-v2/CcV2DiscoveryAdapter.js +41 -0
  158. package/dist/infrastructure/adapters/cc-v2/CcV2DiscoveryAdapter.js.map +1 -0
  159. package/dist/infrastructure/adapters/cc-v2/CcV2FileAdapter.d.ts +16 -0
  160. package/dist/infrastructure/adapters/cc-v2/CcV2FileAdapter.d.ts.map +1 -0
  161. package/dist/infrastructure/adapters/cc-v2/CcV2FileAdapter.js +117 -0
  162. package/dist/infrastructure/adapters/cc-v2/CcV2FileAdapter.js.map +1 -0
  163. package/dist/infrastructure/adapters/cc-v2/CcV2PrinterAdapter.d.ts +50 -0
  164. package/dist/infrastructure/adapters/cc-v2/CcV2PrinterAdapter.d.ts.map +1 -0
  165. package/dist/infrastructure/adapters/cc-v2/CcV2PrinterAdapter.js +410 -0
  166. package/dist/infrastructure/adapters/cc-v2/CcV2PrinterAdapter.js.map +1 -0
  167. package/dist/infrastructure/adapters/cc-v2/CcV2StatusMapper.d.ts +81 -0
  168. package/dist/infrastructure/adapters/cc-v2/CcV2StatusMapper.d.ts.map +1 -0
  169. package/dist/infrastructure/adapters/cc-v2/CcV2StatusMapper.js +116 -0
  170. package/dist/infrastructure/adapters/cc-v2/CcV2StatusMapper.js.map +1 -0
  171. package/dist/infrastructure/adapters/cc-v2/CcV2StatusMapper.test.d.ts +2 -0
  172. package/dist/infrastructure/adapters/cc-v2/CcV2StatusMapper.test.d.ts.map +1 -0
  173. package/dist/infrastructure/adapters/cc-v2/CcV2StatusMapper.test.js +59 -0
  174. package/dist/infrastructure/adapters/cc-v2/CcV2StatusMapper.test.js.map +1 -0
  175. package/dist/infrastructure/adapters/moonraker/MoonrakerFileAdapter.d.ts +16 -0
  176. package/dist/infrastructure/adapters/moonraker/MoonrakerFileAdapter.d.ts.map +1 -0
  177. package/dist/infrastructure/adapters/moonraker/MoonrakerFileAdapter.js +137 -0
  178. package/dist/infrastructure/adapters/moonraker/MoonrakerFileAdapter.js.map +1 -0
  179. package/dist/infrastructure/adapters/moonraker/MoonrakerPrinterAdapter.d.ts +52 -0
  180. package/dist/infrastructure/adapters/moonraker/MoonrakerPrinterAdapter.d.ts.map +1 -0
  181. package/dist/infrastructure/adapters/moonraker/MoonrakerPrinterAdapter.js +303 -0
  182. package/dist/infrastructure/adapters/moonraker/MoonrakerPrinterAdapter.js.map +1 -0
  183. package/dist/infrastructure/adapters/moonraker/MoonrakerStatusMapper.d.ts +37 -0
  184. package/dist/infrastructure/adapters/moonraker/MoonrakerStatusMapper.d.ts.map +1 -0
  185. package/dist/infrastructure/adapters/moonraker/MoonrakerStatusMapper.js +84 -0
  186. package/dist/infrastructure/adapters/moonraker/MoonrakerStatusMapper.js.map +1 -0
  187. package/dist/infrastructure/factory/PrinterAdapterFactory.d.ts +12 -0
  188. package/dist/infrastructure/factory/PrinterAdapterFactory.d.ts.map +1 -0
  189. package/dist/infrastructure/factory/PrinterAdapterFactory.js +42 -0
  190. package/dist/infrastructure/factory/PrinterAdapterFactory.js.map +1 -0
  191. package/dist/infrastructure/transport/Transport.d.ts +19 -0
  192. package/dist/infrastructure/transport/Transport.d.ts.map +1 -0
  193. package/dist/infrastructure/transport/Transport.js +2 -0
  194. package/dist/infrastructure/transport/Transport.js.map +1 -0
  195. package/dist/infrastructure/transport/http/HttpClient.d.ts +23 -0
  196. package/dist/infrastructure/transport/http/HttpClient.d.ts.map +1 -0
  197. package/dist/infrastructure/transport/http/HttpClient.js +73 -0
  198. package/dist/infrastructure/transport/http/HttpClient.js.map +1 -0
  199. package/dist/infrastructure/transport/mqtt/CcV2Codec.d.ts +46 -0
  200. package/dist/infrastructure/transport/mqtt/CcV2Codec.d.ts.map +1 -0
  201. package/dist/infrastructure/transport/mqtt/CcV2Codec.js +41 -0
  202. package/dist/infrastructure/transport/mqtt/CcV2Codec.js.map +1 -0
  203. package/dist/infrastructure/transport/mqtt/CcV2Codec.test.d.ts +2 -0
  204. package/dist/infrastructure/transport/mqtt/CcV2Codec.test.d.ts.map +1 -0
  205. package/dist/infrastructure/transport/mqtt/CcV2Codec.test.js +48 -0
  206. package/dist/infrastructure/transport/mqtt/CcV2Codec.test.js.map +1 -0
  207. package/dist/infrastructure/transport/mqtt/MqttTransport.d.ts +26 -0
  208. package/dist/infrastructure/transport/mqtt/MqttTransport.d.ts.map +1 -0
  209. package/dist/infrastructure/transport/mqtt/MqttTransport.js +188 -0
  210. package/dist/infrastructure/transport/mqtt/MqttTransport.js.map +1 -0
  211. package/dist/infrastructure/transport/udp/UdpSocket.d.ts +13 -0
  212. package/dist/infrastructure/transport/udp/UdpSocket.d.ts.map +1 -0
  213. package/dist/infrastructure/transport/udp/UdpSocket.js +37 -0
  214. package/dist/infrastructure/transport/udp/UdpSocket.js.map +1 -0
  215. package/dist/infrastructure/transport/websocket/CcV1Codec.d.ts +33 -0
  216. package/dist/infrastructure/transport/websocket/CcV1Codec.d.ts.map +1 -0
  217. package/dist/infrastructure/transport/websocket/CcV1Codec.js +51 -0
  218. package/dist/infrastructure/transport/websocket/CcV1Codec.js.map +1 -0
  219. package/dist/infrastructure/transport/websocket/CcV1Codec.test.d.ts +2 -0
  220. package/dist/infrastructure/transport/websocket/CcV1Codec.test.d.ts.map +1 -0
  221. package/dist/infrastructure/transport/websocket/CcV1Codec.test.js +79 -0
  222. package/dist/infrastructure/transport/websocket/CcV1Codec.test.js.map +1 -0
  223. package/dist/infrastructure/transport/websocket/WebSocketTransport.d.ts +13 -0
  224. package/dist/infrastructure/transport/websocket/WebSocketTransport.d.ts.map +1 -0
  225. package/dist/infrastructure/transport/websocket/WebSocketTransport.js +71 -0
  226. package/dist/infrastructure/transport/websocket/WebSocketTransport.js.map +1 -0
  227. package/docs/cc2-protocol.md +244 -0
  228. package/package.json +59 -0
@@ -0,0 +1,410 @@
1
+ import { MqttTransport } from "../../transport/mqtt/MqttTransport.js";
2
+ import { encodeRequest, decodeMessage, isStatusPush, isAttributesPush, CC_V2_METHOD, } from "../../transport/mqtt/CcV2Codec.js";
3
+ import { mapStatus } from "./CcV2StatusMapper.js";
4
+ import { ErrorCode } from "../../../domain/types/ErrorCode.js";
5
+ import { PrinterType } from "../../../domain/types/PrinterType.js";
6
+ import { ok, err } from "../../../application/result/Result.js";
7
+ import { ElegooError } from "../../../application/result/ElegooError.js";
8
+ const REQUEST_TIMEOUT_MS = 10_000;
9
+ export class CcV2PrinterAdapter {
10
+ transport = new MqttTransport();
11
+ printerInfo = null;
12
+ pending = new Map();
13
+ statusHandlers = new Set();
14
+ attributesHandlers = new Set();
15
+ connectionHandlers = new Set();
16
+ unsubscribeTransport = null;
17
+ unsubscribeConnectionChange = null;
18
+ async connect(params) {
19
+ try {
20
+ await this.transport.connect({
21
+ host: params.host,
22
+ timeoutMs: params.connectionTimeoutMs,
23
+ username: params.username,
24
+ password: params.password ?? params.accessCode,
25
+ serialNumber: params.serialNumber ?? "",
26
+ requireRegistration: true,
27
+ });
28
+ }
29
+ catch (cause) {
30
+ return err(new ElegooError(ErrorCode.PRINTER_CONNECTION_ERROR, `Failed to connect to ${params.host}`, cause));
31
+ }
32
+ this.unsubscribeTransport = this.transport.subscribe((raw) => this.onMessage(raw));
33
+ this.unsubscribeConnectionChange = this.transport.onConnectionChange((connected) => {
34
+ for (const handler of this.connectionHandlers)
35
+ handler(connected);
36
+ });
37
+ const attrsResult = await this.requestWithTimeout(encodeRequest(CC_V2_METHOD.GET_ATTRIBUTES));
38
+ if (!attrsResult.ok) {
39
+ await this.transport.disconnect();
40
+ return attrsResult;
41
+ }
42
+ this.printerInfo = {
43
+ printerId: `elegoo_lan_${params.serialNumber ?? params.host}`,
44
+ printerType: PrinterType.ELEGOO_FDM_CC2,
45
+ brand: "Elegoo",
46
+ name: params.name ?? "Elegoo Printer",
47
+ model: params.model,
48
+ firmwareVersion: "",
49
+ mainboardId: params.serialNumber ?? "",
50
+ serialNumber: params.serialNumber ?? "",
51
+ host: params.host,
52
+ authMode: params.authMode ?? "",
53
+ };
54
+ for (const handler of this.connectionHandlers)
55
+ handler(true);
56
+ return ok(this.printerInfo);
57
+ }
58
+ async disconnect() {
59
+ this.unsubscribeTransport?.();
60
+ this.unsubscribeConnectionChange?.();
61
+ await this.transport.disconnect();
62
+ for (const handler of this.connectionHandlers)
63
+ handler(false);
64
+ }
65
+ async getStatus(timeoutMs = REQUEST_TIMEOUT_MS) {
66
+ const result = await this.requestWithTimeout(encodeRequest(CC_V2_METHOD.GET_STATUS), timeoutMs);
67
+ if (!result.ok)
68
+ return result;
69
+ const status = mapStatus(this.printerInfo?.printerId ?? "", result.value.result);
70
+ return ok(status);
71
+ }
72
+ async getAttributes(timeoutMs = REQUEST_TIMEOUT_MS) {
73
+ const result = await this.requestWithTimeout(encodeRequest(CC_V2_METHOD.GET_ATTRIBUTES), timeoutMs);
74
+ if (!result.ok)
75
+ return result;
76
+ const raw = result.value.result;
77
+ const info = this.printerInfo;
78
+ return ok({
79
+ printerId: info?.printerId ?? "",
80
+ printerType: PrinterType.ELEGOO_FDM_CC2,
81
+ brand: "Elegoo",
82
+ name: raw.hostname ?? info?.name ?? "Elegoo Printer",
83
+ model: raw.machine_model ?? info?.model ?? "",
84
+ firmwareVersion: raw.software_version?.ota_version ?? "",
85
+ mainboardId: info?.mainboardId ?? "",
86
+ serialNumber: raw.sn ?? info?.serialNumber ?? "",
87
+ host: info?.host ?? "",
88
+ authMode: (info?.authMode ?? ""),
89
+ capabilities: {
90
+ storage: [
91
+ { name: "usb", removable: true },
92
+ { name: "internal", removable: false },
93
+ ],
94
+ fans: [
95
+ { name: "model", controllable: true, minSpeed: 0, maxSpeed: 100, supportsRpmReading: false },
96
+ { name: "chamber", controllable: true, minSpeed: 0, maxSpeed: 100, supportsRpmReading: false },
97
+ { name: "aux", controllable: true, minSpeed: 0, maxSpeed: 100, supportsRpmReading: false },
98
+ ],
99
+ temperatures: [
100
+ { name: "extruder", controllable: true, supportsReading: true, minTemperature: 0, maxTemperature: 300 },
101
+ { name: "heatedBed", controllable: true, supportsReading: true, minTemperature: 0, maxTemperature: 120 },
102
+ { name: "chamber", controllable: false, supportsReading: true, minTemperature: 0, maxTemperature: 60 },
103
+ ],
104
+ lights: [
105
+ { name: "chamber", type: "singleColor", minBrightness: 0, maxBrightness: 100 },
106
+ ],
107
+ supportsCamera: true,
108
+ supportsTimeLapse: true,
109
+ canSetPrinterName: true,
110
+ canGetDiskInfo: true,
111
+ supportsMultiFilament: true,
112
+ supportsAutoBedLeveling: true,
113
+ supportsHeatedBedSwitching: true,
114
+ supportsFilamentMapping: true,
115
+ supportsAutoRefill: true,
116
+ },
117
+ });
118
+ }
119
+ async getCanvasStatus(timeoutMs = REQUEST_TIMEOUT_MS) {
120
+ const result = await this.requestWithTimeout(encodeRequest(CC_V2_METHOD.GET_CANVAS_STATUS), timeoutMs);
121
+ if (!result.ok)
122
+ return result;
123
+ const raw = result.value.result.canvas_info;
124
+ return ok({
125
+ activeCanvasId: raw?.active_canvas_id ?? 0,
126
+ activeTrayId: raw?.active_tray_id ?? 0,
127
+ autoRefill: raw?.auto_refill ?? false,
128
+ canvases: (raw?.canvas_list ?? []).map((c) => ({
129
+ canvasId: c.canvas_id ?? 0,
130
+ name: c.name ?? "",
131
+ model: c.model ?? "",
132
+ connected: Boolean(c.connected),
133
+ trays: (c.tray_list ?? []).map((t) => ({
134
+ trayId: t.tray_id ?? 0,
135
+ brand: t.brand ?? "",
136
+ filamentType: t.filament_type ?? "",
137
+ filamentName: t.filament_name ?? "",
138
+ filamentCode: t.filament_code ?? "",
139
+ filamentColor: t.filament_color ?? "",
140
+ minNozzleTemp: t.min_nozzle_temp ?? 0,
141
+ maxNozzleTemp: t.max_nozzle_temp ?? 0,
142
+ status: (t.status ?? 0),
143
+ })),
144
+ })),
145
+ });
146
+ }
147
+ async setAutoRefill(enable) {
148
+ return this.sendCommand(CC_V2_METHOD.SET_AUTO_REFILL, { auto_refill: enable });
149
+ }
150
+ async updatePrinterName(name) {
151
+ return this.sendCommand(CC_V2_METHOD.UPDATE_NAME, { hostname: name });
152
+ }
153
+ async homeAxis(axes) {
154
+ return this.sendCommand(CC_V2_METHOD.HOME_AXES, { homed_axes: axes });
155
+ }
156
+ async moveAxis(axes, distanceMm) {
157
+ return this.sendCommand(CC_V2_METHOD.MOVE_AXES, { axes, distance: distanceMm });
158
+ }
159
+ async setTemperature(targets) {
160
+ return this.sendCommand(CC_V2_METHOD.SET_TEMPERATURE, {
161
+ heater_bed: targets["heatedBed"] ?? targets["heater_bed"] ?? 0,
162
+ extruder: targets["extruder"] ?? 0,
163
+ });
164
+ }
165
+ async setFanSpeed(speeds) {
166
+ return this.sendCommand(CC_V2_METHOD.SET_FAN_SPEED, {
167
+ fan: speeds["model"] ?? 0,
168
+ box_fan: speeds["chamber"] ?? 0,
169
+ aux_fan: speeds["aux"] ?? 0,
170
+ });
171
+ }
172
+ async setPrintSpeed(mode) {
173
+ return this.sendCommand(CC_V2_METHOD.SET_PRINT_SPEED, { mode });
174
+ }
175
+ async getPrintTaskList(page = 1, pageSize = 20) {
176
+ const result = await this.requestWithTimeout(encodeRequest(CC_V2_METHOD.GET_PRINT_TASK_LIST, { page_number: page, page_size: pageSize }));
177
+ if (!result.ok)
178
+ return result;
179
+ const raw = result.value.result;
180
+ const tasks = (raw.list ?? []).map((t) => ({
181
+ taskId: t.task_id ?? "",
182
+ fileName: t.file_name ?? "",
183
+ printTimeSeconds: t.print_time ?? 0,
184
+ totalLayers: t.total_layer ?? 0,
185
+ progress: t.progress ?? 0,
186
+ status: t.status ?? 0,
187
+ createdAt: t.created_at ?? 0,
188
+ thumbnailUrl: t.thumbnail_url ?? "",
189
+ }));
190
+ return ok({
191
+ tasks,
192
+ total: raw.total ?? 0,
193
+ page: raw.page_number ?? page,
194
+ pageSize: raw.page_size ?? pageSize,
195
+ });
196
+ }
197
+ async deletePrintTasks(taskIds) {
198
+ return this.sendCommand(CC_V2_METHOD.DELETE_PRINT_TASKS, { task_ids: taskIds });
199
+ }
200
+ async getFileList(page = 1, pageSize = 20) {
201
+ const offset = (page - 1) * pageSize;
202
+ const result = await this.requestWithTimeout(encodeRequest(CC_V2_METHOD.GET_FILE_LIST, { storage_media: "local", offset, limit: pageSize }));
203
+ if (!result.ok)
204
+ return result;
205
+ const raw = result.value.result;
206
+ return ok({
207
+ files: (raw.file_list ?? []).map((f) => ({
208
+ fileName: f.filename ?? "",
209
+ printTimeSeconds: f.print_time ?? 0,
210
+ layers: f.layer ?? 0,
211
+ layerHeightMm: 0,
212
+ thumbnailUrl: "",
213
+ sizeBytes: f.size ?? 0,
214
+ createdAt: f.create_time ?? 0,
215
+ filamentUsedGrams: f.total_filament_used ?? 0,
216
+ filamentUsedMm: 0,
217
+ totalPrintTimes: f.total_print_times ?? 0,
218
+ lastPrintAt: f.last_print_time ?? 0,
219
+ colorMapping: [],
220
+ })),
221
+ total: raw.total ?? 0,
222
+ page,
223
+ pageSize,
224
+ });
225
+ }
226
+ async getFileDetail(params) {
227
+ const result = await this.requestWithTimeout(encodeRequest(CC_V2_METHOD.GET_FILE_DETAIL, { storage_media: "local", filename: params.fileName }));
228
+ if (!result.ok)
229
+ return result;
230
+ const raw = result.value.result;
231
+ if (!raw.filename)
232
+ return err(new ElegooError(ErrorCode.FILE_NOT_FOUND, `File not found: ${params.fileName}`));
233
+ return ok({
234
+ fileName: raw.filename,
235
+ printTimeSeconds: raw.print_time ?? 0,
236
+ layers: raw.layer ?? 0,
237
+ layerHeightMm: raw.layer_height ?? 0,
238
+ thumbnailUrl: raw.thumbnail ?? "",
239
+ sizeBytes: raw.size ?? 0,
240
+ createdAt: raw.create_time ?? 0,
241
+ filamentUsedGrams: raw.total_filament_used ?? 0,
242
+ filamentUsedMm: raw.total_filament_used_length ?? 0,
243
+ totalPrintTimes: raw.total_print_times ?? 0,
244
+ lastPrintAt: raw.last_print_time ?? 0,
245
+ colorMapping: (raw.color_mapping ?? []).map((m) => ({
246
+ trayIndex: m.t ?? 0,
247
+ color: m.color ?? "",
248
+ type: m.type ?? "",
249
+ })),
250
+ });
251
+ }
252
+ async triggerFileDownload(params) {
253
+ return this.sendCommand(CC_V2_METHOD.DOWNLOAD_FILE, {
254
+ filename: params.fileName,
255
+ url: params.fileUrl,
256
+ md5: params.md5,
257
+ taskID: params.taskId,
258
+ });
259
+ }
260
+ async cancelFileDownload(taskId) {
261
+ return this.sendCommand(CC_V2_METHOD.CANCEL_DOWNLOAD, { taskID: taskId });
262
+ }
263
+ async startPrint(params) {
264
+ return this.sendCommand(CC_V2_METHOD.START_PRINT, {
265
+ filename: params.fileName,
266
+ storage_location: params.storageLocation,
267
+ auto_bed_leveling: params.autoBedLeveling ?? false,
268
+ heated_bed_type: params.heatedBedType ?? 0,
269
+ enable_time_lapse: params.enableTimeLapse ?? false,
270
+ force_bed_level: params.forceBedLevel ?? false,
271
+ slot_map: params.slotMap?.map((s) => ({ t: s.trayIndex, canvas_id: s.canvasId, tray_id: s.trayId })) ?? [],
272
+ });
273
+ }
274
+ async pausePrint() {
275
+ return this.sendCommand(CC_V2_METHOD.PAUSE_PRINT, {});
276
+ }
277
+ async resumePrint() {
278
+ return this.sendCommand(CC_V2_METHOD.RESUME_PRINT, {});
279
+ }
280
+ async stopPrint() {
281
+ return this.sendCommand(CC_V2_METHOD.STOP_PRINT, {});
282
+ }
283
+ async refreshPrinterStatus() {
284
+ void this.getStatus().then((result) => {
285
+ if (result.ok)
286
+ for (const h of this.statusHandlers)
287
+ h(result.value);
288
+ });
289
+ return ok(undefined);
290
+ }
291
+ async refreshPrinterAttributes() {
292
+ void this.getAttributes().then((result) => {
293
+ if (result.ok)
294
+ for (const h of this.attributesHandlers)
295
+ h(result.value);
296
+ });
297
+ return ok(undefined);
298
+ }
299
+ async getStatusRaw(timeoutMs = REQUEST_TIMEOUT_MS) {
300
+ const result = await this.requestWithTimeout(encodeRequest(CC_V2_METHOD.GET_STATUS), timeoutMs);
301
+ if (!result.ok)
302
+ return result;
303
+ return ok(JSON.stringify(result.value));
304
+ }
305
+ onStatus(handler) {
306
+ this.statusHandlers.add(handler);
307
+ return () => this.statusHandlers.delete(handler);
308
+ }
309
+ onAttributes(handler) {
310
+ this.attributesHandlers.add(handler);
311
+ return () => this.attributesHandlers.delete(handler);
312
+ }
313
+ onConnection(handler) {
314
+ this.connectionHandlers.add(handler);
315
+ return () => this.connectionHandlers.delete(handler);
316
+ }
317
+ onMessage(raw) {
318
+ if (typeof raw !== "string")
319
+ return;
320
+ try {
321
+ const msg = decodeMessage(raw);
322
+ if (isStatusPush(msg)) {
323
+ const status = mapStatus(this.printerInfo?.printerId ?? "", msg.result);
324
+ for (const handler of this.statusHandlers)
325
+ handler(status);
326
+ return;
327
+ }
328
+ if (isAttributesPush(msg)) {
329
+ const raw = msg.result;
330
+ const info = this.printerInfo;
331
+ const attrs = {
332
+ printerId: info?.printerId ?? "",
333
+ printerType: PrinterType.ELEGOO_FDM_CC2,
334
+ brand: "Elegoo",
335
+ name: raw.hostname ?? info?.name ?? "",
336
+ model: raw.machine_model ?? info?.model ?? "",
337
+ firmwareVersion: raw.software_version?.ota_version ?? info?.firmwareVersion ?? "",
338
+ mainboardId: raw.sn ?? info?.mainboardId ?? "",
339
+ serialNumber: raw.sn ?? info?.serialNumber ?? "",
340
+ host: info?.host ?? "",
341
+ authMode: (info?.authMode ?? ""),
342
+ capabilities: {
343
+ storage: [{ name: "usb", removable: true }, { name: "internal", removable: false }],
344
+ fans: [
345
+ { name: "model", controllable: true, minSpeed: 0, maxSpeed: 100, supportsRpmReading: false },
346
+ { name: "chamber", controllable: true, minSpeed: 0, maxSpeed: 100, supportsRpmReading: false },
347
+ { name: "aux", controllable: true, minSpeed: 0, maxSpeed: 100, supportsRpmReading: false },
348
+ ],
349
+ temperatures: [
350
+ { name: "extruder", controllable: true, supportsReading: true, minTemperature: 0, maxTemperature: 300 },
351
+ { name: "heatedBed", controllable: true, supportsReading: true, minTemperature: 0, maxTemperature: 120 },
352
+ { name: "chamber", controllable: false, supportsReading: true, minTemperature: 0, maxTemperature: 60 },
353
+ ],
354
+ lights: [{ name: "chamber", type: "singleColor", minBrightness: 0, maxBrightness: 100 }],
355
+ supportsCamera: true,
356
+ supportsTimeLapse: true,
357
+ canSetPrinterName: true,
358
+ canGetDiskInfo: true,
359
+ supportsMultiFilament: true,
360
+ supportsAutoBedLeveling: true,
361
+ supportsHeatedBedSwitching: true,
362
+ supportsFilamentMapping: true,
363
+ supportsAutoRefill: true,
364
+ },
365
+ };
366
+ for (const handler of this.attributesHandlers)
367
+ handler(attrs);
368
+ return;
369
+ }
370
+ const pending = this.pending.get(msg.id);
371
+ if (pending) {
372
+ clearTimeout(pending.timer);
373
+ this.pending.delete(msg.id);
374
+ pending.resolve(msg);
375
+ }
376
+ }
377
+ catch {
378
+ // Ignore malformed messages
379
+ }
380
+ }
381
+ async sendCommand(method, params) {
382
+ const result = await this.requestWithTimeout(encodeRequest(method, params));
383
+ if (!result.ok)
384
+ return result;
385
+ if (result.value.error) {
386
+ return err(new ElegooError(ErrorCode.PRINTER_COMMAND_FAILED, String(result.value.error)));
387
+ }
388
+ return ok(undefined);
389
+ }
390
+ async requestWithTimeout(request, timeoutMs = REQUEST_TIMEOUT_MS) {
391
+ try {
392
+ await this.transport.send(request);
393
+ }
394
+ catch (cause) {
395
+ return err(new ElegooError(ErrorCode.NETWORK_ERROR, "Failed to send command", cause));
396
+ }
397
+ return new Promise((resolve) => {
398
+ const timer = setTimeout(() => {
399
+ this.pending.delete(request.id);
400
+ resolve(err(new ElegooError(ErrorCode.OPERATION_TIMEOUT, `Request ${request.id} timed out`)));
401
+ }, timeoutMs);
402
+ this.pending.set(request.id, {
403
+ resolve: (value) => resolve(ok(value)),
404
+ reject: (error) => resolve(err(new ElegooError(ErrorCode.PRINTER_COMMAND_FAILED, error.message, error))),
405
+ timer,
406
+ });
407
+ });
408
+ }
409
+ }
410
+ //# sourceMappingURL=CcV2PrinterAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CcV2PrinterAdapter.js","sourceRoot":"","sources":["../../../../src/infrastructure/adapters/cc-v2/CcV2PrinterAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import type { PrinterStatusData } from "../../../domain/entities/PrinterStatus.js";
2
+ interface RawTemperature {
3
+ current_temp?: number;
4
+ target_temp?: number;
5
+ highest_temp?: number;
6
+ lowest_temp?: number;
7
+ }
8
+ interface RawFan {
9
+ speed?: number;
10
+ rpm?: number;
11
+ }
12
+ interface RawTray {
13
+ tray_id?: number;
14
+ brand?: string;
15
+ filament_type?: string;
16
+ filament_name?: string;
17
+ filament_code?: string;
18
+ filament_color?: string;
19
+ min_nozzle_temp?: number;
20
+ max_nozzle_temp?: number;
21
+ status?: number;
22
+ }
23
+ interface RawCanvas {
24
+ canvas_id?: number;
25
+ name?: string;
26
+ model?: string;
27
+ connected?: boolean;
28
+ trays?: RawTray[];
29
+ }
30
+ interface RawCanvasStatus {
31
+ active_canvas_id?: number;
32
+ active_tray_id?: number;
33
+ auto_refill?: boolean;
34
+ canvases?: RawCanvas[];
35
+ }
36
+ interface RawPrintTask {
37
+ task_id?: string;
38
+ file_name?: string;
39
+ total_time?: number;
40
+ current_time?: number;
41
+ estimated_time?: number;
42
+ total_layer?: number;
43
+ current_layer?: number;
44
+ progress?: number;
45
+ print_speed_mode?: number;
46
+ }
47
+ interface RawExternalDevices {
48
+ usb_connected?: boolean;
49
+ sd_card_connected?: boolean;
50
+ camera_connected?: boolean;
51
+ canvas_connected?: boolean;
52
+ }
53
+ export interface RawCcV2Status {
54
+ current_status?: number;
55
+ sub_status?: number;
56
+ exception_codes?: number[];
57
+ support_progress?: boolean;
58
+ progress?: number;
59
+ current_print_task?: RawPrintTask;
60
+ temperatures?: Record<string, RawTemperature>;
61
+ fans?: Record<string, RawFan>;
62
+ axes?: number[];
63
+ lights?: Record<string, {
64
+ connected?: boolean;
65
+ brightness?: number;
66
+ color?: number;
67
+ }>;
68
+ storage?: Record<string, {
69
+ connected?: boolean;
70
+ }>;
71
+ canvas_status?: RawCanvasStatus;
72
+ external_devices?: RawExternalDevices;
73
+ exceptions?: Array<{
74
+ code?: string;
75
+ timestamp?: number;
76
+ }>;
77
+ device_assistant_status?: number;
78
+ }
79
+ export declare function mapStatus(printerId: string, raw: RawCcV2Status): PrinterStatusData;
80
+ export {};
81
+ //# sourceMappingURL=CcV2StatusMapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CcV2StatusMapper.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/adapters/cc-v2/CcV2StatusMapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ import { PrinterState } from "../../../domain/types/PrinterState.js";
2
+ import { PrinterSubState } from "../../../domain/types/PrinterSubState.js";
3
+ export function mapStatus(printerId, raw) {
4
+ return {
5
+ printerId,
6
+ printer: mapCoreStatus(raw),
7
+ job: raw.current_print_task ? mapJobStatus(raw.current_print_task) : undefined,
8
+ temperatures: mapTemperatures(raw.temperatures ?? {}),
9
+ fans: mapFans(raw.fans ?? {}),
10
+ axes: raw.axes ?? [],
11
+ lights: mapLights(raw.lights ?? {}),
12
+ storage: mapStorage(raw.storage ?? {}),
13
+ canvas: mapCanvasStatus(raw.canvas_status),
14
+ externalDevices: mapExternalDevices(raw.external_devices),
15
+ exceptions: mapExceptions(raw.exceptions),
16
+ deviceAssistantStatus: raw.device_assistant_status ?? 0,
17
+ };
18
+ }
19
+ function mapCoreStatus(raw) {
20
+ return {
21
+ state: (raw.current_status ?? PrinterState.UNKNOWN),
22
+ subState: (raw.sub_status ?? PrinterSubState.NONE),
23
+ exceptionCodes: raw.exception_codes ?? [],
24
+ progress: raw.progress ?? 0,
25
+ };
26
+ }
27
+ function mapJobStatus(raw) {
28
+ return {
29
+ taskId: raw.task_id ?? "",
30
+ fileName: raw.file_name ?? "",
31
+ totalTimeSeconds: raw.total_time ?? 0,
32
+ elapsedTimeSeconds: raw.current_time ?? 0,
33
+ remainingTimeSeconds: raw.estimated_time ?? 0,
34
+ totalLayers: raw.total_layer ?? 0,
35
+ currentLayer: raw.current_layer ?? 0,
36
+ progress: raw.progress ?? 0,
37
+ speedMode: (raw.print_speed_mode ?? 0),
38
+ };
39
+ }
40
+ function mapTemperatures(raw) {
41
+ const result = {};
42
+ for (const [key, val] of Object.entries(raw)) {
43
+ result[key] = {
44
+ current: val.current_temp ?? 0,
45
+ target: val.target_temp ?? 0,
46
+ highest: val.highest_temp ?? 0,
47
+ lowest: val.lowest_temp ?? 0,
48
+ };
49
+ }
50
+ return result;
51
+ }
52
+ function mapFans(raw) {
53
+ const result = {};
54
+ for (const [key, val] of Object.entries(raw)) {
55
+ result[key] = { speed: val.speed ?? 0, rpm: val.rpm ?? 0 };
56
+ }
57
+ return result;
58
+ }
59
+ function mapLights(raw) {
60
+ const result = {};
61
+ for (const [key, val] of Object.entries(raw)) {
62
+ result[key] = { connected: val.connected ?? false, brightness: val.brightness ?? 0, color: val.color ?? 0 };
63
+ }
64
+ return result;
65
+ }
66
+ function mapStorage(raw) {
67
+ const result = {};
68
+ for (const [key, val] of Object.entries(raw)) {
69
+ result[key] = { connected: val.connected ?? false };
70
+ }
71
+ return result;
72
+ }
73
+ function mapCanvasStatus(raw) {
74
+ return {
75
+ activeCanvasId: raw?.active_canvas_id ?? 0,
76
+ activeTrayId: raw?.active_tray_id ?? 0,
77
+ autoRefill: raw?.auto_refill ?? false,
78
+ canvases: (raw?.canvases ?? []).map(mapCanvas),
79
+ };
80
+ }
81
+ function mapCanvas(raw) {
82
+ return {
83
+ canvasId: raw.canvas_id ?? 0,
84
+ name: raw.name ?? "",
85
+ model: raw.model ?? "",
86
+ connected: raw.connected ?? false,
87
+ trays: (raw.trays ?? []).map(mapTray),
88
+ };
89
+ }
90
+ function mapTray(raw) {
91
+ return {
92
+ trayId: raw.tray_id ?? 0,
93
+ brand: raw.brand ?? "",
94
+ filamentType: raw.filament_type ?? "",
95
+ filamentName: raw.filament_name ?? "",
96
+ filamentCode: raw.filament_code ?? "",
97
+ filamentColor: raw.filament_color ?? "",
98
+ minNozzleTemp: raw.min_nozzle_temp ?? 0,
99
+ maxNozzleTemp: raw.max_nozzle_temp ?? 0,
100
+ status: (raw.status ?? 0),
101
+ };
102
+ }
103
+ function mapExternalDevices(raw) {
104
+ return {
105
+ usbConnected: raw?.usb_connected ?? false,
106
+ sdCardConnected: raw?.sd_card_connected ?? false,
107
+ cameraConnected: raw?.camera_connected ?? false,
108
+ canvasConnected: raw?.canvas_connected ?? false,
109
+ };
110
+ }
111
+ function mapExceptions(raw) {
112
+ if (!raw)
113
+ return [];
114
+ return raw.map((e) => ({ code: e.code ?? "", timestamp: e.timestamp ?? 0 }));
115
+ }
116
+ //# sourceMappingURL=CcV2StatusMapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CcV2StatusMapper.js","sourceRoot":"","sources":["../../../../src/infrastructure/adapters/cc-v2/CcV2StatusMapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=CcV2StatusMapper.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CcV2StatusMapper.test.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/adapters/cc-v2/CcV2StatusMapper.test.ts"],"names":[],"mappings":""}