@felixgeelhaar/govee-api-client 3.1.13 → 3.2.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 (49) hide show
  1. package/dist/GoveeClient.d.ts +5 -1
  2. package/dist/GoveeClient.d.ts.map +1 -1
  3. package/dist/GoveeClient.js +12 -0
  4. package/dist/GoveeClient.js.map +1 -1
  5. package/dist/domain/entities/Command.d.ts +47 -1
  6. package/dist/domain/entities/Command.d.ts.map +1 -1
  7. package/dist/domain/entities/Command.js +61 -1
  8. package/dist/domain/entities/Command.js.map +1 -1
  9. package/dist/domain/entities/index.d.ts +1 -1
  10. package/dist/domain/entities/index.d.ts.map +1 -1
  11. package/dist/domain/entities/index.js +1 -1
  12. package/dist/domain/entities/index.js.map +1 -1
  13. package/dist/domain/repositories/IGoveeDeviceRepository.d.ts +4 -12
  14. package/dist/domain/repositories/IGoveeDeviceRepository.d.ts.map +1 -1
  15. package/dist/domain/value-objects/DiyScene.d.ts +53 -0
  16. package/dist/domain/value-objects/DiyScene.d.ts.map +1 -0
  17. package/dist/domain/value-objects/DiyScene.js +82 -0
  18. package/dist/domain/value-objects/DiyScene.js.map +1 -0
  19. package/dist/domain/value-objects/Snapshot.d.ts +54 -0
  20. package/dist/domain/value-objects/Snapshot.d.ts.map +1 -0
  21. package/dist/domain/value-objects/Snapshot.js +83 -0
  22. package/dist/domain/value-objects/Snapshot.js.map +1 -0
  23. package/dist/domain/value-objects/index.d.ts +2 -0
  24. package/dist/domain/value-objects/index.d.ts.map +1 -1
  25. package/dist/domain/value-objects/index.js +2 -0
  26. package/dist/domain/value-objects/index.js.map +1 -1
  27. package/dist/index.d.ts +2 -2
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +2 -2
  30. package/dist/index.js.map +1 -1
  31. package/dist/infrastructure/GoveeDeviceRepository.d.ts +8 -1
  32. package/dist/infrastructure/GoveeDeviceRepository.d.ts.map +1 -1
  33. package/dist/infrastructure/GoveeDeviceRepository.js +55 -1
  34. package/dist/infrastructure/GoveeDeviceRepository.js.map +1 -1
  35. package/dist/infrastructure/response-schemas.d.ts +28 -14
  36. package/dist/infrastructure/response-schemas.d.ts.map +1 -1
  37. package/dist/infrastructure/response-schemas.js +40 -7
  38. package/dist/infrastructure/response-schemas.js.map +1 -1
  39. package/dist/infrastructure/retry/RetryableRepository.d.ts +3 -1
  40. package/dist/infrastructure/retry/RetryableRepository.d.ts.map +1 -1
  41. package/dist/infrastructure/retry/RetryableRepository.js +28 -0
  42. package/dist/infrastructure/retry/RetryableRepository.js.map +1 -1
  43. package/dist/services/GoveeControlService.d.ts +17 -1
  44. package/dist/services/GoveeControlService.d.ts.map +1 -1
  45. package/dist/services/GoveeControlService.js +38 -0
  46. package/dist/services/GoveeControlService.js.map +1 -1
  47. package/docs/LLM_API_REFERENCE.md +2 -2
  48. package/docs/TYPE_DEFINITIONS.md +1 -1
  49. package/package.json +1 -1
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Snapshot value object represents a user-created saved light state
3
+ * on a Govee lighting device.
4
+ *
5
+ * Snapshots are static "preset slots" — a point-in-time configuration
6
+ * (specific color, brightness, or mid-scene state) the user has saved
7
+ * in the Govee mobile app and named (e.g. "Reading", "Movie night").
8
+ * Unlike {@link LightScene} (Govee's curated dynamic animations) or
9
+ * {@link DiyScene} (user-designed animations), snapshots capture a
10
+ * frozen moment and are recalled exactly as saved.
11
+ *
12
+ * On the API surface they share the shape `{ id, paramId, name }` with
13
+ * other `devices.capabilities.dynamic_scene` entries, but their
14
+ * `instance` is `"snapshot"`.
15
+ *
16
+ * @example
17
+ * const readingPreset = new Snapshot(1001, 2001, 'Reading');
18
+ * await client.setSnapshot(deviceId, model, readingPreset);
19
+ */
20
+ export class Snapshot {
21
+ constructor(id, paramId, name) {
22
+ this.validateId(id);
23
+ this.validateParamId(paramId);
24
+ this.validateName(name);
25
+ this._id = id;
26
+ this._paramId = paramId;
27
+ this._name = name.trim();
28
+ Object.freeze(this);
29
+ }
30
+ validateId(id) {
31
+ if (!Number.isInteger(id) || id <= 0) {
32
+ throw new Error('ID must be a positive integer');
33
+ }
34
+ }
35
+ validateParamId(paramId) {
36
+ if (!Number.isInteger(paramId) || paramId <= 0) {
37
+ throw new Error('ParamId must be a positive integer');
38
+ }
39
+ }
40
+ validateName(name) {
41
+ if (!name || typeof name !== 'string' || name.trim().length === 0) {
42
+ throw new Error('Name must be a non-empty string');
43
+ }
44
+ }
45
+ get id() {
46
+ return this._id;
47
+ }
48
+ get paramId() {
49
+ return this._paramId;
50
+ }
51
+ get name() {
52
+ return this._name;
53
+ }
54
+ /**
55
+ * Two snapshots are equal if they have the same id and paramId.
56
+ */
57
+ equals(other) {
58
+ return this._id === other._id && this._paramId === other._paramId;
59
+ }
60
+ toObject() {
61
+ return {
62
+ id: this._id,
63
+ paramId: this._paramId,
64
+ name: this._name,
65
+ };
66
+ }
67
+ static fromObject(obj) {
68
+ return new Snapshot(obj.id, obj.paramId, obj.name);
69
+ }
70
+ toString() {
71
+ return `Snapshot(${this._name}, id=${this._id}, paramId=${this._paramId})`;
72
+ }
73
+ /**
74
+ * Converts to API-compatible value format for command payloads.
75
+ */
76
+ toApiValue() {
77
+ return {
78
+ paramId: this._paramId,
79
+ id: this._id,
80
+ };
81
+ }
82
+ }
83
+ //# sourceMappingURL=Snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Snapshot.js","sourceRoot":"","sources":["../../../src/domain/value-objects/Snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,QAAQ;IAKnB,YAAY,EAAU,EAAE,OAAe,EAAE,IAAY;QACnD,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAExB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAEzB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAEO,UAAU,CAAC,EAAU;QAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,OAAe;QACrC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,IAAY;QAC/B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAe;QACpB,OAAO,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC;IACpE,CAAC;IAED,QAAQ;QACN,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,GAAG;YACZ,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,IAAI,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,GAAkD;QAClE,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,QAAQ;QACN,OAAO,YAAY,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,GAAG,aAAa,IAAI,CAAC,QAAQ,GAAG,CAAC;IAC7E,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,EAAE,EAAE,IAAI,CAAC,GAAG;SACb,CAAC;IACJ,CAAC;CACF"}
@@ -2,6 +2,8 @@ export { ColorRgb } from './ColorRgb';
2
2
  export { ColorTemperature } from './ColorTemperature';
3
3
  export { Brightness } from './Brightness';
4
4
  export { LightScene } from './LightScene';
5
+ export { Snapshot } from './Snapshot';
6
+ export { DiyScene } from './DiyScene';
5
7
  export { SegmentColor } from './SegmentColor';
6
8
  export { MusicMode } from './MusicMode';
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
@@ -2,6 +2,8 @@ export { ColorRgb } from './ColorRgb';
2
2
  export { ColorTemperature } from './ColorTemperature';
3
3
  export { Brightness } from './Brightness';
4
4
  export { LightScene } from './LightScene';
5
+ export { Snapshot } from './Snapshot';
6
+ export { DiyScene } from './DiyScene';
5
7
  export { SegmentColor } from './SegmentColor';
6
8
  export { MusicMode } from './MusicMode';
7
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/value-objects/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/value-objects/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { GoveeClient, type GoveeClientConfig } from './GoveeClient';
2
- export { GoveeDevice, DeviceState, Command, PowerOnCommand, PowerOffCommand, BrightnessCommand, ColorCommand, ColorTemperatureCommand, LightSceneCommand, SegmentColorRgbCommand, SegmentBrightnessCommand, MusicModeCommand, ToggleCommand, ModeCommand, CommandFactory, type PowerState, type ColorState, type ColorTemperatureState, type BrightnessState, type LightSceneState, type SegmentColorState, type SegmentBrightnessState, type MusicModeState, type ToggleState, type ModeState, type StateProperty, } from './domain/entities';
3
- export { ColorRgb, ColorTemperature, Brightness, LightScene, SegmentColor, MusicMode, } from './domain/value-objects';
2
+ export { GoveeDevice, DeviceState, Command, PowerOnCommand, PowerOffCommand, BrightnessCommand, ColorCommand, ColorTemperatureCommand, LightSceneCommand, SnapshotCommand, DiySceneCommand, SegmentColorRgbCommand, SegmentBrightnessCommand, MusicModeCommand, ToggleCommand, ModeCommand, CommandFactory, type PowerState, type ColorState, type ColorTemperatureState, type BrightnessState, type LightSceneState, type SegmentColorState, type SegmentBrightnessState, type MusicModeState, type ToggleState, type ModeState, type StateProperty, } from './domain/entities';
3
+ export { ColorRgb, ColorTemperature, Brightness, LightScene, Snapshot, DiyScene, SegmentColor, MusicMode, } from './domain/value-objects';
4
4
  export { GoveeApiClientError, GoveeApiError, InvalidApiKeyError, RateLimitError, NetworkError, ValidationError, } from './errors';
5
5
  export { GoveeControlService, type GoveeControlServiceConfig } from './services';
6
6
  export { GoveeDeviceRepository } from './infrastructure';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGpE,OAAO,EACL,WAAW,EACX,WAAW,EACX,OAAO,EACP,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,cAAc,EACd,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,SAAS,GACV,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,eAAe,GAChB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,mBAAmB,EAAE,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAGpE,OAAO,EACL,WAAW,EACX,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,YAAY,GAClB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,gCAAgC,EAChC,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,GAChC,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGpE,OAAO,EACL,WAAW,EACX,WAAW,EACX,OAAO,EACP,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,cAAc,EACd,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,SAAS,GACV,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,eAAe,GAChB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,mBAAmB,EAAE,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAGpE,OAAO,EACL,WAAW,EACX,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,YAAY,GAClB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,gCAAgC,EAChC,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,GAChC,MAAM,mCAAmC,CAAC"}
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  // Main client
2
2
  export { GoveeClient } from './GoveeClient';
3
3
  // Domain entities
4
- export { GoveeDevice, DeviceState, Command, PowerOnCommand, PowerOffCommand, BrightnessCommand, ColorCommand, ColorTemperatureCommand, LightSceneCommand, SegmentColorRgbCommand, SegmentBrightnessCommand, MusicModeCommand, ToggleCommand, ModeCommand, CommandFactory, } from './domain/entities';
4
+ export { GoveeDevice, DeviceState, Command, PowerOnCommand, PowerOffCommand, BrightnessCommand, ColorCommand, ColorTemperatureCommand, LightSceneCommand, SnapshotCommand, DiySceneCommand, SegmentColorRgbCommand, SegmentBrightnessCommand, MusicModeCommand, ToggleCommand, ModeCommand, CommandFactory, } from './domain/entities';
5
5
  // Value objects
6
- export { ColorRgb, ColorTemperature, Brightness, LightScene, SegmentColor, MusicMode, } from './domain/value-objects';
6
+ export { ColorRgb, ColorTemperature, Brightness, LightScene, Snapshot, DiyScene, SegmentColor, MusicMode, } from './domain/value-objects';
7
7
  // Error classes
8
8
  export { GoveeApiClientError, GoveeApiError, InvalidApiKeyError, RateLimitError, NetworkError, ValidationError, } from './errors';
9
9
  // Services and repositories (for advanced usage)
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,WAAW,EAA0B,MAAM,eAAe,CAAC;AAEpE,kBAAkB;AAClB,OAAO,EACL,WAAW,EACX,WAAW,EACX,OAAO,EACP,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,cAAc,GAYf,MAAM,mBAAmB,CAAC;AAE3B,gBAAgB;AAChB,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,SAAS,GACV,MAAM,wBAAwB,CAAC;AAEhC,gBAAgB;AAChB,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,eAAe,GAChB,MAAM,UAAU,CAAC;AAElB,iDAAiD;AACjD,OAAO,EAAE,mBAAmB,EAAkC,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,mDAAmD;AACnD,OAAO,EACL,WAAW,GAOZ,MAAM,wBAAwB,CAAC;AAEhC,0CAA0C;AAC1C,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,gCAAgC,GAKjC,MAAM,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,WAAW,EAA0B,MAAM,eAAe,CAAC;AAEpE,kBAAkB;AAClB,OAAO,EACL,WAAW,EACX,WAAW,EACX,OAAO,EACP,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,cAAc,GAYf,MAAM,mBAAmB,CAAC;AAE3B,gBAAgB;AAChB,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,SAAS,GACV,MAAM,wBAAwB,CAAC;AAEhC,gBAAgB;AAChB,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,eAAe,GAChB,MAAM,UAAU,CAAC;AAElB,iDAAiD;AACjD,OAAO,EAAE,mBAAmB,EAAkC,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,mDAAmD;AACnD,OAAO,EACL,WAAW,GAOZ,MAAM,wBAAwB,CAAC;AAEhC,0CAA0C;AAC1C,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,gCAAgC,GAKjC,MAAM,mCAAmC,CAAC"}
@@ -3,7 +3,7 @@ import { IGoveeDeviceRepository } from '../domain/repositories/IGoveeDeviceRepos
3
3
  import { GoveeDevice } from '../domain/entities/GoveeDevice';
4
4
  import { DeviceState } from '../domain/entities/DeviceState';
5
5
  import { Command } from '../domain/entities/Command';
6
- import { LightScene } from '../domain/value-objects';
6
+ import { LightScene, Snapshot, DiyScene } from '../domain/value-objects';
7
7
  interface GoveeApiConfig {
8
8
  apiKey: string;
9
9
  timeout?: number;
@@ -22,6 +22,13 @@ export declare class GoveeDeviceRepository implements IGoveeDeviceRepository {
22
22
  findState(deviceId: string, sku: string): Promise<DeviceState>;
23
23
  sendCommand(deviceId: string, sku: string, command: Command): Promise<void>;
24
24
  findDynamicScenes(deviceId: string, sku: string): Promise<LightScene[]>;
25
+ findSnapshots(deviceId: string, sku: string): Promise<Snapshot[]>;
26
+ findDiyScenes(deviceId: string, sku: string): Promise<DiyScene[]>;
27
+ /**
28
+ * Shared helper for querying the /device/scenes endpoint and
29
+ * extracting entries by capability instance name.
30
+ */
31
+ private findDynamicScenesByInstance;
25
32
  private validateDeviceParams;
26
33
  private convertCommandToCapability;
27
34
  private packColorRgbValue;
@@ -1 +1 @@
1
- {"version":3,"file":"GoveeDeviceRepository.d.ts","sourceRoot":"","sources":["../../src/infrastructure/GoveeDeviceRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EACL,WAAW,EAMZ,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAIL,UAAU,EAGX,MAAM,yBAAyB,CAAC;AAejC,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAsFD,qBAAa,qBAAsB,YAAW,sBAAsB;IAClE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAEnE,OAAO,CAAC,iBAAiB;gBAIb,MAAM,EAAE,cAAc;IAgBlC,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,iBAAiB;IAqCzB,OAAO,CAAC,eAAe;IAkCjB,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IA8GjC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAuD9D,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA6C3E,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA2D7E,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,0BAA0B;IAuElC,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,gCAAgC;CAqFzC"}
1
+ {"version":3,"file":"GoveeDeviceRepository.d.ts","sourceRoot":"","sources":["../../src/infrastructure/GoveeDeviceRepository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EACL,WAAW,EAMZ,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAIL,UAAU,EACV,QAAQ,EACR,QAAQ,EAGT,MAAM,yBAAyB,CAAC;AAejC,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAsFD,qBAAa,qBAAsB,YAAW,sBAAsB;IAClE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAEnE,OAAO,CAAC,iBAAiB;gBAIb,MAAM,EAAE,cAAc;IAgBlC,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,iBAAiB;IAqCzB,OAAO,CAAC,eAAe;IAkCjB,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IA8GjC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAuD9D,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA6C3E,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA2DvE,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IASjE,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IASvE;;;OAGG;YACW,2BAA2B;IA2DzC,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,0BAA0B;IA+ElC,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,gCAAgC;CAqFzC"}
@@ -1,7 +1,7 @@
1
1
  import axios from 'axios';
2
2
  import { GoveeDevice } from '../domain/entities/GoveeDevice';
3
3
  import { DeviceState, } from '../domain/entities/DeviceState';
4
- import { ColorRgb, ColorTemperature, Brightness, LightScene, SegmentColor, MusicMode, } from '../domain/value-objects';
4
+ import { ColorRgb, ColorTemperature, Brightness, LightScene, Snapshot, DiyScene, SegmentColor, MusicMode, } from '../domain/value-objects';
5
5
  import { GoveeApiError, InvalidApiKeyError, RateLimitError, NetworkError, ValidationError, } from '../errors';
6
6
  import { GoveeDevicesResponseSchema, GoveeStateResponseSchema, GoveeCommandResponseSchema, GoveeDynamicScenesResponseSchema, } from './response-schemas';
7
7
  export class GoveeDeviceRepository {
@@ -242,6 +242,50 @@ export class GoveeDeviceRepository {
242
242
  throw error;
243
243
  }
244
244
  }
245
+ async findSnapshots(deviceId, sku) {
246
+ return this.findDynamicScenesByInstance(deviceId, sku, 'snapshot', opt => new Snapshot(opt.value.id, opt.value.paramId, opt.name));
247
+ }
248
+ async findDiyScenes(deviceId, sku) {
249
+ return this.findDynamicScenesByInstance(deviceId, sku, 'diyScene', opt => new DiyScene(opt.value.id, opt.value.paramId, opt.name));
250
+ }
251
+ /**
252
+ * Shared helper for querying the /device/scenes endpoint and
253
+ * extracting entries by capability instance name.
254
+ */
255
+ async findDynamicScenesByInstance(deviceId, sku, instanceName, factory) {
256
+ this.validateDeviceParams(deviceId, sku);
257
+ this.logger?.info({ deviceId, sku, instance: instanceName }, `Fetching ${instanceName} entries`);
258
+ try {
259
+ const requestBody = {
260
+ requestId: this.generateRequestId(),
261
+ payload: { sku, device: deviceId },
262
+ };
263
+ const response = await this.httpClient.post('/router/api/v1/device/scenes', requestBody);
264
+ const validationResult = GoveeDynamicScenesResponseSchema.safeParse(response.data);
265
+ if (!validationResult.success) {
266
+ this.logger?.error({ zodError: validationResult.error, rawData: response.data }, `${instanceName} response validation failed`);
267
+ throw ValidationError.fromZodError(validationResult.error, response.data);
268
+ }
269
+ const apiResponse = validationResult.data;
270
+ if (apiResponse.code !== 200) {
271
+ throw new GoveeApiError(`API returned error code ${apiResponse.code}: ${apiResponse.msg}`, response.status, apiResponse.code, apiResponse.msg || 'Unknown error');
272
+ }
273
+ const results = [];
274
+ for (const capability of apiResponse.payload.capabilities) {
275
+ if (capability.type.includes('dynamic_scene') && capability.instance === instanceName) {
276
+ for (const option of capability.parameters.options) {
277
+ results.push(factory(option));
278
+ }
279
+ }
280
+ }
281
+ this.logger?.info({ deviceId, sku, count: results.length }, `Successfully fetched ${instanceName} entries`);
282
+ return results;
283
+ }
284
+ catch (error) {
285
+ this.logger?.error(error, `Failed to fetch ${instanceName} entries`);
286
+ throw error;
287
+ }
288
+ }
245
289
  validateDeviceParams(deviceId, sku) {
246
290
  if (!deviceId || typeof deviceId !== 'string' || deviceId.trim().length === 0) {
247
291
  throw new Error('Device ID must be a non-empty string');
@@ -259,6 +303,8 @@ export class GoveeDeviceRepository {
259
303
  color: 'devices.capabilities.color_setting',
260
304
  colorTem: 'devices.capabilities.color_setting',
261
305
  lightScene: 'devices.capabilities.dynamic_scene',
306
+ snapshot: 'devices.capabilities.dynamic_scene',
307
+ diyScene: 'devices.capabilities.dynamic_scene',
262
308
  segmentedColorRgb: 'devices.capabilities.segment_color_setting',
263
309
  segmentedBrightness: 'devices.capabilities.segment_color_setting',
264
310
  musicMode: 'devices.capabilities.music_setting',
@@ -287,6 +333,14 @@ export class GoveeDeviceRepository {
287
333
  instance = 'lightScene';
288
334
  value = cmdObj.value;
289
335
  }
336
+ else if (cmdObj.name === 'snapshot') {
337
+ instance = 'snapshot';
338
+ value = cmdObj.value;
339
+ }
340
+ else if (cmdObj.name === 'diyScene') {
341
+ instance = 'diyScene';
342
+ value = cmdObj.value;
343
+ }
290
344
  else if (cmdObj.name === 'segmentedColorRgb') {
291
345
  instance = 'segmentedColorRgb';
292
346
  value = cmdObj.value;
@@ -1 +1 @@
1
- {"version":3,"file":"GoveeDeviceRepository.js","sourceRoot":"","sources":["../../src/infrastructure/GoveeDeviceRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAGzD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EACL,WAAW,GAMZ,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,SAAS,GACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,eAAe,GAChB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,gCAAgC,GACjC,MAAM,oBAAoB,CAAC;AA4F5B,MAAM,OAAO,qBAAqB;IAKxB,iBAAiB;QACvB,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAED,YAAY,MAAsB;QAChC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAE5B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;YAC7B,OAAO,EAAE,qBAAqB,CAAC,QAAQ;YACvC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK;YAChC,OAAO,EAAE;gBACP,eAAe,EAAE,MAAM,CAAC,MAAM;gBAC9B,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAEO,cAAc,CAAC,MAAsB;QAC3C,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7F,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,IACE,MAAM,CAAC,OAAO,KAAK,SAAS;YAC5B,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,EAC1D,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,kCAAkC;QAClC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CACtC,MAAM,CAAC,EAAE;YACP,IAAI,CAAC,MAAM,EAAE,KAAK,CAChB;gBACE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE;gBACpC,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE;aAC9D,EACD,8BAA8B,CAC/B,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC,EACD,KAAK,CAAC,EAAE;YACN,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;YACvD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CACF,CAAC;QAEF,sDAAsD;QACtD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CACvC,QAAQ,CAAC,EAAE;YACT,IAAI,CAAC,MAAM,EAAE,KAAK,CAChB;gBACE,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG;gBACxB,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB,EACD,kCAAkC,CACnC,CAAC;YACF,OAAO,QAAQ,CAAC;QAClB,CAAC,EACD,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CACrC,CAAC;IACJ,CAAC;IAEO,eAAe,CAAC,KAAiB;QACvC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;QAEjD,IACE,KAAK,CAAC,IAAI;YACV,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc;gBAC5B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;gBACjC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,EAC7B,CAAC;YACD,MAAM,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,IAAI,YAAY,CAAC,yCAAyC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC;QAEjD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,MAAM,YAAY,GAChB,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAE,IAA6B,CAAC,CAAC,CAAC,SAAS,CAAC;YACzF,MAAM,kBAAkB,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,MAAM,cAAc,CAAC,qBAAqB,CAAC,OAAiC,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,YAAY,GAChB,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,IAA4C,CAAC;QAClF,MAAM,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAE1C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;YAE1E,6BAA6B;YAC7B,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE7E,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,EAAE,KAAK,CAChB,EAAE,QAAQ,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,EAC5D,gCAAgC,CACjC,CAAC;gBACF,MAAM,eAAe,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5E,CAAC;YAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC;YAE1C,IAAI,WAAW,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBAC7B,MAAM,IAAI,aAAa,CACrB,2BAA2B,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC,OAAO,EAAE,EACrE,QAAQ,CAAC,MAAM,EACf,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,OAAO,CACpB,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI;iBAC7B,MAAM,CAAC,MAAM,CAAC,EAAE;gBACf,IACE,CAAC,MAAM,CAAC,MAAM;oBACd,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;oBACjC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EACjC,CAAC;oBACD,IAAI,CAAC,MAAM,EAAE,IAAI,CACf,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAC9C,6CAA6C,CAC9C,CAAC;oBACF,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACpF,IAAI,CAAC,MAAM,EAAE,IAAI,CACf,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAC3C,uCAAuC,CACxC,CAAC;oBACF,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IACE,CAAC,MAAM,CAAC,UAAU;oBAClB,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;oBACrC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EACrC,CAAC;oBACD,IAAI,CAAC,MAAM,EAAE,IAAI,CACf,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,EAClD,+CAA+C,CAChD,CAAC;oBACF,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;oBACxC,IAAI,CAAC,MAAM,EAAE,IAAI,CACf,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EACpD,gDAAgD,CACjD,CAAC;oBACF,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;oBAC7C,IACE,CAAC,UAAU,CAAC,IAAI;wBAChB,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ;wBACnC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EACnC,CAAC;wBACD,IAAI,CAAC,MAAM,EAAE,IAAI,CACf,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EACpD,mDAAmD,CACpD,CAAC;wBACF,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;iBACD,GAAG,CACF,MAAM,CAAC,EAAE,CACP,IAAI,WAAW,CACb,MAAM,CAAC,MAAO,EACd,MAAM,CAAC,GAAI,EACX,MAAM,CAAC,UAAW,EAClB,MAAM,CAAC,YAAkC,CAC1C,CACJ,CAAC;YAEJ,MAAM,mBAAmB,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;YACpD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;YACpC,MAAM,eAAe,GAAG,mBAAmB,GAAG,YAAY,CAAC;YAE3D,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,MAAM,EAAE,IAAI,CACf,wBAAwB,YAAY,0BAA0B,eAAe,yBAAyB,mBAAmB,SAAS,CACnI,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,wBAAwB,YAAY,UAAU,CAAC,CAAC;YACpE,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;YACrD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,GAAW;QAC3C,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,uBAAuB,CAAC,CAAC;QAE9D,IAAI,CAAC;YACH,MAAM,WAAW,GAAsB;gBACrC,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE;gBACnC,OAAO,EAAE;oBACP,GAAG,EAAE,GAAG;oBACR,MAAM,EAAE,QAAQ;iBACjB;aACF,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,6BAA6B,EAAE,WAAW,CAAC,CAAC;YAExF,6BAA6B;YAC7B,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE3E,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,EAAE,KAAK,CAChB,EAAE,QAAQ,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,EAC5D,yCAAyC,CAC1C,CAAC;gBACF,MAAM,eAAe,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5E,CAAC;YAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC;YAE1C,IAAI,WAAW,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBAC7B,MAAM,IAAI,aAAa,CACrB,2BAA2B,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC,OAAO,EAAE,EACrE,QAAQ,CAAC,MAAM,EACf,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,OAAO,CACpB,CAAC;YACJ,CAAC;YAED,2CAA2C;YAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,gCAAgC,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE7F,MAAM,WAAW,GAAG,IAAI,WAAW,CACjC,QAAQ,EACR,GAAG,EACH,IAAI,EAAE,qCAAqC;YAC3C,eAAe,CAChB,CAAC;YAEF,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,mCAAmC,CAAC,CAAC;YAC1E,OAAO,WAAW,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;YAC1D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,GAAW,EAAE,OAAgB;QAC/D,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,2BAA2B,CAAC,CAAC;QAE/F,MAAM,WAAW,GAAwB;YACvC,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE;YACnC,OAAO,EAAE;gBACP,GAAG,EAAE,GAAG;gBACR,MAAM,EAAE,QAAQ;gBAChB,UAAU,EAAE,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC;aACrD;SACF,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,+BAA+B,EAAE,WAAW,CAAC,CAAC;YAE1F,6BAA6B;YAC7B,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE7E,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,EAAE,KAAK,CAChB,EAAE,QAAQ,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,EAC5D,oCAAoC,CACrC,CAAC;gBACF,MAAM,eAAe,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5E,CAAC;YAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC;YAE1C,IAAI,WAAW,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBAC7B,MAAM,IAAI,aAAa,CACrB,2BAA2B,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC,OAAO,EAAE,EACrE,QAAQ,CAAC,MAAM,EACf,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,OAAO,CACpB,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,qCAAqC,CAAC,CAAC;QAC9E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,kCAAkC,CAAC,CAAC;YAC9D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,QAAgB,EAAE,GAAW;QACnD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,+BAA+B,CAAC,CAAC;QAEtE,IAAI,CAAC;YACH,MAAM,WAAW,GAAG;gBAClB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE;gBACnC,OAAO,EAAE;oBACP,GAAG,EAAE,GAAG;oBACR,MAAM,EAAE,QAAQ;iBACjB;aACF,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,8BAA8B,EAAE,WAAW,CAAC,CAAC;YAEzF,6BAA6B;YAC7B,MAAM,gBAAgB,GAAG,gCAAgC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEnF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,EAAE,KAAK,CAChB,EAAE,QAAQ,EAAE,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,EAC5D,2CAA2C,CAC5C,CAAC;gBACF,MAAM,eAAe,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5E,CAAC;YAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC;YAE1C,IAAI,WAAW,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBAC7B,MAAM,IAAI,aAAa,CACrB,2BAA2B,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC,GAAG,EAAE,EACjE,QAAQ,CAAC,MAAM,EACf,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,GAAG,IAAI,eAAe,CACnC,CAAC;YACJ,CAAC;YAED,mCAAmC;YACnC,MAAM,MAAM,GAAiB,EAAE,CAAC;YAEhC,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;gBAC1D,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;oBACtF,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;wBACnD,MAAM,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;oBAClF,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,IAAI,CACf,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,EAC5C,qCAAqC,CACtC,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,gCAAgC,CAAC,CAAC;YAC5D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,QAAgB,EAAE,GAAW;QACxD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAEO,0BAA0B,CAAC,OAAgB;QAKjD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAElC,wCAAwC;QACxC,MAAM,iBAAiB,GAA2B;YAChD,IAAI,EAAE,6BAA6B;YACnC,UAAU,EAAE,4BAA4B;YACxC,KAAK,EAAE,oCAAoC;YAC3C,QAAQ,EAAE,oCAAoC;YAC9C,UAAU,EAAE,oCAAoC;YAChD,iBAAiB,EAAE,4CAA4C;YAC/D,mBAAmB,EAAE,4CAA4C;YACjE,SAAS,EAAE,oCAAoC;YAC/C,gBAAgB,EAAE,6BAA6B;YAC/C,cAAc,EAAE,6BAA6B;YAC7C,gBAAgB,EAAE,6BAA6B;YAC/C,eAAe,EAAE,2BAA2B;YAC5C,WAAW,EAAE,2BAA2B;SACzC,CAAC;QAEF,+DAA+D;QAC/D,IAAI,QAAgB,CAAC;QACrB,IAAI,KAAc,CAAC;QAEnB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,QAAQ,GAAG,aAAa,CAAC;YACzB,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACnC,QAAQ,GAAG,UAAU,CAAC;YACtB,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACtC,QAAQ,GAAG,mBAAmB,CAAC;YAC/B,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACvB,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACxC,QAAQ,GAAG,YAAY,CAAC;YACxB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACvB,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YAC/C,QAAQ,GAAG,mBAAmB,CAAC;YAC/B,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACvB,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACjD,QAAQ,GAAG,qBAAqB,CAAC;YACjC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACvB,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACvC,QAAQ,GAAG,WAAW,CAAC;YACvB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACvB,CAAC;aAAM,IACL,MAAM,CAAC,IAAI,KAAK,kBAAkB;YAClC,MAAM,CAAC,IAAI,KAAK,gBAAgB;YAChC,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAClC,CAAC;YACD,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;YACvB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACvB,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,iBAAiB,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAC9E,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;YACvB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC;YACvB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACvB,CAAC;QAED,OAAO;YACL,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,wBAAwB,MAAM,CAAC,IAAI,EAAE;YAC7E,QAAQ;YACR,KAAK;SACN,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,KAAc;QACtC,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,GAAG,IAAI,KAAK;YACZ,GAAG,IAAI,KAAK;YACZ,GAAG,IAAI,KAAK;YACZ,OAAO,KAAK,CAAC,CAAC,KAAK,QAAQ;YAC3B,OAAO,KAAK,CAAC,CAAC,KAAK,QAAQ;YAC3B,OAAO,KAAK,CAAC,CAAC,KAAK,QAAQ,EAC3B,CAAC;YACD,OAAO,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,mBAAmB,CAAC,KAAc;QACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO;gBACL,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,IAAI;gBACnC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI;gBACjC,CAAC,EAAE,KAAK,GAAG,IAAI;aAChB,CAAC;QACJ,CAAC;QAED,OAAO,KAA4C,CAAC;IACtD,CAAC;IAEO,gCAAgC,CACtC,YAAkF;QAElF,MAAM,MAAM,GAAkC,EAAE,CAAC;QAEjD,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;YACtC,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvC,MAAM,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACxE,CAAC;iBAAM,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;gBACrF,MAAM,CAAC,UAAU,GAAG,EAAE,KAAK,EAAE,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,KAAe,CAAC,EAAE,CAAC;YAClF,CAAC;iBAAM,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBACrD,IAAI,UAAU,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;oBACvC,MAAM,CAAC,KAAK,GAAG;wBACb,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;qBAC7E,CAAC;gBACJ,CAAC;qBAAM,IAAI,UAAU,CAAC,QAAQ,KAAK,mBAAmB,EAAE,CAAC;oBACvD,MAAM,CAAC,QAAQ,GAAG,EAAE,KAAK,EAAE,IAAI,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,KAAe,CAAC,EAAE,CAAC;gBACtF,CAAC;YACH,CAAC;iBAAM,IACL,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;gBACzC,UAAU,CAAC,QAAQ,KAAK,YAAY,EACpC,CAAC;gBACD,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,KAAwC,CAAC;gBAC7E,MAAM,CAAC,UAAU,GAAG;oBAClB,KAAK,EAAE,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC;iBAC1E,CAAC;YACJ,CAAC;iBAAM,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBAC7D,IAAI,UAAU,CAAC,QAAQ,KAAK,mBAAmB,EAAE,CAAC;oBAChD,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,KAG9B,CAAC;oBACH,MAAM,YAAY,GAAmB,EAAE,CAAC;oBACxC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;wBACvE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC/E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;4BAC5B,YAAY,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;wBACpD,CAAC;oBACH,CAAC;oBACD,MAAM,CAAC,iBAAiB,GAAG;wBACzB,KAAK,EAAE,YAAY;qBACpB,CAAC;gBACJ,CAAC;qBAAM,IAAI,UAAU,CAAC,QAAQ,KAAK,qBAAqB,EAAE,CAAC;oBACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,KAGhC,CAAC;oBACH,MAAM,CAAC,mBAAmB,GAAG;wBAC3B,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BAC1B,KAAK,EAAE,GAAG,CAAC,OAAO;4BAClB,UAAU,EAAE,IAAI,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC;yBAC3C,CAAC,CAAC;qBACJ,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;gBAC5F,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,KAAiD,CAAC;gBACrF,MAAM,CAAC,SAAS,GAAG;oBACjB,KAAK,EAAE,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,WAAW,CAAC;iBAC9D,CAAC;YACJ,CAAC;iBAAM,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9C,IAAI,UAAU,CAAC,QAAQ,KAAK,kBAAkB,EAAE,CAAC;oBAC/C,MAAM,CAAC,gBAAgB,GAAG;wBACxB,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI;qBACvE,CAAC;gBACJ,CAAC;qBAAM,IAAI,UAAU,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;oBACpD,MAAM,CAAC,cAAc,GAAG;wBACtB,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI;qBACvE,CAAC;gBACJ,CAAC;qBAAM,IAAI,UAAU,CAAC,QAAQ,KAAK,kBAAkB,EAAE,CAAC;oBACtD,MAAM,CAAC,gBAAgB,GAAG;wBACxB,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI;qBACvE,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5C,IAAI,UAAU,CAAC,QAAQ,KAAK,iBAAiB,EAAE,CAAC;oBAC9C,MAAM,CAAC,eAAe,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAwB,EAAE,CAAC;gBAChF,CAAC;qBAAM,IAAI,UAAU,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;oBACjD,MAAM,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAwB,EAAE,CAAC;gBAC5E,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;;AAvjBuB,8BAAQ,GAAG,+BAA+B,CAAC"}
1
+ {"version":3,"file":"GoveeDeviceRepository.js","sourceRoot":"","sources":["../../src/infrastructure/GoveeDeviceRepository.ts"],"names":[],"mappings":"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"}
@@ -53,21 +53,35 @@ export declare const GoveeStateCapabilitySchema: z.ZodObject<{
53
53
  value: z.ZodUnknown;
54
54
  }, z.core.$strip>;
55
55
  }, z.core.$strip>;
56
- export declare const GoveeStateResponseSchema: z.ZodObject<{
56
+ export declare const GoveeStateResponseSchema: z.ZodPipe<z.ZodObject<{
57
57
  code: z.ZodNumber;
58
- message: z.ZodString;
59
- data: z.ZodObject<{
60
- device: z.ZodString;
61
- sku: z.ZodString;
62
- capabilities: z.ZodArray<z.ZodObject<{
63
- type: z.ZodString;
64
- instance: z.ZodString;
65
- state: z.ZodObject<{
66
- value: z.ZodUnknown;
67
- }, z.core.$strip>;
68
- }, z.core.$strip>>;
69
- }, z.core.$strip>;
70
- }, z.core.$strip>;
58
+ message: z.ZodOptional<z.ZodString>;
59
+ msg: z.ZodOptional<z.ZodString>;
60
+ data: z.ZodOptional<z.ZodUnknown>;
61
+ payload: z.ZodOptional<z.ZodUnknown>;
62
+ }, z.core.$strip>, z.ZodTransform<{
63
+ message: string;
64
+ data: {
65
+ device: string;
66
+ sku: string;
67
+ capabilities: {
68
+ type: string;
69
+ instance: string;
70
+ state: {
71
+ value: unknown;
72
+ };
73
+ }[];
74
+ };
75
+ code: number;
76
+ msg?: string | undefined;
77
+ payload?: unknown;
78
+ }, {
79
+ code: number;
80
+ message?: string | undefined;
81
+ msg?: string | undefined;
82
+ data?: unknown;
83
+ payload?: unknown;
84
+ }>>;
71
85
  export declare const GoveeCommandResponseSchema: z.ZodPipe<z.ZodObject<{
72
86
  code: z.ZodNumber;
73
87
  message: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"response-schemas.d.ts","sourceRoot":"","sources":["../../src/infrastructure/response-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,qBAAqB;;;;;;;;;;iBAkBlB,CAAC;AAGjB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;iBAOtB,CAAC;AAGjB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;iBAIrC,CAAC;AAGH,eAAO,MAAM,0BAA0B;;;;;;iBAMrC,CAAC;AAGH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;iBAQnC,CAAC;AAGH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;GAuBnC,CAAC;AAGL,eAAO,MAAM,sBAAsB;;;;;;iBAMjC,CAAC;AAGH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;iBAO5C,CAAC;AAGH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;iBAS3C,CAAC;AAGH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAC5F,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC"}
1
+ {"version":3,"file":"response-schemas.d.ts","sourceRoot":"","sources":["../../src/infrastructure/response-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,qBAAqB;;;;;;;;;;iBAkBlB,CAAC;AAGjB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;iBAOtB,CAAC;AAGjB,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;iBAIrC,CAAC;AAGH,eAAO,MAAM,0BAA0B;;;;;;iBAMrC,CAAC;AASH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCjC,CAAC;AAGL,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;GAuBnC,CAAC;AAGL,eAAO,MAAM,sBAAsB;;;;;;iBAMjC,CAAC;AAGH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;iBAO5C,CAAC;AAGH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;iBAS3C,CAAC;AAGH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAC5F,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC"}
@@ -40,15 +40,48 @@ export const GoveeStateCapabilitySchema = z.object({
40
40
  value: z.unknown(),
41
41
  }),
42
42
  });
43
+ const GoveeStatePayloadSchema = z.object({
44
+ device: z.string().min(1, 'Device ID must be a non-empty string'),
45
+ sku: z.string().min(1, 'SKU must be a non-empty string'),
46
+ capabilities: z.array(GoveeStateCapabilitySchema),
47
+ });
43
48
  // Device state API response schema
44
- export const GoveeStateResponseSchema = z.object({
49
+ export const GoveeStateResponseSchema = z
50
+ .object({
45
51
  code: z.number(),
46
- message: z.string(),
47
- data: z.object({
48
- device: z.string().min(1, 'Device ID must be a non-empty string'),
49
- sku: z.string().min(1, 'SKU must be a non-empty string'),
50
- capabilities: z.array(GoveeStateCapabilitySchema),
51
- }),
52
+ message: z.string().optional(),
53
+ msg: z.string().optional(),
54
+ data: z.unknown().optional(),
55
+ payload: z.unknown().optional(),
56
+ })
57
+ .transform((response, ctx) => {
58
+ const message = response.message ?? response.msg;
59
+ if (typeof message !== 'string') {
60
+ ctx.addIssue({
61
+ code: z.ZodIssueCode.custom,
62
+ message: 'State response must include either a message or msg field',
63
+ path: ['message'],
64
+ });
65
+ }
66
+ const payload = response.data ?? response.payload;
67
+ const parsedPayload = GoveeStatePayloadSchema.safeParse(payload);
68
+ if (!parsedPayload.success) {
69
+ for (const issue of parsedPayload.error.issues) {
70
+ ctx.addIssue({
71
+ ...issue,
72
+ path: ['data', ...issue.path],
73
+ });
74
+ }
75
+ return z.NEVER;
76
+ }
77
+ if (typeof message !== 'string') {
78
+ return z.NEVER;
79
+ }
80
+ return {
81
+ ...response,
82
+ message,
83
+ data: parsedPayload.data,
84
+ };
52
85
  });
53
86
  // Command API response schema
54
87
  export const GoveeCommandResponseSchema = z
@@ -1 +1 @@
1
- {"version":3,"file":"response-schemas.js","sourceRoot":"","sources":["../../src/infrastructure/response-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,uDAAuD;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC1C,UAAU,EAAE,CAAC;SACV,MAAM,CAAC;QACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,OAAO,EAAE,CAAC;aACP,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;SACnB,CAAC,CACH;aACA,QAAQ,EAAE;KACd,CAAC;SACD,QAAQ,EAAE;CACd,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,6DAA6D;AAC7D,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACvC,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACxC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACrC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5C,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,kCAAkC;CACvG,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,mCAAmC;AACnC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC;CACzC,CAAC,CAAC;AAEH,iCAAiC;AACjC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,kDAAkD,CAAC;IAC3E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sDAAsD,CAAC;IACnF,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE;KACnB,CAAC;CACH,CAAC,CAAC;AAEH,mCAAmC;AACnC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sCAAsC,CAAC;QACjE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC;QACxD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC;KAClD,CAAC;CACH,CAAC,CAAC;AAEH,8BAA8B;AAC9B,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC;KACD,SAAS,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;IAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC;IAEjD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,OAAO,EAAE,6DAA6D;YACtE,IAAI,EAAE,CAAC,SAAS,CAAC;SAClB,CAAC,CAAC;QACH,OAAO,CAAC,CAAC,KAAK,CAAC;IACjB,CAAC;IAED,OAAO;QACL,GAAG,QAAQ;QACX,OAAO;KACR,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,8BAA8B;AAC9B,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;KACf,CAAC;CACH,CAAC,CAAC;AAEH,mCAAmC;AACnC,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;KACzC,CAAC;CACH,CAAC,CAAC;AAEH,qCAAqC;AACrC,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;QACf,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,iCAAiC,CAAC;KACzD,CAAC;CACH,CAAC,CAAC"}
1
+ {"version":3,"file":"response-schemas.js","sourceRoot":"","sources":["../../src/infrastructure/response-schemas.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { IGoveeDeviceRepository } from '../../domain/repositories/IGoveeDeviceRe
3
3
  import { GoveeDevice } from '../../domain/entities/GoveeDevice';
4
4
  import { DeviceState } from '../../domain/entities/DeviceState';
5
5
  import { Command } from '../../domain/entities/Command';
6
- import { LightScene } from '../../domain/value-objects';
6
+ import { LightScene, Snapshot, DiyScene } from '../../domain/value-objects';
7
7
  import { RetryExecutor, RetryResult } from './RetryableRequest';
8
8
  /**
9
9
  * Configuration for RetryableRepository
@@ -48,6 +48,8 @@ export declare class RetryableRepository implements IGoveeDeviceRepository {
48
48
  * Finds dynamic scenes with retry logic
49
49
  */
50
50
  findDynamicScenes(deviceId: string, sku: string): Promise<LightScene[]>;
51
+ findSnapshots(deviceId: string, sku: string): Promise<Snapshot[]>;
52
+ findDiyScenes(deviceId: string, sku: string): Promise<DiyScene[]>;
51
53
  /**
52
54
  * Gets detailed retry result for findAll operation
53
55
  */
@@ -1 +1 @@
1
- {"version":3,"file":"RetryableRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/retry/RetryableRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EACL,aAAa,EAGb,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAG5B;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,wCAAwC;IACxC,UAAU,EAAE,sBAAsB,CAAC;IACnC,4BAA4B;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,sBAAsB;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAU;IAC3C,OAAO,CAAC,gBAAgB,CAAK;gBAEjB,MAAM,EAAE,yBAAyB;IAQ7C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAcvC;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAgBpE;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjF;;OAEG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAgB7E;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IAcnE;;OAEG;IACG,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAgBhG;;OAEG;IACG,0BAA0B,CAC9B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAiB7B;;OAEG;IACH,eAAe;IAIf;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAIzB;;OAEG;IACH,uBAAuB,IAAI,sBAAsB;CAGlD;AAED;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"RetryableRepository.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/retry/RetryableRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EACL,aAAa,EAGb,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAG5B;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,wCAAwC;IACxC,UAAU,EAAE,sBAAsB,CAAC;IACnC,4BAA4B;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,sBAAsB;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAU;IAC3C,OAAO,CAAC,gBAAgB,CAAK;gBAEjB,MAAM,EAAE,yBAAyB;IAQ7C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAcvC;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAgBpE;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjF;;OAEG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAgBvE,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAgBjE,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAgBvE;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IAcnE;;OAEG;IACG,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAgBhG;;OAEG;IACG,0BAA0B,CAC9B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAiB7B;;OAEG;IACH,eAAe;IAIf;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAIzB;;OAEG;IACH,uBAAuB,IAAI,sBAAsB;CAGlD;AAED;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -87,6 +87,34 @@ export class RetryableRepository {
87
87
  };
88
88
  return this.retryExecutor.execute(request);
89
89
  }
90
+ async findSnapshots(deviceId, sku) {
91
+ const request = {
92
+ id: this.generateRequestId('findSnapshots'),
93
+ description: `Fetch snapshots for device ${deviceId} (${sku})`,
94
+ execute: () => this.repository.findSnapshots(deviceId, sku),
95
+ context: {
96
+ operation: 'findSnapshots',
97
+ deviceId,
98
+ sku,
99
+ timestamp: new Date().toISOString(),
100
+ },
101
+ };
102
+ return this.retryExecutor.execute(request);
103
+ }
104
+ async findDiyScenes(deviceId, sku) {
105
+ const request = {
106
+ id: this.generateRequestId('findDiyScenes'),
107
+ description: `Fetch DIY scenes for device ${deviceId} (${sku})`,
108
+ execute: () => this.repository.findDiyScenes(deviceId, sku),
109
+ context: {
110
+ operation: 'findDiyScenes',
111
+ deviceId,
112
+ sku,
113
+ timestamp: new Date().toISOString(),
114
+ },
115
+ };
116
+ return this.retryExecutor.execute(request);
117
+ }
90
118
  /**
91
119
  * Gets detailed retry result for findAll operation
92
120
  */
@@ -1 +1 @@
1
- {"version":3,"file":"RetryableRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/retry/RetryableRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RetryableRepository.js","sourceRoot":"","sources":["../../../src/infrastructure/retry/RetryableRepository.ts"],"names":[],"mappings":"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"}