@pellux/goodvibes-sdk 0.25.10 → 0.25.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/dist/_internal/contracts/artifacts/operator-contract.json +178 -6
  2. package/dist/_internal/contracts/generated/foundation-client-types.d.ts +16 -1
  3. package/dist/_internal/contracts/generated/foundation-client-types.d.ts.map +1 -1
  4. package/dist/_internal/contracts/generated/foundation-metadata.d.ts +2 -2
  5. package/dist/_internal/contracts/generated/foundation-metadata.js +2 -2
  6. package/dist/_internal/contracts/generated/operator-contract.d.ts.map +1 -1
  7. package/dist/_internal/contracts/generated/operator-contract.js +178 -6
  8. package/dist/_internal/contracts/generated/operator-method-ids.d.ts +1 -1
  9. package/dist/_internal/contracts/generated/operator-method-ids.d.ts.map +1 -1
  10. package/dist/_internal/contracts/generated/operator-method-ids.js +1 -0
  11. package/dist/_internal/daemon/context.d.ts +1 -0
  12. package/dist/_internal/daemon/context.d.ts.map +1 -1
  13. package/dist/_internal/daemon/integration-route-types.d.ts +1 -0
  14. package/dist/_internal/daemon/integration-route-types.d.ts.map +1 -1
  15. package/dist/_internal/daemon/integration-routes.d.ts +1 -1
  16. package/dist/_internal/daemon/integration-routes.d.ts.map +1 -1
  17. package/dist/_internal/daemon/integration-routes.js +3 -0
  18. package/dist/_internal/daemon/operator.d.ts +1 -1
  19. package/dist/_internal/daemon/operator.d.ts.map +1 -1
  20. package/dist/_internal/daemon/operator.js +2 -0
  21. package/dist/_internal/daemon/runtime-route-types.d.ts +1 -1
  22. package/dist/_internal/daemon/runtime-route-types.d.ts.map +1 -1
  23. package/dist/_internal/platform/adapters/discord/index.d.ts.map +1 -1
  24. package/dist/_internal/platform/adapters/discord/index.js +4 -5
  25. package/dist/_internal/platform/adapters/github/index.d.ts.map +1 -1
  26. package/dist/_internal/platform/adapters/github/index.js +4 -5
  27. package/dist/_internal/platform/adapters/google-chat/index.d.ts.map +1 -1
  28. package/dist/_internal/platform/adapters/google-chat/index.js +7 -5
  29. package/dist/_internal/platform/adapters/helpers.d.ts +2 -1
  30. package/dist/_internal/platform/adapters/helpers.d.ts.map +1 -1
  31. package/dist/_internal/platform/adapters/helpers.js +3 -34
  32. package/dist/_internal/platform/adapters/homeassistant/index.d.ts +3 -0
  33. package/dist/_internal/platform/adapters/homeassistant/index.d.ts.map +1 -0
  34. package/dist/_internal/platform/adapters/homeassistant/index.js +177 -0
  35. package/dist/_internal/platform/adapters/index.d.ts +1 -0
  36. package/dist/_internal/platform/adapters/index.d.ts.map +1 -1
  37. package/dist/_internal/platform/adapters/index.js +1 -0
  38. package/dist/_internal/platform/adapters/mattermost/index.d.ts.map +1 -1
  39. package/dist/_internal/platform/adapters/mattermost/index.js +6 -2
  40. package/dist/_internal/platform/adapters/slack/index.d.ts.map +1 -1
  41. package/dist/_internal/platform/adapters/slack/index.js +4 -5
  42. package/dist/_internal/platform/adapters/telegram/index.d.ts.map +1 -1
  43. package/dist/_internal/platform/adapters/telegram/index.js +7 -5
  44. package/dist/_internal/platform/adapters/types.d.ts +1 -1
  45. package/dist/_internal/platform/adapters/types.d.ts.map +1 -1
  46. package/dist/_internal/platform/adapters/webhook/index.d.ts.map +1 -1
  47. package/dist/_internal/platform/adapters/webhook/index.js +4 -1
  48. package/dist/_internal/platform/automation/types.d.ts +1 -1
  49. package/dist/_internal/platform/automation/types.d.ts.map +1 -1
  50. package/dist/_internal/platform/channels/builtin/accounts.d.ts.map +1 -1
  51. package/dist/_internal/platform/channels/builtin/accounts.js +22 -0
  52. package/dist/_internal/platform/channels/builtin/contracts.d.ts.map +1 -1
  53. package/dist/_internal/platform/channels/builtin/contracts.js +9 -0
  54. package/dist/_internal/platform/channels/builtin/descriptors.d.ts.map +1 -1
  55. package/dist/_internal/platform/channels/builtin/descriptors.js +9 -2
  56. package/dist/_internal/platform/channels/builtin/homeassistant.d.ts +64 -0
  57. package/dist/_internal/platform/channels/builtin/homeassistant.d.ts.map +1 -0
  58. package/dist/_internal/platform/channels/builtin/homeassistant.js +380 -0
  59. package/dist/_internal/platform/channels/builtin/plugins.d.ts.map +1 -1
  60. package/dist/_internal/platform/channels/builtin/plugins.js +2 -1
  61. package/dist/_internal/platform/channels/builtin/presentation.d.ts.map +1 -1
  62. package/dist/_internal/platform/channels/builtin/presentation.js +4 -0
  63. package/dist/_internal/platform/channels/builtin/setup-schema.d.ts.map +1 -1
  64. package/dist/_internal/platform/channels/builtin/setup-schema.js +46 -0
  65. package/dist/_internal/platform/channels/builtin/shared.d.ts +1 -1
  66. package/dist/_internal/platform/channels/builtin/shared.d.ts.map +1 -1
  67. package/dist/_internal/platform/channels/builtin/shared.js +2 -0
  68. package/dist/_internal/platform/channels/builtin/surfaces.d.ts.map +1 -1
  69. package/dist/_internal/platform/channels/builtin/surfaces.js +1 -0
  70. package/dist/_internal/platform/channels/builtin/targets.d.ts.map +1 -1
  71. package/dist/_internal/platform/channels/builtin/targets.js +24 -0
  72. package/dist/_internal/platform/channels/builtin-runtime.d.ts.map +1 -1
  73. package/dist/_internal/platform/channels/builtin-runtime.js +6 -0
  74. package/dist/_internal/platform/channels/delivery/strategies-core.d.ts +1 -0
  75. package/dist/_internal/platform/channels/delivery/strategies-core.d.ts.map +1 -1
  76. package/dist/_internal/platform/channels/delivery/strategies-core.js +41 -1
  77. package/dist/_internal/platform/channels/delivery-router.d.ts.map +1 -1
  78. package/dist/_internal/platform/channels/delivery-router.js +2 -1
  79. package/dist/_internal/platform/channels/reply-pipeline.d.ts.map +1 -1
  80. package/dist/_internal/platform/channels/reply-pipeline.js +9 -0
  81. package/dist/_internal/platform/channels/route-manager.d.ts.map +1 -1
  82. package/dist/_internal/platform/channels/route-manager.js +1 -0
  83. package/dist/_internal/platform/channels/surface-registry.d.ts.map +1 -1
  84. package/dist/_internal/platform/channels/surface-registry.js +4 -0
  85. package/dist/_internal/platform/channels/types.d.ts +1 -1
  86. package/dist/_internal/platform/channels/types.d.ts.map +1 -1
  87. package/dist/_internal/platform/cloudflare/manager.d.ts +1 -1
  88. package/dist/_internal/platform/cloudflare/manager.d.ts.map +1 -1
  89. package/dist/_internal/platform/cloudflare/manager.js +27 -24
  90. package/dist/_internal/platform/cloudflare/types.d.ts +5 -0
  91. package/dist/_internal/platform/cloudflare/types.d.ts.map +1 -1
  92. package/dist/_internal/platform/cloudflare/utils.d.ts.map +1 -1
  93. package/dist/_internal/platform/cloudflare/utils.js +4 -10
  94. package/dist/_internal/platform/companion/companion-chat-manager.d.ts +24 -4
  95. package/dist/_internal/platform/companion/companion-chat-manager.d.ts.map +1 -1
  96. package/dist/_internal/platform/companion/companion-chat-manager.js +128 -78
  97. package/dist/_internal/platform/config/schema-domain-surfaces.d.ts +11 -0
  98. package/dist/_internal/platform/config/schema-domain-surfaces.d.ts.map +1 -1
  99. package/dist/_internal/platform/config/schema-domain-surfaces.js +59 -0
  100. package/dist/_internal/platform/config/schema-types.d.ts +14 -2
  101. package/dist/_internal/platform/config/schema-types.d.ts.map +1 -1
  102. package/dist/_internal/platform/control-plane/gateway-utils.d.ts +37 -0
  103. package/dist/_internal/platform/control-plane/gateway-utils.d.ts.map +1 -0
  104. package/dist/_internal/platform/control-plane/gateway-utils.js +97 -0
  105. package/dist/_internal/platform/control-plane/gateway.d.ts +4 -9
  106. package/dist/_internal/platform/control-plane/gateway.d.ts.map +1 -1
  107. package/dist/_internal/platform/control-plane/gateway.js +26 -61
  108. package/dist/_internal/platform/control-plane/method-catalog-runtime.d.ts.map +1 -1
  109. package/dist/_internal/platform/control-plane/method-catalog-runtime.js +11 -1
  110. package/dist/_internal/platform/control-plane/operator-contract-schemas-admin.d.ts.map +1 -1
  111. package/dist/_internal/platform/control-plane/operator-contract-schemas-admin.js +3 -2
  112. package/dist/_internal/platform/control-plane/operator-contract-schemas-control.d.ts +1 -0
  113. package/dist/_internal/platform/control-plane/operator-contract-schemas-control.d.ts.map +1 -1
  114. package/dist/_internal/platform/control-plane/operator-contract-schemas-control.js +26 -0
  115. package/dist/_internal/platform/control-plane/routes/operator.d.ts +1 -1
  116. package/dist/_internal/platform/control-plane/routes/operator.d.ts.map +1 -1
  117. package/dist/_internal/platform/control-plane/routes/operator.js +2 -0
  118. package/dist/_internal/platform/control-plane/types.d.ts +1 -1
  119. package/dist/_internal/platform/control-plane/types.d.ts.map +1 -1
  120. package/dist/_internal/platform/daemon/control-plane.d.ts.map +1 -1
  121. package/dist/_internal/platform/daemon/control-plane.js +50 -6
  122. package/dist/_internal/platform/daemon/facade-composition.d.ts.map +1 -1
  123. package/dist/_internal/platform/daemon/facade-composition.js +30 -2
  124. package/dist/_internal/platform/daemon/facade-types.d.ts +1 -1
  125. package/dist/_internal/platform/daemon/facade-types.d.ts.map +1 -1
  126. package/dist/_internal/platform/daemon/http/router.d.ts +2 -2
  127. package/dist/_internal/platform/daemon/http/router.d.ts.map +1 -1
  128. package/dist/_internal/platform/daemon/http/router.js +7 -16
  129. package/dist/_internal/platform/daemon/http/runtime-route-types.d.ts +1 -1
  130. package/dist/_internal/platform/daemon/http/runtime-route-types.d.ts.map +1 -1
  131. package/dist/_internal/platform/daemon/http-listener.d.ts.map +1 -1
  132. package/dist/_internal/platform/daemon/http-listener.js +4 -8
  133. package/dist/_internal/platform/daemon/surface-actions.d.ts +1 -1
  134. package/dist/_internal/platform/daemon/surface-actions.d.ts.map +1 -1
  135. package/dist/_internal/platform/daemon/surface-delivery.d.ts +1 -1
  136. package/dist/_internal/platform/daemon/surface-delivery.d.ts.map +1 -1
  137. package/dist/_internal/platform/daemon/surface-delivery.js +1 -0
  138. package/dist/_internal/platform/daemon/surface-policy.d.ts +1 -1
  139. package/dist/_internal/platform/daemon/surface-policy.d.ts.map +1 -1
  140. package/dist/_internal/platform/daemon/surface-policy.js +8 -0
  141. package/dist/_internal/platform/daemon/types.d.ts +2 -2
  142. package/dist/_internal/platform/daemon/types.d.ts.map +1 -1
  143. package/dist/_internal/platform/integrations/homeassistant.d.ts +58 -0
  144. package/dist/_internal/platform/integrations/homeassistant.d.ts.map +1 -0
  145. package/dist/_internal/platform/integrations/homeassistant.js +174 -0
  146. package/dist/_internal/platform/integrations/index.d.ts +2 -0
  147. package/dist/_internal/platform/integrations/index.d.ts.map +1 -1
  148. package/dist/_internal/platform/integrations/index.js +1 -0
  149. package/dist/_internal/platform/runtime/events/control-plane.d.ts +1 -1
  150. package/dist/_internal/platform/runtime/events/control-plane.d.ts.map +1 -1
  151. package/dist/_internal/platform/runtime/events/control-plane.js +1 -0
  152. package/dist/_internal/platform/runtime/events/routes.d.ts +1 -1
  153. package/dist/_internal/platform/runtime/events/routes.d.ts.map +1 -1
  154. package/dist/_internal/platform/runtime/events/routes.js +1 -0
  155. package/dist/_internal/platform/runtime/feature-flags/flags.d.ts.map +1 -1
  156. package/dist/_internal/platform/runtime/feature-flags/flags.js +9 -0
  157. package/dist/_internal/platform/runtime/feature-flags/gates.d.ts.map +1 -1
  158. package/dist/_internal/platform/runtime/feature-flags/gates.js +2 -0
  159. package/dist/_internal/platform/runtime/index.d.ts +2 -0
  160. package/dist/_internal/platform/runtime/index.d.ts.map +1 -1
  161. package/dist/_internal/platform/runtime/index.js +1 -0
  162. package/dist/_internal/platform/runtime/integration/helpers.d.ts +4 -0
  163. package/dist/_internal/platform/runtime/integration/helpers.d.ts.map +1 -1
  164. package/dist/_internal/platform/runtime/integration/helpers.js +4 -0
  165. package/dist/_internal/platform/runtime/security-settings.d.ts +19 -0
  166. package/dist/_internal/platform/runtime/security-settings.d.ts.map +1 -0
  167. package/dist/_internal/platform/runtime/security-settings.js +187 -0
  168. package/dist/_internal/platform/runtime/services.d.ts.map +1 -1
  169. package/dist/_internal/platform/runtime/services.js +1 -0
  170. package/dist/_internal/platform/security/user-auth.d.ts +1 -1
  171. package/dist/_internal/platform/security/user-auth.d.ts.map +1 -1
  172. package/dist/_internal/platform/security/user-auth.js +18 -3
  173. package/dist/_internal/platform/tools/edit/core.d.ts.map +1 -1
  174. package/dist/_internal/platform/tools/edit/core.js +4 -47
  175. package/dist/_internal/platform/tools/exec/runtime.d.ts.map +1 -1
  176. package/dist/_internal/platform/tools/exec/runtime.js +7 -1
  177. package/dist/_internal/platform/tools/exec/schema.d.ts +1 -0
  178. package/dist/_internal/platform/tools/exec/schema.d.ts.map +1 -1
  179. package/dist/_internal/platform/tools/exec/schema.js +1 -0
  180. package/dist/_internal/platform/tools/fetch/runtime.d.ts.map +1 -1
  181. package/dist/_internal/platform/tools/fetch/runtime.js +140 -19
  182. package/dist/_internal/platform/tools/fetch/schema.d.ts +1 -0
  183. package/dist/_internal/platform/tools/fetch/schema.d.ts.map +1 -1
  184. package/dist/_internal/platform/tools/fetch/schema.js +1 -0
  185. package/dist/_internal/platform/tools/find/executor.d.ts.map +1 -1
  186. package/dist/_internal/platform/tools/find/executor.js +7 -1
  187. package/dist/_internal/platform/tools/find/schema.d.ts.map +1 -1
  188. package/dist/_internal/platform/tools/find/schema.js +2 -0
  189. package/dist/_internal/platform/tools/read/index.d.ts.map +1 -1
  190. package/dist/_internal/platform/tools/read/index.js +7 -1
  191. package/dist/_internal/platform/tools/read/schema.d.ts +1 -0
  192. package/dist/_internal/platform/tools/read/schema.d.ts.map +1 -1
  193. package/dist/_internal/platform/tools/read/schema.js +1 -0
  194. package/dist/_internal/platform/tools/shared/process-manager.d.ts +2 -0
  195. package/dist/_internal/platform/tools/shared/process-manager.d.ts.map +1 -1
  196. package/dist/_internal/platform/tools/shared/process-manager.js +67 -5
  197. package/dist/_internal/platform/tools/write/index.d.ts.map +1 -1
  198. package/dist/_internal/platform/tools/write/index.js +3 -36
  199. package/dist/_internal/platform/utils/concurrency.d.ts +3 -0
  200. package/dist/_internal/platform/utils/concurrency.d.ts.map +1 -0
  201. package/dist/_internal/platform/utils/concurrency.js +17 -0
  202. package/dist/_internal/platform/utils/logger.d.ts.map +1 -1
  203. package/dist/_internal/platform/utils/logger.js +19 -1
  204. package/dist/_internal/platform/utils/request-body.d.ts +4 -0
  205. package/dist/_internal/platform/utils/request-body.d.ts.map +1 -0
  206. package/dist/_internal/platform/utils/request-body.js +45 -0
  207. package/dist/_internal/platform/version.js +1 -1
  208. package/dist/workers.d.ts +6 -0
  209. package/dist/workers.d.ts.map +1 -1
  210. package/dist/workers.js +55 -3
  211. package/package.json +1 -1
@@ -0,0 +1,58 @@
1
+ export interface HomeAssistantStateRecord {
2
+ readonly entity_id: string;
3
+ readonly state: string;
4
+ readonly attributes?: Record<string, unknown>;
5
+ readonly last_changed?: string;
6
+ readonly last_updated?: string;
7
+ readonly context?: Record<string, unknown>;
8
+ }
9
+ export interface HomeAssistantServiceRecord {
10
+ readonly domain: string;
11
+ readonly services: Record<string, unknown> | readonly string[];
12
+ }
13
+ export interface HomeAssistantClientOptions {
14
+ readonly baseUrl: string;
15
+ readonly accessToken?: string;
16
+ readonly timeoutMs?: number;
17
+ readonly maxResponseBytes?: number;
18
+ }
19
+ export interface HomeAssistantGoodVibesEvent {
20
+ readonly type: string;
21
+ readonly title?: string;
22
+ readonly body: string;
23
+ readonly status?: string;
24
+ readonly jobId?: string;
25
+ readonly runId?: string;
26
+ readonly agentId?: string;
27
+ readonly sessionId?: string;
28
+ readonly routeId?: string;
29
+ readonly surfaceId?: string;
30
+ readonly externalId?: string;
31
+ readonly metadata?: Record<string, unknown>;
32
+ }
33
+ export declare class HomeAssistantIntegration {
34
+ private readonly baseUrl;
35
+ private readonly accessToken?;
36
+ private readonly timeoutMs;
37
+ private readonly maxResponseBytes;
38
+ constructor(options: HomeAssistantClientOptions);
39
+ getApiStatus(): Promise<unknown>;
40
+ getConfig(): Promise<unknown>;
41
+ listStates(): Promise<HomeAssistantStateRecord[]>;
42
+ getState(entityId: string): Promise<HomeAssistantStateRecord | null>;
43
+ listServices(): Promise<HomeAssistantServiceRecord[]>;
44
+ callService(input: {
45
+ readonly domain: string;
46
+ readonly service: string;
47
+ readonly serviceData?: Record<string, unknown>;
48
+ readonly returnResponse?: boolean;
49
+ }): Promise<unknown>;
50
+ fireEvent(eventType: string, eventData?: Record<string, unknown>): Promise<unknown>;
51
+ renderTemplate(template: string, variables?: Record<string, unknown>): Promise<string>;
52
+ publishGoodVibesEvent(eventType: string, event: HomeAssistantGoodVibesEvent): Promise<unknown>;
53
+ private requestJson;
54
+ private requestText;
55
+ private request;
56
+ }
57
+ export declare function normalizeHomeAssistantBaseUrl(value: string): string;
58
+ //# sourceMappingURL=homeassistant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homeassistant.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/integrations/homeassistant.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,174 @@
1
+ import { instrumentedFetch } from '../utils/fetch-with-timeout.js';
2
+ const DEFAULT_HOME_ASSISTANT_TIMEOUT_MS = 15_000;
3
+ const DEFAULT_HOME_ASSISTANT_RESPONSE_BYTES = 2_000_000;
4
+ export class HomeAssistantIntegration {
5
+ baseUrl;
6
+ accessToken;
7
+ timeoutMs;
8
+ maxResponseBytes;
9
+ constructor(options) {
10
+ this.baseUrl = normalizeHomeAssistantBaseUrl(options.baseUrl);
11
+ this.accessToken = options.accessToken?.trim() || undefined;
12
+ this.timeoutMs = options.timeoutMs ?? DEFAULT_HOME_ASSISTANT_TIMEOUT_MS;
13
+ this.maxResponseBytes = options.maxResponseBytes ?? DEFAULT_HOME_ASSISTANT_RESPONSE_BYTES;
14
+ }
15
+ async getApiStatus() {
16
+ return this.requestJson('/api/', { auth: Boolean(this.accessToken) });
17
+ }
18
+ async getConfig() {
19
+ return this.requestJson('/api/config', { auth: true });
20
+ }
21
+ async listStates() {
22
+ const payload = await this.requestJson('/api/states', { auth: true });
23
+ return Array.isArray(payload) ? payload.filter(isHomeAssistantState) : [];
24
+ }
25
+ async getState(entityId) {
26
+ const payload = await this.requestJson(`/api/states/${encodeURIComponent(entityId)}`, {
27
+ auth: true,
28
+ notFoundAsNull: true,
29
+ });
30
+ return isHomeAssistantState(payload) ? payload : null;
31
+ }
32
+ async listServices() {
33
+ const payload = await this.requestJson('/api/services', { auth: true });
34
+ return Array.isArray(payload) ? payload.filter(isHomeAssistantService) : [];
35
+ }
36
+ async callService(input) {
37
+ const path = `/api/services/${encodeURIComponent(input.domain)}/${encodeURIComponent(input.service)}`
38
+ + (input.returnResponse ? '?return_response' : '');
39
+ return this.requestJson(path, {
40
+ auth: true,
41
+ method: 'POST',
42
+ body: input.serviceData ?? {},
43
+ });
44
+ }
45
+ async fireEvent(eventType, eventData = {}) {
46
+ return this.requestJson(`/api/events/${encodeURIComponent(eventType)}`, {
47
+ auth: true,
48
+ method: 'POST',
49
+ body: eventData,
50
+ });
51
+ }
52
+ async renderTemplate(template, variables) {
53
+ const payload = await this.requestText('/api/template', {
54
+ auth: true,
55
+ method: 'POST',
56
+ body: {
57
+ template,
58
+ ...(variables && Object.keys(variables).length > 0 ? { variables } : {}),
59
+ },
60
+ });
61
+ return payload;
62
+ }
63
+ async publishGoodVibesEvent(eventType, event) {
64
+ return this.fireEvent(eventType, {
65
+ ...event,
66
+ source: 'goodvibes',
67
+ emittedAt: new Date().toISOString(),
68
+ });
69
+ }
70
+ async requestJson(path, options = {}) {
71
+ const response = await this.request(path, options);
72
+ if (options.notFoundAsNull && response.status === 404)
73
+ return null;
74
+ const text = await readResponseTextWithinLimit(response, this.maxResponseBytes);
75
+ if (!response.ok) {
76
+ throw new Error(`Home Assistant HTTP ${response.status}${text ? `: ${text.slice(0, 500)}` : ''}`);
77
+ }
78
+ if (!text.trim())
79
+ return null;
80
+ try {
81
+ return JSON.parse(text);
82
+ }
83
+ catch {
84
+ return text;
85
+ }
86
+ }
87
+ async requestText(path, options = {}) {
88
+ const response = await this.request(path, options);
89
+ const text = await readResponseTextWithinLimit(response, this.maxResponseBytes);
90
+ if (!response.ok) {
91
+ throw new Error(`Home Assistant HTTP ${response.status}${text ? `: ${text.slice(0, 500)}` : ''}`);
92
+ }
93
+ return text;
94
+ }
95
+ async request(path, options) {
96
+ if (options.auth && !this.accessToken) {
97
+ throw new Error('Home Assistant access token is not configured.');
98
+ }
99
+ const headers = {
100
+ Accept: 'application/json',
101
+ ...(options.body ? { 'Content-Type': 'application/json' } : {}),
102
+ ...(options.auth && this.accessToken ? { Authorization: `Bearer ${this.accessToken}` } : {}),
103
+ };
104
+ return instrumentedFetch(new URL(path, `${this.baseUrl}/`).toString(), {
105
+ method: options.method ?? 'GET',
106
+ headers,
107
+ ...(options.body ? { body: JSON.stringify(options.body) } : {}),
108
+ signal: AbortSignal.timeout(this.timeoutMs),
109
+ });
110
+ }
111
+ }
112
+ export function normalizeHomeAssistantBaseUrl(value) {
113
+ const trimmed = value.trim();
114
+ if (!trimmed)
115
+ throw new Error('Home Assistant base URL is required.');
116
+ let url;
117
+ try {
118
+ url = new URL(trimmed);
119
+ }
120
+ catch {
121
+ throw new Error(`Invalid Home Assistant base URL: ${trimmed}`);
122
+ }
123
+ if (url.protocol !== 'http:' && url.protocol !== 'https:') {
124
+ throw new Error('Home Assistant base URL must use http or https.');
125
+ }
126
+ url.pathname = url.pathname.replace(/\/+$/, '');
127
+ url.search = '';
128
+ url.hash = '';
129
+ return url.toString().replace(/\/+$/, '');
130
+ }
131
+ function isHomeAssistantState(value) {
132
+ if (!value || typeof value !== 'object')
133
+ return false;
134
+ const record = value;
135
+ return typeof record.entity_id === 'string' && typeof record.state === 'string';
136
+ }
137
+ function isHomeAssistantService(value) {
138
+ if (!value || typeof value !== 'object')
139
+ return false;
140
+ const record = value;
141
+ return typeof record.domain === 'string'
142
+ && (Array.isArray(record.services) || (typeof record.services === 'object' && record.services !== null));
143
+ }
144
+ async function readResponseTextWithinLimit(response, maxBytes) {
145
+ const contentLength = Number.parseInt(response.headers.get('content-length') ?? '0', 10);
146
+ if (Number.isFinite(contentLength) && contentLength > maxBytes) {
147
+ await response.body?.cancel().catch(() => undefined);
148
+ throw new Error(`Home Assistant response too large: ${contentLength} bytes`);
149
+ }
150
+ if (!response.body)
151
+ return '';
152
+ const reader = response.body.getReader();
153
+ const decoder = new TextDecoder();
154
+ let total = 0;
155
+ let text = '';
156
+ try {
157
+ for (;;) {
158
+ const { done, value } = await reader.read();
159
+ if (done)
160
+ break;
161
+ total += value.byteLength;
162
+ if (total > maxBytes) {
163
+ await reader.cancel('Response too large').catch(() => undefined);
164
+ throw new Error(`Home Assistant response exceeded ${maxBytes} bytes`);
165
+ }
166
+ text += decoder.decode(value, { stream: true });
167
+ }
168
+ text += decoder.decode();
169
+ return text;
170
+ }
171
+ finally {
172
+ reader.releaseLock();
173
+ }
174
+ }
@@ -3,6 +3,8 @@ export type { SlackAuthTestResult, SlackConversationRecord, SlackCursorPage, Sla
3
3
  export { DiscordGatewayClient, DiscordGatewayIntent, DiscordGatewayOpcode, DiscordIntegration } from './discord.js';
4
4
  export type { DiscordApplicationCommand, DiscordApplicationCommandOption, DiscordGatewayBotResponse, DiscordGatewayClientOptions, DiscordGatewayDispatch, DiscordInteraction, DiscordOAuthAuthorizeOptions, } from './discord.js';
5
5
  export { DiscordInteractionType, DiscordInteractionResponseType } from './discord.js';
6
+ export { HomeAssistantIntegration, normalizeHomeAssistantBaseUrl } from './homeassistant.js';
7
+ export type { HomeAssistantClientOptions, HomeAssistantGoodVibesEvent, HomeAssistantServiceRecord, HomeAssistantStateRecord, } from './homeassistant.js';
6
8
  export { Notifier } from './notifier.js';
7
9
  export { GitHubIntegration } from './github.js';
8
10
  export type { GitHubWebhookEvent } from './github.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/integrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACrE,YAAY,EACV,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,4BAA4B,EAC5B,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACpH,YAAY,EACV,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EACzB,2BAA2B,EAC3B,sBAAsB,EACtB,kBAAkB,EAClB,4BAA4B,GAC7B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzG,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,EACzB,6BAA6B,EAC7B,2BAA2B,EAC3B,eAAe,EACf,+BAA+B,EAC/B,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,wBAAwB,EACxB,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/integrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACrE,YAAY,EACV,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,4BAA4B,EAC5B,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACpH,YAAY,EACV,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EACzB,2BAA2B,EAC3B,sBAAsB,EACtB,kBAAkB,EAClB,4BAA4B,GAC7B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAC7F,YAAY,EACV,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzG,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,EACzB,6BAA6B,EAC7B,2BAA2B,EAC3B,eAAe,EACf,+BAA+B,EAC/B,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,wBAAwB,EACxB,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,WAAW,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export { SlackIntegration, SlackSocketModeClient } from './slack.js';
2
2
  export { DiscordGatewayClient, DiscordGatewayIntent, DiscordGatewayOpcode, DiscordIntegration } from './discord.js';
3
3
  export { DiscordInteractionType, DiscordInteractionResponseType } from './discord.js';
4
+ export { HomeAssistantIntegration, normalizeHomeAssistantBaseUrl } from './homeassistant.js';
4
5
  export { Notifier } from './notifier.js';
5
6
  export { GitHubIntegration } from './github.js';
6
7
  export { DeliveryQueue, DeliveryError, classifyDeliveryError, snapshotQueueStatus } from './delivery.js';
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * ControlPlaneEvent — discriminated union covering gateway/control-plane client lifecycle events.
4
4
  */
5
- export declare const CONTROL_PLANE_CLIENT_KINDS: readonly ["tui", "web", "slack", "discord", "ntfy", "daemon", "webhook", "service", "telegram", "google-chat", "signal", "whatsapp", "imessage", "msteams", "bluebubbles", "mattermost", "matrix"];
5
+ export declare const CONTROL_PLANE_CLIENT_KINDS: readonly ["tui", "web", "slack", "discord", "ntfy", "daemon", "webhook", "homeassistant", "service", "telegram", "google-chat", "signal", "whatsapp", "imessage", "msteams", "bluebubbles", "mattermost", "matrix"];
6
6
  export declare const CONTROL_PLANE_TRANSPORT_KINDS: readonly ["local", "http", "sse", "ws", "websocket", "webhook"];
7
7
  export declare const CONTROL_PLANE_PRINCIPAL_KINDS: readonly ["user", "bot", "service", "token"];
8
8
  export type ControlPlaneClientKind = (typeof CONTROL_PLANE_CLIENT_KINDS)[number];
@@ -1 +1 @@
1
- {"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/events/control-plane.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF;;GAEG;AAEH,eAAO,MAAM,0BAA0B,oMAkB7B,CAAC;AACX,eAAO,MAAM,6BAA6B,iEAAkE,CAAC;AAC7G,eAAO,MAAM,6BAA6B,8CAA+C,CAAC;AAE1F,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjF,MAAM,MAAM,yBAAyB,GAAG,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvF,MAAM,MAAM,yBAAyB,GAAG,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvF,MAAM,MAAM,iBAAiB,GACzB;IACE,IAAI,EAAE,gCAAgC,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,sBAAsB,CAAC;IACnC,SAAS,EAAE,yBAAyB,CAAC;CACtC,GACD;IACE,IAAI,EAAE,mCAAmC,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,oCAAoC,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,GACD;IACE,IAAI,EAAE,oCAAoC,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,4BAA4B,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,yBAAyB,CAAC;IACzC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,GACD;IACE,IAAI,EAAE,6BAA6B,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEN,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/events/control-plane.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF;;GAEG;AAEH,eAAO,MAAM,0BAA0B,qNAmB7B,CAAC;AACX,eAAO,MAAM,6BAA6B,iEAAkE,CAAC;AAC7G,eAAO,MAAM,6BAA6B,8CAA+C,CAAC;AAE1F,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjF,MAAM,MAAM,yBAAyB,GAAG,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvF,MAAM,MAAM,yBAAyB,GAAG,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvF,MAAM,MAAM,iBAAiB,GACzB;IACE,IAAI,EAAE,gCAAgC,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,sBAAsB,CAAC;IACnC,SAAS,EAAE,yBAAyB,CAAC;CACtC,GACD;IACE,IAAI,EAAE,mCAAmC,CAAC;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,oCAAoC,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,GACD;IACE,IAAI,EAAE,oCAAoC,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,4BAA4B,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,yBAAyB,CAAC;IACzC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,GACD;IACE,IAAI,EAAE,6BAA6B,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEN,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC"}
@@ -10,6 +10,7 @@ export const CONTROL_PLANE_CLIENT_KINDS = [
10
10
  'ntfy',
11
11
  'daemon',
12
12
  'webhook',
13
+ 'homeassistant',
13
14
  'service',
14
15
  'telegram',
15
16
  'google-chat',
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * RouteEvent — discriminated union covering external route binding lifecycle events.
4
4
  */
5
- export declare const ROUTE_SURFACE_KINDS: readonly ["tui", "web", "slack", "discord", "ntfy", "webhook", "telegram", "google-chat", "signal", "whatsapp", "imessage", "msteams", "bluebubbles", "mattermost", "matrix", "service"];
5
+ export declare const ROUTE_SURFACE_KINDS: readonly ["tui", "web", "slack", "discord", "ntfy", "webhook", "homeassistant", "telegram", "google-chat", "signal", "whatsapp", "imessage", "msteams", "bluebubbles", "mattermost", "matrix", "service"];
6
6
  export declare const ROUTE_TARGET_KINDS: readonly ["session", "run", "job", "task", "message"];
7
7
  export type RouteSurfaceKind = (typeof ROUTE_SURFACE_KINDS)[number];
8
8
  export type RouteTargetKind = (typeof ROUTE_TARGET_KINDS)[number];
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/events/routes.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF;;GAEG;AAEH,eAAO,MAAM,mBAAmB,0LAiBtB,CAAC;AACX,eAAO,MAAM,kBAAkB,uDAAwD,CAAC;AAExF,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,MAAM,MAAM,UAAU,GAClB;IACE,IAAI,EAAE,uBAAuB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,eAAe,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,EAAE,uBAAuB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,GACD;IACE,IAAI,EAAE,uBAAuB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;CACpB,GACD;IACE,IAAI,EAAE,wBAAwB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,eAAe,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,EAAE,6BAA6B,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,EAAE,sBAAsB,CAAC;IAC7B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/events/routes.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF;;GAEG;AAEH,eAAO,MAAM,mBAAmB,2MAkBtB,CAAC;AACX,eAAO,MAAM,kBAAkB,uDAAwD,CAAC;AAExF,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,MAAM,MAAM,UAAU,GAClB;IACE,IAAI,EAAE,uBAAuB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,eAAe,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,EAAE,uBAAuB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,GACD;IACE,IAAI,EAAE,uBAAuB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;CACpB,GACD;IACE,IAAI,EAAE,wBAAwB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,eAAe,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,EAAE,6BAA6B,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,EAAE,sBAAsB,CAAC;IAC7B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC"}
@@ -9,6 +9,7 @@ export const ROUTE_SURFACE_KINDS = [
9
9
  'discord',
10
10
  'ntfy',
11
11
  'webhook',
12
+ 'homeassistant',
12
13
  'telegram',
13
14
  'google-chat',
14
15
  'signal',
@@ -1 +1 @@
1
- {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/feature-flags/flags.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,WAAW,EA0gBtC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAE7D,CAAC"}
1
+ {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/feature-flags/flags.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,WAAW,EAohBtC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAE7D,CAAC"}
@@ -434,6 +434,15 @@ export const FEATURE_FLAGS = [
434
434
  tier: 10,
435
435
  runtimeToggleable: true,
436
436
  },
437
+ {
438
+ id: 'homeassistant-surface',
439
+ name: 'Home Assistant Surface',
440
+ description: 'Enables the Home Assistant surface for daemon/device integration, Home Assistant '
441
+ + 'event delivery, service-call tools, and Home Assistant-originated prompts.',
442
+ defaultState: 'disabled',
443
+ tier: 10,
444
+ runtimeToggleable: true,
445
+ },
437
446
  {
438
447
  id: 'web-surface',
439
448
  name: 'Web Surface',
@@ -1 +1 @@
1
- {"version":3,"file":"gates.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/feature-flags/gates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;AAEzF,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,iBAAiB,EAC/B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,SAAS,MAAM,EAAO,GAC9B,OAAO,CAGT;AAED,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,iBAAiB,EAC/B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,SAAS,MAAM,EAAO,GAC9B,IAAI,CAGN;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAenE;AAED,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,iBAAiB,EAC/B,OAAO,EAAE,MAAM,GACd,OAAO,CAOT"}
1
+ {"version":3,"file":"gates.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/feature-flags/gates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;AAEzF,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,iBAAiB,EAC/B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,SAAS,MAAM,EAAO,GAC9B,OAAO,CAGT;AAED,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,iBAAiB,EAC/B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,SAAS,MAAM,EAAO,GAC9B,IAAI,CAGN;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiBnE;AAED,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,iBAAiB,EAC/B,OAAO,EAAE,MAAM,GACd,OAAO,CAOT"}
@@ -20,6 +20,8 @@ export function surfaceFeatureGateId(surface) {
20
20
  return 'ntfy-surface';
21
21
  case 'webhook':
22
22
  return 'webhook-surface';
23
+ case 'homeassistant':
24
+ return 'homeassistant-surface';
23
25
  default:
24
26
  return null;
25
27
  }
@@ -17,6 +17,8 @@ export { RUNTIME_EVENT_DOMAINS, isRuntimeEventDomain } from './events/domain-map
17
17
  export type { AnyRuntimeEvent, RuntimeEventDomain, RuntimeEventRecord } from './events/domain-map.js';
18
18
  export { createRuntimeEventFeed, createRuntimeEventFeeds } from './event-feeds.js';
19
19
  export type { RuntimeEventFeed, RuntimeEventFeeds } from './event-feeds.js';
20
+ export { getSecuritySettingsReport } from './security-settings.js';
21
+ export type { SecuritySettingReport, SecuritySettingsReporter } from './security-settings.js';
20
22
  export type { EmitterContext } from './emitters/index.js';
21
23
  export { RuntimeHealthAggregator } from './health/aggregator.js';
22
24
  export { CascadeEngine } from './health/cascade-engine.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/index.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export { RuntimeEventBus } from './events/index.js';
11
11
  export { createEventEnvelope } from './event-envelope.js';
12
12
  export { RUNTIME_EVENT_DOMAINS, isRuntimeEventDomain } from './events/domain-map.js';
13
13
  export { createRuntimeEventFeed, createRuntimeEventFeeds } from './event-feeds.js';
14
+ export { getSecuritySettingsReport } from './security-settings.js';
14
15
  export { RuntimeHealthAggregator } from './health/aggregator.js';
15
16
  export { CascadeEngine } from './health/cascade-engine.js';
16
17
  export { CASCADE_RULES } from './health/cascade-rules.js';
@@ -15,12 +15,15 @@ import type { UserAuthManager } from '../../security/user-auth.js';
15
15
  import { type RecoveryFileInfo } from '../session-persistence.js';
16
16
  import { type ManagedWorktreeMeta, type WorktreeOwnershipSummary } from '../worktree/registry.js';
17
17
  import type { ManagedRollbackRecord, SettingsConflictRecord, StagedManagedBundle } from '../settings/control-plane-store.js';
18
+ import type { FeatureFlagManager } from '../feature-flags/index.js';
19
+ import { type SecuritySettingReport } from '../security-settings.js';
18
20
  export interface IntegrationHelpersContext {
19
21
  readonly workingDirectory: string;
20
22
  readonly homeDirectory: string;
21
23
  readonly runtimeStore: RuntimeStore;
22
24
  readonly runtimeBus: RuntimeEventBus;
23
25
  readonly configManager?: ConfigManager;
26
+ readonly featureFlags?: FeatureFlagManager;
24
27
  readonly getConversationTitle?: () => string | undefined;
25
28
  readonly automationManager: AutomationManager;
26
29
  readonly approvalBroker: ApprovalBroker;
@@ -99,6 +102,7 @@ export declare class IntegrationHelperService {
99
102
  getHealthSnapshot(): Record<string, unknown>;
100
103
  getAccountsSnapshot(): Promise<Record<string, unknown>>;
101
104
  getSettingsSnapshot(): SettingsSnapshot;
105
+ getSecuritySettingsReport(): readonly SecuritySettingReport[];
102
106
  getLocalAuthSnapshot(): Record<string, unknown>;
103
107
  getContinuitySnapshot(): ContinuitySnapshot;
104
108
  getWorktreeSnapshot(): WorktreeSnapshot;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/integration/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/integration/helpers.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { getSettingsControlPlaneSnapshot } from '../settings/control-plane.js';
3
3
  import { checkRecoveryFile, readLastSessionPointer } from '../session-persistence.js';
4
4
  import { listPersistedWorktreeMeta, summarizeWorktreeOwnership } from '../worktree/registry.js';
5
5
  import { inspectInboundTls, inspectOutboundTls } from '../network/index.js';
6
+ import { getSecuritySettingsReport } from '../security-settings.js';
6
7
  const EVENT_DOMAINS = [
7
8
  'session',
8
9
  'turn',
@@ -426,6 +427,9 @@ export class IntegrationHelperService {
426
427
  rollbackHistory: snapshot.rollbackHistory,
427
428
  };
428
429
  }
430
+ getSecuritySettingsReport() {
431
+ return getSecuritySettingsReport(this.context.featureFlags);
432
+ }
429
433
  getLocalAuthSnapshot() {
430
434
  const snapshot = this.context.localUserAuthManager.inspect();
431
435
  return {
@@ -0,0 +1,19 @@
1
+ import type { FlagState } from './feature-flags/types.js';
2
+ export interface SecuritySettingReport {
3
+ readonly key: string;
4
+ readonly type: 'feature-flag' | 'configuration';
5
+ readonly defaultState: FlagState | string;
6
+ readonly currentState: FlagState | string;
7
+ readonly securityRelevant: true;
8
+ readonly summary: string;
9
+ readonly insecureWhen: string;
10
+ readonly enablementEffect: string;
11
+ readonly enablementRequirements: readonly string[];
12
+ readonly compatibilityNotes: readonly string[];
13
+ }
14
+ export interface SecuritySettingsReporter {
15
+ getState?(flagId: string): FlagState;
16
+ isEnabled?(flagId: string): boolean;
17
+ }
18
+ export declare function getSecuritySettingsReport(reporter: SecuritySettingsReporter | null | undefined): SecuritySettingReport[];
19
+ //# sourceMappingURL=security-settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-settings.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/runtime/security-settings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe,CAAC;IAChD,QAAQ,CAAC,YAAY,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,sBAAsB,EAAE,SAAS,MAAM,EAAE,CAAC;IACnD,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;CAChD;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,SAAS,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CACrC;AA2LD,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,wBAAwB,GAAG,IAAI,GAAG,SAAS,GACpD,qBAAqB,EAAE,CAazB"}