@digital-alchemy/hass 25.11.16 → 25.11.17-beta.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 (31) hide show
  1. package/dist/helpers/entity-state.d.mts +20 -3
  2. package/dist/helpers/utility.d.mts +1 -1
  3. package/dist/mock_assistant/mock-assistant.module.mjs.map +1 -1
  4. package/dist/mock_assistant/services/websocket-api.service.d.mts +3 -1
  5. package/dist/mock_assistant/services/websocket-api.service.mjs +43 -4
  6. package/dist/mock_assistant/services/websocket-api.service.mjs.map +1 -1
  7. package/dist/services/feature.service.d.mts +2 -2
  8. package/dist/services/feature.service.mjs.map +1 -1
  9. package/dist/services/reference.service.d.mts +1 -1
  10. package/dist/services/reference.service.mjs +59 -5
  11. package/dist/services/reference.service.mjs.map +1 -1
  12. package/dist/testing/entity.spec.mjs +14 -0
  13. package/dist/testing/entity.spec.mjs.map +1 -1
  14. package/dist/testing/ref-by.spec.mjs +802 -2
  15. package/dist/testing/ref-by.spec.mjs.map +1 -1
  16. package/dist/testing/scheduler.spec.d.mts +1 -0
  17. package/dist/testing/scheduler.spec.mjs +412 -0
  18. package/dist/testing/scheduler.spec.mjs.map +1 -0
  19. package/dist/testing/workflow.spec.mjs +1 -1
  20. package/dist/testing/workflow.spec.mjs.map +1 -1
  21. package/package.json +16 -16
  22. package/src/helpers/entity-state.mts +20 -3
  23. package/src/helpers/utility.mts +1 -1
  24. package/src/mock_assistant/mock-assistant.module.mts +0 -1
  25. package/src/mock_assistant/services/websocket-api.service.mts +46 -4
  26. package/src/services/feature.service.mts +9 -6
  27. package/src/services/reference.service.mts +75 -7
  28. package/src/testing/entity.spec.mts +15 -0
  29. package/src/testing/ref-by.spec.mts +962 -2
  30. package/src/testing/scheduler.spec.mts +444 -0
  31. package/src/testing/workflow.spec.mts +1 -1
@@ -1,4 +1,4 @@
1
- import type { FIRST, RemoveCallback, TBlackHole } from "@digital-alchemy/core";
1
+ import type { FIRST, RemoveCallback, TBlackHole, TContext, TOffset } from "@digital-alchemy/core";
2
2
  import type { Dayjs } from "dayjs";
3
3
  import type { Except } from "type-fest";
4
4
  import type { ALL_DOMAINS, ANY_ENTITY, GetDomain, iCallService, PICK_ENTITY, TAreaId, TDeviceId, TLabelId, TPlatformId, TRawDomains } from "../user.mts";
@@ -26,6 +26,17 @@ export type EntityHistoryItem = {
26
26
  };
27
27
  export type TEntityUpdateCallback<ENTITY_ID extends ANY_ENTITY> = (new_state: NonNullable<ENTITY_STATE<ENTITY_ID>>, old_state: NonNullable<ENTITY_STATE<ENTITY_ID>>, remove: () => TBlackHole) => TBlackHole;
28
28
  export type RemovableCallback<ENTITY_ID extends ANY_ENTITY> = (callback: TEntityUpdateCallback<ENTITY_ID>) => RemoveCallback;
29
+ export type OnStateForOptions<ENTITY_ID extends ANY_ENTITY> = ((Pick<ENTITY_STATE<ENTITY_ID>, "state"> & {
30
+ matches?: never;
31
+ }) | ({
32
+ matches: (new_state: ENTITY_STATE<ENTITY_ID>, old_state: ENTITY_STATE<ENTITY_ID>) => boolean;
33
+ } & {
34
+ state?: never;
35
+ })) & {
36
+ for: TOffset;
37
+ context?: TContext;
38
+ exec: (state: ByIdProxy<ENTITY_ID>) => TBlackHole;
39
+ };
29
40
  export type ByIdProxy<ENTITY_ID extends ANY_ENTITY> = ENTITY_STATE<ENTITY_ID> & {
30
41
  entity_id: ENTITY_ID;
31
42
  /**
@@ -43,11 +54,17 @@ export type ByIdProxy<ENTITY_ID extends ANY_ENTITY> = ENTITY_STATE<ENTITY_ID> &
43
54
  /**
44
55
  * Will resolve with the next state of the next value. No time limit
45
56
  */
46
- nextState: (timeoutMs?: number) => Promise<ENTITY_STATE<ENTITY_ID>>;
57
+ nextState: (timeout?: TOffset) => Promise<ENTITY_STATE<ENTITY_ID>>;
58
+ /**
59
+ * Runs on state change -
60
+ * If state matches the indicated target, then a timer will be initiated
61
+ * As long as the condition holds true, the callback will be executed at end of the timer
62
+ */
63
+ onStateFor: (options: OnStateForOptions<ENTITY_ID>) => RemoveCallback;
47
64
  /**
48
65
  * Will resolve when state
49
66
  */
50
- waitForState: (state: string | number, timeoutMs?: number) => Promise<ENTITY_STATE<ENTITY_ID>>;
67
+ waitForState: (state: string | number, timeout?: TOffset) => Promise<ENTITY_STATE<ENTITY_ID>>;
51
68
  /**
52
69
  * Access the immediate previous entity state
53
70
  */
@@ -1,5 +1,5 @@
1
1
  import type { TBlackHole } from "@digital-alchemy/core";
2
- import type { Dayjs } from "dayjs";
2
+ import { type Dayjs } from "dayjs";
3
3
  import type { Get } from "type-fest";
4
4
  import type { ALL_DOMAINS, ANY_ENTITY, HassEntitySetupMapping, iCallService, PICK_ENTITY, TRawEntityIds } from "../user.mts";
5
5
  import type { HassEntityContext } from "./entity-state.mts";
@@ -1 +1 @@
1
- {"version":3,"file":"mock-assistant.module.mjs","sourceRoot":"","sources":["../../src/mock_assistant/mock-assistant.module.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,EAC3B,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;IAC9C,aAAa,EAAE;QACb,UAAU,EAAE;YACV,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,wDAAwD;YACrE,IAAI,EAAE,QAAQ;SACf;QACD,aAAa,EAAE;YACb,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC;YACrC,WAAW,EAAE,EAAE;YACf,IAAI,EAAE,QAAQ;SACf;QACD,SAAS,EAAE;YACT,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,+BAA+B;YAC5C,IAAI,EAAE,SAAS;SAChB;KACF;IACD,OAAO,EAAE,CAAC,QAAQ,CAAC;IACnB,IAAI,EAAE,gBAAgB;IACtB,YAAY,EAAE;QACZ,QAAQ;QACR,OAAO;QACP,QAAQ;QACR,MAAM;QACN,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,iBAAiB;QACjB,UAAU;QACV,UAAU;KACX;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EAAE,mBAAmB;QAC3B,eAAe,EAAE,2BAA2B;QAC5C,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,YAAY;QACtB,KAAK,EAAE,kBAAkB;QACzB,KAAK,EAAE,kBAAkB;QACzB,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,gBAAgB;QACxB,IAAI,EAAE,iBAAiB;KACxB;CACF,CAAC,CAAC;AAQH;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE,CACnC,YAAY;KACT,WAAW,CAAC,QAAQ,CAAC;KACrB,MAAM,EAAE;KACR,MAAM,EAAE;KACR,SAAS,CAAC;IACT,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;CAC/B,CAAC;KACD,UAAU,CAAC;IACV,aAAa,EAAE;QACb,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,KAAK;KACZ;CACF,CAAC;KACD,aAAa,CAAC,kBAAkB,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"mock-assistant.module.mjs","sourceRoot":"","sources":["../../src/mock_assistant/mock-assistant.module.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,EAC3B,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;IAC9C,aAAa,EAAE;QACb,UAAU,EAAE;YACV,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,wDAAwD;YACrE,IAAI,EAAE,QAAQ;SACf;QACD,aAAa,EAAE;YACb,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC;YACrC,WAAW,EAAE,EAAE;YACf,IAAI,EAAE,QAAQ;SACf;QACD,SAAS,EAAE;YACT,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,+BAA+B;YAC5C,IAAI,EAAE,SAAS;SAChB;KACF;IACD,OAAO,EAAE,CAAC,QAAQ,CAAC;IACnB,IAAI,EAAE,gBAAgB;IACtB,YAAY,EAAE;QACZ,QAAQ;QACR,OAAO;QACP,QAAQ;QACR,MAAM;QACN,OAAO;QACP,QAAQ;QACR,QAAQ;QACR,iBAAiB;QACjB,UAAU;QACV,UAAU;KACX;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EAAE,mBAAmB;QAC3B,eAAe,EAAE,2BAA2B;QAC5C,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,YAAY;QACtB,KAAK,EAAE,kBAAkB;QACzB,KAAK,EAAE,kBAAkB;QACzB,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,gBAAgB;QACxB,IAAI,EAAE,iBAAiB;KACxB;CACF,CAAC,CAAC;AAQH;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE,CACnC,YAAY;KACT,WAAW,CAAC,QAAQ,CAAC;KACrB,MAAM,EAAE;KACR,MAAM,EAAE;KACR,SAAS,CAAC;IACT,WAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;CAC/B,CAAC;KACD,UAAU,CAAC;IACV,aAAa,EAAE;QACb,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,KAAK;KACZ;CACF,CAAC;KACD,aAAa,CAAC,kBAAkB,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,EAAE,CAAC"}
@@ -3,8 +3,10 @@ import type { PartialDeep } from "type-fest";
3
3
  import type WS from "ws";
4
4
  import type { SocketMessageDTO } from "../../helpers/index.mts";
5
5
  export declare const INTERNAL_MESSAGE = "INTERNAL_MESSAGE";
6
- export declare function MockWebsocketAPI({ hass, config, lifecycle }: TServiceParams): {
6
+ export declare function MockWebsocketAPI({ hass, config, lifecycle, event }: TServiceParams): {
7
+ attachScheduledFunctions: () => void;
7
8
  connection: WS;
9
+ init: () => Promise<void>;
8
10
  onMessage<DATA extends object>(type: string, callback: (data: DATA & MessageData) => TBlackHole): void;
9
11
  sendMessage: (data: PartialDeep<SocketMessageDTO>) => void;
10
12
  };
@@ -1,11 +1,12 @@
1
1
  import { START } from "@digital-alchemy/core";
2
2
  import EventEmitter from "events";
3
+ import { SOCKET_CONNECTED } from "../../services/websocket-api.service.mjs";
3
4
  const CONNECTION_CLOSED = 0;
4
5
  // const CONNECTION_OPEN = 1;
5
6
  // const CONNECTION_FAILED = 2;
6
7
  const UNLIMITED = 0;
7
8
  export const INTERNAL_MESSAGE = "INTERNAL_MESSAGE";
8
- export function MockWebsocketAPI({ hass, config, lifecycle }) {
9
+ export function MockWebsocketAPI({ hass, config, lifecycle, event }) {
9
10
  const connection = new EventEmitter();
10
11
  connection.setMaxListeners(UNLIMITED);
11
12
  lifecycle.onShutdownStart(() => {
@@ -18,7 +19,8 @@ export function MockWebsocketAPI({ hass, config, lifecycle }) {
18
19
  };
19
20
  // connection.send = (...data) =>
20
21
  hass.socket.createConnection = () => {
21
- setImmediate(() => {
22
+ // Use Promise.resolve().then() instead of setImmediate for better compatibility with fake timers
23
+ Promise.resolve().then(() => {
22
24
  if (!config.mock_assistant.PASS_AUTH) {
23
25
  return;
24
26
  }
@@ -26,6 +28,37 @@ export function MockWebsocketAPI({ hass, config, lifecycle }) {
26
28
  });
27
29
  return connection;
28
30
  };
31
+ // Mock init - resolves immediately for tests
32
+ // The real service's init() waits for onSocketReady, but in tests we don't need that
33
+ async function init() {
34
+ if (hass.socket.connection) {
35
+ return;
36
+ }
37
+ hass.socket.connection = hass.socket.createConnection("");
38
+ hass.socket.setConnectionState("connecting");
39
+ // Set up message handler - the real service's handlers registered in onPreInit
40
+ // will process messages via registerMessageHandler
41
+ connection.on("message", async (message) => {
42
+ try {
43
+ JSON.parse(message.toString());
44
+ // Real service's handlers will process this via onMessage/registerMessageHandler
45
+ }
46
+ catch {
47
+ // Ignore parse errors
48
+ }
49
+ });
50
+ // In tests, we can resolve immediately without waiting for real socket handshake
51
+ // The real service's onBootstrap calls this, and it needs to complete for lifecycle to progress
52
+ hass.socket.setConnectionState("connected");
53
+ // Emit auth_ok to trigger the real service's handlers (registered in onPreInit)
54
+ // This allows the real service's auth_ok handler to run and do its setup
55
+ if (config.mock_assistant.PASS_AUTH) {
56
+ // Use microtask to ensure handlers are registered first
57
+ await Promise.resolve();
58
+ sendMessage({ type: "auth_ok" });
59
+ event.emit(SOCKET_CONNECTED);
60
+ }
61
+ }
29
62
  connection.send = (data) => {
30
63
  const payload = JSON.parse(data);
31
64
  connection.emit(INTERNAL_MESSAGE, payload);
@@ -38,7 +71,7 @@ export function MockWebsocketAPI({ hass, config, lifecycle }) {
38
71
  return;
39
72
  }
40
73
  default: {
41
- setImmediate(() => {
74
+ Promise.resolve().then(() => {
42
75
  sendMessage({
43
76
  id: payload.id,
44
77
  result: null,
@@ -49,12 +82,18 @@ export function MockWebsocketAPI({ hass, config, lifecycle }) {
49
82
  }
50
83
  };
51
84
  function sendMessage(data) {
52
- setImmediate(() => {
85
+ // Use Promise.resolve() instead of setImmediate for better fake timer compatibility
86
+ Promise.resolve().then(() => {
53
87
  connection.emit("message", JSON.stringify(data));
54
88
  });
55
89
  }
56
90
  return {
91
+ attachScheduledFunctions: () => {
92
+ // Mock implementation - no-op for tests
93
+ // The real websocket service sets up intervals here, but we don't need them in tests
94
+ },
57
95
  connection: connection,
96
+ init,
58
97
  onMessage(type, callback) {
59
98
  connection.on(INTERNAL_MESSAGE, (data) => {
60
99
  if (data.type === type) {
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-api.service.mjs","sourceRoot":"","sources":["../../../src/mock_assistant/services/websocket-api.service.mts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,YAAY,MAAM,QAAQ,CAAC;AAMlC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,6BAA6B;AAC7B,+BAA+B;AAC/B,MAAM,SAAS,GAAG,CAAC,CAAC;AAEpB,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAEnD,MAAM,UAAU,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAkB;IAC1E,MAAM,UAAU,GAAG,IAAI,YAAY,EAAsB,CAAC;IAC1D,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACtC,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE;QAC7B,UAAU,CAAC,kBAAkB,EAAE,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,UAAU,GAAG,iBAAiB,CAAC;IAC1C,IAAI,EAAE,GAAG,KAAK,CAAC;IACf,UAAU,CAAC,KAAK,GAAG,GAAG,EAAE;QACtB,UAAU,CAAC,UAAU,GAAG,iBAAiB,CAAC;IAC5C,CAAC,CAAC;IACF,iCAAiC;IAEjC,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,GAAG,EAAE;QAClC,YAAY,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YACD,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IAEF,UAAU,CAAC,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAiC,CAAC;QACjE,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAC3C,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBACxC,OAAO;YACT,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACR,YAAY,CAAC,GAAG,EAAE;oBAChB,WAAW,CAAC;wBACV,EAAE,EAAE,OAAO,CAAC,EAAE;wBACd,MAAM,EAAE,IAAI;wBACZ,IAAI,EAAE,QAAQ;qBACf,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,SAAS,WAAW,CAAC,IAAmC;QACtD,YAAY,CAAC,GAAG,EAAE;YAChB,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,UAAU,EAAE,UAAgB;QAC5B,SAAS,CACP,IAAY,EACZ,QAAkD;YAElD,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,IAAwB,EAAE,EAAE;gBAC3D,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBACvB,QAAQ,CAAC,IAA0B,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,WAAW;KACZ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"websocket-api.service.mjs","sourceRoot":"","sources":["../../../src/mock_assistant/services/websocket-api.service.mts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import type { SupportedEntityFeatures, UsedSupportedFeatureDomains } from "../in
4
4
  import type { PICK_ENTITY } from "../user.mts";
5
5
  export declare function HassFeatureService({ hass, logger, internal: { utils: { is }, }, }: TServiceParams): {
6
6
  createSupportedFeatures: <T extends UsedSupportedFeatureDomains>(features: (number | SupportedEntityFeatures<T>)[]) => number;
7
- getSupportedFeatures: (input: number | PICK_ENTITY | ByIdProxy<PICK_ENTITY>) => number[];
7
+ getSupportedFeatures: <T extends UsedSupportedFeatureDomains>(input: number | PICK_ENTITY | ByIdProxy<PICK_ENTITY<T>>) => number[];
8
8
  hasFeature: <T extends UsedSupportedFeatureDomains>(input: number | PICK_ENTITY<T> | ByIdProxy<PICK_ENTITY<T>>, feature: number | SupportedEntityFeatures<T>) => boolean;
9
- listEntityFeatures: <DOMAIN extends UsedSupportedFeatureDomains = UsedSupportedFeatureDomains>(input: PICK_ENTITY<DOMAIN> | ByIdProxy<PICK_ENTITY<DOMAIN>>) => SupportedEntityFeatures<DOMAIN>[];
9
+ listEntityFeatures: <DOMAIN extends UsedSupportedFeatureDomains, ENTITY extends PICK_ENTITY<DOMAIN> = PICK_ENTITY<DOMAIN>>(input: ENTITY | ByIdProxy<ENTITY>) => SupportedEntityFeatures<DOMAIN>[];
10
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"feature.service.mjs","sourceRoot":"","sources":["../../src/services/feature.service.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature.service.mjs","sourceRoot":"","sources":["../../src/services/feature.service.mts"],"names":[],"mappings":"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"}
@@ -50,4 +50,4 @@ import type { HassReferenceService } from "../helpers/index.mts";
50
50
  * The reference may call the remove all active event listeners and timers at any time.
51
51
  * It will interrupt any timers (nextState/waitForState), as well as detach any event listeners
52
52
  */
53
- export declare function ReferenceService({ hass, logger, internal, event, }: TServiceParams): HassReferenceService;
53
+ export declare function ReferenceService({ hass, logger, internal, scheduler, event, }: TServiceParams): HassReferenceService;
@@ -53,10 +53,13 @@ import { SOCKET_CONNECTED } from "./websocket-api.service.mjs";
53
53
  * The reference may call the remove all active event listeners and timers at any time.
54
54
  * It will interrupt any timers (nextState/waitForState), as well as detach any event listeners
55
55
  */
56
- export function ReferenceService({ hass, logger, internal, event, }) {
56
+ export function ReferenceService({ hass, logger, internal, scheduler, event, }) {
57
57
  const { is } = internal.utils;
58
58
  // #MARK:proxyGetLogic
59
59
  function proxyGetLogic(entity, property) {
60
+ if (!is.string(property)) {
61
+ return undefined;
62
+ }
60
63
  const valid = ["state", "attributes", "last"].some(i => property.startsWith(i));
61
64
  if (!valid) {
62
65
  logger.error({ entity, name: proxyGetLogic, property }, `invalid property lookup`);
@@ -94,6 +97,7 @@ export function ReferenceService({ hass, logger, internal, event, }) {
94
97
  "last",
95
98
  "nextState",
96
99
  "once",
100
+ "onStateFor",
97
101
  "onUpdate",
98
102
  "previous",
99
103
  "removeAllListeners",
@@ -127,8 +131,50 @@ export function ReferenceService({ hass, logger, internal, event, }) {
127
131
  // things that shouldn't be needed: this extract
128
132
  // eslint-disable-next-line sonarjs/function-return-type
129
133
  get: (_, property) => {
134
+ // Handle Symbol properties (e.g., when vitest formats test output)
135
+ if (!is.string(property)) {
136
+ return undefined;
137
+ }
130
138
  hass.diagnostics.reference?.get_property.publish({ entity_id, property });
131
139
  switch (property) {
140
+ // #MARK: runAfter
141
+ case "onStateFor": {
142
+ return function ({ context, ...options }) {
143
+ let timerRemove;
144
+ const remove = proxy.onUpdate((new_state, old_state) => {
145
+ const matches = options.matches
146
+ ? options.matches(new_state, old_state)
147
+ : options.state === new_state.state;
148
+ if (!matches) {
149
+ if (timerRemove) {
150
+ timerRemove();
151
+ timerRemove = undefined;
152
+ logger.trace({ context, entity_id }, "cleared timer - state no longer matches");
153
+ }
154
+ return;
155
+ }
156
+ if (timerRemove) {
157
+ logger.trace({ context, entity_id }, "timer already running, skipping");
158
+ return;
159
+ }
160
+ timerRemove = scheduler.setTimeout(async () => {
161
+ logger.trace({ context, entity_id, for: options.for }, "timer fired - executing callback");
162
+ internal.safeExec({
163
+ context,
164
+ exec: async () => await options.exec(proxy),
165
+ });
166
+ }, options.for);
167
+ logger.trace({ context, entity_id, for: options.for }, "started timer for state condition");
168
+ });
169
+ return internal.removeFn(() => {
170
+ if (timerRemove) {
171
+ timerRemove();
172
+ }
173
+ remove();
174
+ logger.trace({ context, entity_id }, "removed [onStateFor] listener");
175
+ });
176
+ };
177
+ }
132
178
  // #MARK: onUpdate
133
179
  case "onUpdate": {
134
180
  return (callback) => {
@@ -215,9 +261,13 @@ export function ReferenceService({ hass, logger, internal, event, }) {
215
261
  event.once(entity_id, complete);
216
262
  // - race!
217
263
  let wait;
218
- if (is.number(timeout) && timeout > NONE) {
264
+ if (is.undefined(timeout)) {
265
+ return;
266
+ }
267
+ const duration = internal.utils.getIntervalMs(timeout);
268
+ if (duration > NONE) {
219
269
  // keep track of sleep so it can be cleaned up also
220
- wait = sleep(timeout);
270
+ wait = sleep(duration);
221
271
  await wait;
222
272
  wait = undefined;
223
273
  if (done) {
@@ -259,8 +309,12 @@ export function ReferenceService({ hass, logger, internal, event, }) {
259
309
  };
260
310
  event.on(entity_id, complete);
261
311
  let wait;
262
- if (is.number(timeout) && timeout > NONE) {
263
- wait = sleep(timeout);
312
+ if (is.undefined(timeout)) {
313
+ return;
314
+ }
315
+ const duration = internal.utils.getIntervalMs(timeout);
316
+ if (duration > NONE) {
317
+ wait = sleep(duration);
264
318
  await wait;
265
319
  wait = undefined;
266
320
  if (done) {
@@ -1 +1 @@
1
- {"version":3,"file":"reference.service.mjs","sourceRoot":"","sources":["../../src/services/reference.service.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reference.service.mjs","sourceRoot":"","sources":["../../src/services/reference.service.mts"],"names":[],"mappings":"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"}
@@ -206,8 +206,22 @@ describe("Entity", () => {
206
206
  .run(({ lifecycle, hass }) => {
207
207
  const spy = vi.fn();
208
208
  subscribe(hass.diagnostics.entity.refresh_entities.name, spy);
209
+ // Mock getAllEntities to return entities so refresh doesn't call process.exit()
210
+ vi.spyOn(hass.fetch, "getAllEntities").mockResolvedValue([
211
+ {
212
+ attributes: {},
213
+ context: { id: "test", parent_id: null, user_id: null },
214
+ entity_id: "sensor.magic",
215
+ last_changed: dayjs(),
216
+ last_reported: dayjs(),
217
+ last_updated: dayjs(),
218
+ state: "unavailable",
219
+ },
220
+ ]);
209
221
  lifecycle.onReady(async () => {
210
222
  await hass.entity.refresh();
223
+ // Wait for setImmediate to complete
224
+ await sleep(10);
211
225
  expect(spy).toHaveBeenCalledWith(expect.objectContaining({
212
226
  emitUpdates: [],
213
227
  }), hass.diagnostics.entity.refresh_entities.name);
@@ -1 +1 @@
1
- {"version":3,"file":"entity.spec.mjs","sourceRoot":"","sources":["../../src/testing/entity.spec.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity.spec.mjs","sourceRoot":"","sources":["../../src/testing/entity.spec.mts"],"names":[],"mappings":"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"}