@zhin.js/agent 1.1.2 → 1.1.5

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 (1105) hide show
  1. package/README.md +52 -52
  2. package/lib/activity-feedback/adapter-integration.d.ts +8 -9
  3. package/lib/activity-feedback/adapter-integration.d.ts.map +1 -1
  4. package/lib/activity-feedback/adapter-integration.js +22 -18
  5. package/lib/activity-feedback/adapter-integration.js.map +1 -1
  6. package/lib/activity-feedback/ai-bus.d.ts.map +1 -1
  7. package/lib/activity-feedback/ai-bus.js +7 -1
  8. package/lib/activity-feedback/ai-bus.js.map +1 -1
  9. package/lib/activity-feedback/event-context.d.ts +1 -1
  10. package/lib/activity-feedback/event-context.d.ts.map +1 -1
  11. package/lib/activity-feedback/event-context.js +9 -6
  12. package/lib/activity-feedback/event-context.js.map +1 -1
  13. package/lib/activity-feedback/index.d.ts +3 -2
  14. package/lib/activity-feedback/index.d.ts.map +1 -1
  15. package/lib/activity-feedback/index.js +3 -2
  16. package/lib/activity-feedback/index.js.map +1 -1
  17. package/lib/activity-feedback/manager.d.ts +4 -1
  18. package/lib/activity-feedback/manager.d.ts.map +1 -1
  19. package/lib/activity-feedback/manager.js +10 -8
  20. package/lib/activity-feedback/manager.js.map +1 -1
  21. package/lib/activity-feedback/subagent-prefix.d.ts +17 -0
  22. package/lib/activity-feedback/subagent-prefix.d.ts.map +1 -0
  23. package/lib/activity-feedback/subagent-prefix.js +54 -0
  24. package/lib/activity-feedback/subagent-prefix.js.map +1 -0
  25. package/lib/agent-prompt/registry.js +1 -1
  26. package/lib/agent-prompt/registry.js.map +1 -1
  27. package/lib/agent-prompt/resolver.d.ts.map +1 -1
  28. package/lib/agent-prompt/resolver.js +5 -7
  29. package/lib/agent-prompt/resolver.js.map +1 -1
  30. package/lib/ai-event-bus.js +2 -2
  31. package/lib/ai-event-bus.js.map +1 -1
  32. package/lib/ai-event-subscriber.d.ts +1 -1
  33. package/lib/ai-event-subscriber.d.ts.map +1 -1
  34. package/lib/ai-event-subscriber.js +1 -1
  35. package/lib/ai-event-subscriber.js.map +1 -1
  36. package/lib/aop/index.d.ts +1 -1
  37. package/lib/aop/index.d.ts.map +1 -1
  38. package/lib/aop/index.js +1 -1
  39. package/lib/aop/index.js.map +1 -1
  40. package/lib/aop/pipeline/pipeline-service.d.ts +2 -0
  41. package/lib/aop/pipeline/pipeline-service.d.ts.map +1 -1
  42. package/lib/aop/pipeline/pipeline-service.js +26 -14
  43. package/lib/aop/pipeline/pipeline-service.js.map +1 -1
  44. package/lib/assistant/bootstrap-assistant-home.d.ts +31 -0
  45. package/lib/assistant/bootstrap-assistant-home.d.ts.map +1 -0
  46. package/lib/assistant/bootstrap-assistant-home.js +97 -0
  47. package/lib/assistant/bootstrap-assistant-home.js.map +1 -0
  48. package/lib/assistant/deliver-schedule-to-adapter.d.ts +3 -3
  49. package/lib/assistant/deliver-schedule-to-adapter.d.ts.map +1 -1
  50. package/lib/assistant/deliver-schedule-to-adapter.js +2 -6
  51. package/lib/assistant/deliver-schedule-to-adapter.js.map +1 -1
  52. package/lib/assistant/domains/{home-assistant.d.ts → ha-home-backend.d.ts} +16 -13
  53. package/lib/assistant/domains/ha-home-backend.d.ts.map +1 -0
  54. package/lib/assistant/domains/{home-assistant.js → ha-home-backend.js} +32 -7
  55. package/lib/assistant/domains/ha-home-backend.js.map +1 -0
  56. package/lib/assistant/domains/ha-ws-transport.d.ts +59 -0
  57. package/lib/assistant/domains/ha-ws-transport.d.ts.map +1 -0
  58. package/lib/assistant/domains/ha-ws-transport.js +135 -0
  59. package/lib/assistant/domains/ha-ws-transport.js.map +1 -0
  60. package/lib/assistant/domains/home-entity.d.ts +5 -0
  61. package/lib/assistant/domains/home-entity.d.ts.map +1 -0
  62. package/lib/assistant/domains/home-entity.js +8 -0
  63. package/lib/assistant/domains/home-entity.js.map +1 -0
  64. package/lib/assistant/domains/home-state-watch.d.ts +40 -0
  65. package/lib/assistant/domains/home-state-watch.d.ts.map +1 -0
  66. package/lib/assistant/domains/home-state-watch.js +118 -0
  67. package/lib/assistant/domains/home-state-watch.js.map +1 -0
  68. package/lib/assistant/home-config.d.ts +21 -7
  69. package/lib/assistant/home-config.d.ts.map +1 -1
  70. package/lib/assistant/home-config.js +5 -0
  71. package/lib/assistant/home-config.js.map +1 -1
  72. package/lib/assistant/home-facade.d.ts +73 -0
  73. package/lib/assistant/home-facade.d.ts.map +1 -0
  74. package/lib/assistant/home-facade.js +144 -0
  75. package/lib/assistant/home-facade.js.map +1 -0
  76. package/lib/assistant/home-policy.d.ts +3 -2
  77. package/lib/assistant/home-policy.d.ts.map +1 -1
  78. package/lib/assistant/home-policy.js +8 -36
  79. package/lib/assistant/home-policy.js.map +1 -1
  80. package/lib/assistant/home-tools.d.ts +9 -12
  81. package/lib/assistant/home-tools.d.ts.map +1 -1
  82. package/lib/assistant/home-tools.js +94 -135
  83. package/lib/assistant/home-tools.js.map +1 -1
  84. package/lib/assistant/index.d.ts +18 -11
  85. package/lib/assistant/index.d.ts.map +1 -1
  86. package/lib/assistant/index.js +10 -7
  87. package/lib/assistant/index.js.map +1 -1
  88. package/lib/assistant/job-creator.d.ts +3 -3
  89. package/lib/assistant/job-creator.d.ts.map +1 -1
  90. package/lib/assistant/job-creator.js +6 -11
  91. package/lib/assistant/job-creator.js.map +1 -1
  92. package/lib/assistant/job-engine.d.ts +1 -1
  93. package/lib/assistant/job-engine.d.ts.map +1 -1
  94. package/lib/assistant/job-engine.js +11 -22
  95. package/lib/assistant/job-engine.js.map +1 -1
  96. package/lib/assistant/job-scheduler.d.ts +0 -3
  97. package/lib/assistant/job-scheduler.d.ts.map +1 -1
  98. package/lib/assistant/job-scheduler.js +5 -3
  99. package/lib/assistant/job-scheduler.js.map +1 -1
  100. package/lib/assistant/job-store.d.ts.map +1 -1
  101. package/lib/assistant/job-store.js +31 -3
  102. package/lib/assistant/job-store.js.map +1 -1
  103. package/lib/assistant/job-worker.d.ts +2 -9
  104. package/lib/assistant/job-worker.d.ts.map +1 -1
  105. package/lib/assistant/job-worker.js +42 -36
  106. package/lib/assistant/job-worker.js.map +1 -1
  107. package/lib/assistant/notification-router.d.ts +2 -1
  108. package/lib/assistant/notification-router.d.ts.map +1 -1
  109. package/lib/assistant/notification-router.js +18 -9
  110. package/lib/assistant/notification-router.js.map +1 -1
  111. package/lib/assistant/runtime-registry.d.ts +4 -3
  112. package/lib/assistant/runtime-registry.d.ts.map +1 -1
  113. package/lib/assistant/runtime-registry.js +7 -16
  114. package/lib/assistant/runtime-registry.js.map +1 -1
  115. package/lib/assistant/schedule-execution.d.ts +0 -17
  116. package/lib/assistant/schedule-execution.d.ts.map +1 -1
  117. package/lib/assistant/schedule-execution.js +0 -41
  118. package/lib/assistant/schedule-execution.js.map +1 -1
  119. package/lib/assistant/schedule-job-service.d.ts +4 -2
  120. package/lib/assistant/schedule-job-service.d.ts.map +1 -1
  121. package/lib/assistant/schedule-job-service.js +38 -8
  122. package/lib/assistant/schedule-job-service.js.map +1 -1
  123. package/lib/assistant/types.d.ts +3 -0
  124. package/lib/assistant/types.d.ts.map +1 -1
  125. package/lib/assistant/types.js.map +1 -1
  126. package/lib/authoring/entries/tools.d.ts +1 -1
  127. package/lib/authoring/entries/tools.d.ts.map +1 -1
  128. package/lib/authoring/entries/tools.js +1 -1
  129. package/lib/authoring/entries/tools.js.map +1 -1
  130. package/lib/authoring/index.d.ts +1 -1
  131. package/lib/authoring/index.d.ts.map +1 -1
  132. package/lib/authoring/index.js +1 -1
  133. package/lib/authoring/index.js.map +1 -1
  134. package/lib/authoring/tool-policy.d.ts +1 -1
  135. package/lib/authoring/tool-policy.d.ts.map +1 -1
  136. package/lib/authoring/tool-policy.js +1 -1
  137. package/lib/authoring/tool-policy.js.map +1 -1
  138. package/lib/bootstrap.d.ts +14 -3
  139. package/lib/bootstrap.d.ts.map +1 -1
  140. package/lib/bootstrap.js +66 -12
  141. package/lib/bootstrap.js.map +1 -1
  142. package/lib/builtin/analyze-media-tool.d.ts.map +1 -1
  143. package/lib/builtin/analyze-media-tool.js +0 -12
  144. package/lib/builtin/analyze-media-tool.js.map +1 -1
  145. package/lib/builtin/bash-tool.d.ts.map +1 -1
  146. package/lib/builtin/bash-tool.js +0 -6
  147. package/lib/builtin/bash-tool.js.map +1 -1
  148. package/lib/builtin/bing-search-html.d.ts +1 -17
  149. package/lib/builtin/bing-search-html.d.ts.map +1 -1
  150. package/lib/builtin/bing-search-html.js +12 -10
  151. package/lib/builtin/bing-search-html.js.map +1 -1
  152. package/lib/builtin/edit-file-tool.d.ts.map +1 -1
  153. package/lib/builtin/edit-file-tool.js +0 -7
  154. package/lib/builtin/edit-file-tool.js.map +1 -1
  155. package/lib/builtin/glob-tool.d.ts.map +1 -1
  156. package/lib/builtin/glob-tool.js +0 -5
  157. package/lib/builtin/glob-tool.js.map +1 -1
  158. package/lib/builtin/grep-tool.d.ts.map +1 -1
  159. package/lib/builtin/grep-tool.js +0 -5
  160. package/lib/builtin/grep-tool.js.map +1 -1
  161. package/lib/builtin/list-dir-tool.d.ts.map +1 -1
  162. package/lib/builtin/list-dir-tool.js +0 -5
  163. package/lib/builtin/list-dir-tool.js.map +1 -1
  164. package/lib/builtin/memory-search-tool.js +1 -1
  165. package/lib/builtin/memory-search-tool.js.map +1 -1
  166. package/lib/builtin/memory-upsert-tool.js +1 -1
  167. package/lib/builtin/memory-upsert-tool.js.map +1 -1
  168. package/lib/builtin/read-file-tool.d.ts.map +1 -1
  169. package/lib/builtin/read-file-tool.js +0 -13
  170. package/lib/builtin/read-file-tool.js.map +1 -1
  171. package/lib/builtin/spawn-task-tool.d.ts.map +1 -1
  172. package/lib/builtin/spawn-task-tool.js +8 -10
  173. package/lib/builtin/spawn-task-tool.js.map +1 -1
  174. package/lib/builtin/web-fetch-tool.d.ts.map +1 -1
  175. package/lib/builtin/web-fetch-tool.js +9 -28
  176. package/lib/builtin/web-fetch-tool.js.map +1 -1
  177. package/lib/builtin/web-search-tool.d.ts.map +1 -1
  178. package/lib/builtin/web-search-tool.js +10 -0
  179. package/lib/builtin/web-search-tool.js.map +1 -1
  180. package/lib/builtin/write-file-tool.d.ts.map +1 -1
  181. package/lib/builtin/write-file-tool.js +0 -7
  182. package/lib/builtin/write-file-tool.js.map +1 -1
  183. package/lib/builtin-tools.d.ts +3 -14
  184. package/lib/builtin-tools.d.ts.map +1 -1
  185. package/lib/builtin-tools.js +3 -14
  186. package/lib/builtin-tools.js.map +1 -1
  187. package/lib/collaboration/collab-admin-gate.d.ts +1 -1
  188. package/lib/collaboration/collab-admin-gate.d.ts.map +1 -1
  189. package/lib/collaboration/collab-admin-gate.js +8 -8
  190. package/lib/collaboration/collab-admin-gate.js.map +1 -1
  191. package/lib/collaboration/collab-utils.d.ts +15 -0
  192. package/lib/collaboration/collab-utils.d.ts.map +1 -0
  193. package/lib/collaboration/collab-utils.js +37 -0
  194. package/lib/collaboration/collab-utils.js.map +1 -0
  195. package/lib/collaboration/collaboration-artifact-repository.d.ts +2 -0
  196. package/lib/collaboration/collaboration-artifact-repository.d.ts.map +1 -1
  197. package/lib/collaboration/collaboration-artifact-repository.js +17 -5
  198. package/lib/collaboration/collaboration-artifact-repository.js.map +1 -1
  199. package/lib/collaboration/collaboration-commands.d.ts +3 -3
  200. package/lib/collaboration/collaboration-commands.d.ts.map +1 -1
  201. package/lib/collaboration/collaboration-commands.js +25 -156
  202. package/lib/collaboration/collaboration-commands.js.map +1 -1
  203. package/lib/collaboration/collaboration-config.d.ts +5 -5
  204. package/lib/collaboration/collaboration-config.d.ts.map +1 -1
  205. package/lib/collaboration/collaboration-config.js +19 -19
  206. package/lib/collaboration/collaboration-config.js.map +1 -1
  207. package/lib/collaboration/collaboration-context.d.ts +5 -2
  208. package/lib/collaboration/collaboration-context.d.ts.map +1 -1
  209. package/lib/collaboration/collaboration-context.js +39 -27
  210. package/lib/collaboration/collaboration-context.js.map +1 -1
  211. package/lib/collaboration/collaboration-db-model.d.ts +2 -2
  212. package/lib/collaboration/collaboration-db-model.d.ts.map +1 -1
  213. package/lib/collaboration/collaboration-db-model.js +2 -2
  214. package/lib/collaboration/collaboration-db-model.js.map +1 -1
  215. package/lib/collaboration/collaboration-delegation.d.ts +2 -2
  216. package/lib/collaboration/collaboration-delegation.d.ts.map +1 -1
  217. package/lib/collaboration/collaboration-delegation.js +4 -6
  218. package/lib/collaboration/collaboration-delegation.js.map +1 -1
  219. package/lib/collaboration/collaboration-dispatch.d.ts +4 -4
  220. package/lib/collaboration/collaboration-dispatch.d.ts.map +1 -1
  221. package/lib/collaboration/collaboration-dispatch.js +12 -12
  222. package/lib/collaboration/collaboration-dispatch.js.map +1 -1
  223. package/lib/collaboration/collaboration-kernel-bridge.d.ts +3 -3
  224. package/lib/collaboration/collaboration-kernel-bridge.d.ts.map +1 -1
  225. package/lib/collaboration/collaboration-kernel-bridge.js +15 -16
  226. package/lib/collaboration/collaboration-kernel-bridge.js.map +1 -1
  227. package/lib/collaboration/collaboration-outbound.d.ts +7 -7
  228. package/lib/collaboration/collaboration-outbound.d.ts.map +1 -1
  229. package/lib/collaboration/collaboration-outbound.js +38 -41
  230. package/lib/collaboration/collaboration-outbound.js.map +1 -1
  231. package/lib/collaboration/collaboration-scene-repository.d.ts +17 -15
  232. package/lib/collaboration/collaboration-scene-repository.d.ts.map +1 -1
  233. package/lib/collaboration/collaboration-scene-repository.js +43 -32
  234. package/lib/collaboration/collaboration-scene-repository.js.map +1 -1
  235. package/lib/collaboration/collaboration-turn-snapshot.d.ts +3 -3
  236. package/lib/collaboration/collaboration-turn-snapshot.d.ts.map +1 -1
  237. package/lib/collaboration/collaboration-turn-snapshot.js +6 -6
  238. package/lib/collaboration/collaboration-turn-snapshot.js.map +1 -1
  239. package/lib/collaboration/delegation-state.d.ts +6 -6
  240. package/lib/collaboration/delegation-state.d.ts.map +1 -1
  241. package/lib/collaboration/delegation-state.js +17 -17
  242. package/lib/collaboration/delegation-state.js.map +1 -1
  243. package/lib/collaboration/endpoint-identity.d.ts +4 -4
  244. package/lib/collaboration/endpoint-identity.d.ts.map +1 -1
  245. package/lib/collaboration/endpoint-identity.js +17 -25
  246. package/lib/collaboration/endpoint-identity.js.map +1 -1
  247. package/lib/collaboration/group-message.d.ts +5 -5
  248. package/lib/collaboration/group-message.d.ts.map +1 -1
  249. package/lib/collaboration/group-message.js +10 -71
  250. package/lib/collaboration/group-message.js.map +1 -1
  251. package/lib/collaboration/im-mention-delegate.d.ts +1 -1
  252. package/lib/collaboration/im-mention-delegate.d.ts.map +1 -1
  253. package/lib/collaboration/im-mention-delegate.js +2 -2
  254. package/lib/collaboration/im-mention-delegate.js.map +1 -1
  255. package/lib/collaboration/inbound-peer-handback.d.ts +1 -1
  256. package/lib/collaboration/inbound-peer-handback.d.ts.map +1 -1
  257. package/lib/collaboration/inbound-peer-handback.js +13 -17
  258. package/lib/collaboration/inbound-peer-handback.js.map +1 -1
  259. package/lib/collaboration/inbound-spawn-task.d.ts.map +1 -1
  260. package/lib/collaboration/inbound-spawn-task.js +7 -8
  261. package/lib/collaboration/inbound-spawn-task.js.map +1 -1
  262. package/lib/collaboration/inbound-turn-tools.d.ts +1 -1
  263. package/lib/collaboration/inbound-turn-tools.d.ts.map +1 -1
  264. package/lib/collaboration/inbound-turn-tools.js +8 -3
  265. package/lib/collaboration/inbound-turn-tools.js.map +1 -1
  266. package/lib/collaboration/index.d.ts +1 -5
  267. package/lib/collaboration/index.d.ts.map +1 -1
  268. package/lib/collaboration/index.js +1 -4
  269. package/lib/collaboration/index.js.map +1 -1
  270. package/lib/collaboration/init-observe-hook.d.ts +8 -11
  271. package/lib/collaboration/init-observe-hook.d.ts.map +1 -1
  272. package/lib/collaboration/init-observe-hook.js +18 -40
  273. package/lib/collaboration/init-observe-hook.js.map +1 -1
  274. package/lib/collaboration/init-wizard-service.d.ts +2 -2
  275. package/lib/collaboration/init-wizard-service.d.ts.map +1 -1
  276. package/lib/collaboration/init-wizard-service.js +9 -11
  277. package/lib/collaboration/init-wizard-service.js.map +1 -1
  278. package/lib/collaboration/outbound-resolver.d.ts +3 -3
  279. package/lib/collaboration/outbound-resolver.d.ts.map +1 -1
  280. package/lib/collaboration/outbound-resolver.js +18 -18
  281. package/lib/collaboration/outbound-resolver.js.map +1 -1
  282. package/lib/collaboration/peer-policy.d.ts +7 -7
  283. package/lib/collaboration/peer-policy.d.ts.map +1 -1
  284. package/lib/collaboration/peer-policy.js +19 -19
  285. package/lib/collaboration/peer-policy.js.map +1 -1
  286. package/lib/collaboration/resolve-agent-session-key.js +2 -2
  287. package/lib/collaboration/resolve-agent-session-key.js.map +1 -1
  288. package/lib/collaboration/runtime-inbound-gate.d.ts.map +1 -1
  289. package/lib/collaboration/runtime-inbound-gate.js +26 -32
  290. package/lib/collaboration/runtime-inbound-gate.js.map +1 -1
  291. package/lib/collaboration/scene-identity-service.d.ts +13 -11
  292. package/lib/collaboration/scene-identity-service.d.ts.map +1 -1
  293. package/lib/collaboration/scene-identity-service.js +33 -22
  294. package/lib/collaboration/scene-identity-service.js.map +1 -1
  295. package/lib/collaboration/scene-service.d.ts +5 -3
  296. package/lib/collaboration/scene-service.d.ts.map +1 -1
  297. package/lib/collaboration/scene-service.js +17 -12
  298. package/lib/collaboration/scene-service.js.map +1 -1
  299. package/lib/collaboration/structured-ai-outbound.d.ts +1 -1
  300. package/lib/collaboration/structured-ai-outbound.d.ts.map +1 -1
  301. package/lib/collaboration/structured-ai-outbound.js +8 -9
  302. package/lib/collaboration/structured-ai-outbound.js.map +1 -1
  303. package/lib/collaboration/turn-plan-resolver.d.ts +2 -2
  304. package/lib/collaboration/turn-plan-resolver.d.ts.map +1 -1
  305. package/lib/collaboration/turn-plan-resolver.js +12 -12
  306. package/lib/collaboration/turn-plan-resolver.js.map +1 -1
  307. package/lib/collaboration/types.d.ts +6 -6
  308. package/lib/collaboration/types.d.ts.map +1 -1
  309. package/lib/collaboration/wire-collaboration-storage.d.ts.map +1 -1
  310. package/lib/collaboration/wire-collaboration-storage.js +0 -2
  311. package/lib/collaboration/wire-collaboration-storage.js.map +1 -1
  312. package/lib/common-adapter-tools.js +1 -1
  313. package/lib/common-adapter-tools.js.map +1 -1
  314. package/lib/config/agent-interfaces.d.ts +1 -2
  315. package/lib/config/agent-interfaces.d.ts.map +1 -1
  316. package/lib/config/fix-ai-config.d.ts.map +1 -1
  317. package/lib/config/fix-ai-config.js +52 -3
  318. package/lib/config/fix-ai-config.js.map +1 -1
  319. package/lib/config/index.d.ts +1 -1
  320. package/lib/config/index.d.ts.map +1 -1
  321. package/lib/config/index.js.map +1 -1
  322. package/lib/config/normalize-ai-config.d.ts +4 -2
  323. package/lib/config/normalize-ai-config.d.ts.map +1 -1
  324. package/lib/config/normalize-ai-config.js +29 -81
  325. package/lib/config/normalize-ai-config.js.map +1 -1
  326. package/lib/config/validate-ai-config.d.ts.map +1 -1
  327. package/lib/config/validate-ai-config.js +10 -0
  328. package/lib/config/validate-ai-config.js.map +1 -1
  329. package/lib/config/zhin-agent-config.d.ts +20 -0
  330. package/lib/config/zhin-agent-config.d.ts.map +1 -1
  331. package/lib/config/zhin-agent-defaults.d.ts.map +1 -1
  332. package/lib/config/zhin-agent-defaults.js +14 -0
  333. package/lib/config/zhin-agent-defaults.js.map +1 -1
  334. package/lib/config/zhin-agent-dependencies.d.ts +1 -0
  335. package/lib/config/zhin-agent-dependencies.d.ts.map +1 -1
  336. package/lib/context/context-system.d.ts +4 -2
  337. package/lib/context/context-system.d.ts.map +1 -1
  338. package/lib/context/context-system.js +15 -12
  339. package/lib/context/context-system.js.map +1 -1
  340. package/lib/context/contracts.d.ts +3 -3
  341. package/lib/context/contracts.d.ts.map +1 -1
  342. package/lib/context/default-builders.js +3 -3
  343. package/lib/context/default-builders.js.map +1 -1
  344. package/lib/context/im-turn-context-adapter.d.ts +9 -0
  345. package/lib/context/im-turn-context-adapter.d.ts.map +1 -0
  346. package/lib/context/im-turn-context-adapter.js +54 -0
  347. package/lib/context/im-turn-context-adapter.js.map +1 -0
  348. package/lib/context/index.d.ts +2 -2
  349. package/lib/context/index.d.ts.map +1 -1
  350. package/lib/context/index.js +1 -1
  351. package/lib/context/index.js.map +1 -1
  352. package/lib/context/turn-envelope.d.ts +5 -4
  353. package/lib/context/turn-envelope.d.ts.map +1 -1
  354. package/lib/context/turn-envelope.js +43 -50
  355. package/lib/context/turn-envelope.js.map +1 -1
  356. package/lib/core/agent-core-run.d.ts +37 -14
  357. package/lib/core/agent-core-run.d.ts.map +1 -1
  358. package/lib/core/agent-core-run.js +79 -182
  359. package/lib/core/agent-core-run.js.map +1 -1
  360. package/lib/core/agent-loop-standalone.d.ts.map +1 -1
  361. package/lib/core/agent-loop-standalone.js +35 -34
  362. package/lib/core/agent-loop-standalone.js.map +1 -1
  363. package/lib/core/agent-run-shared.d.ts +4 -0
  364. package/lib/core/agent-run-shared.d.ts.map +1 -0
  365. package/lib/core/agent-run-shared.js +8 -0
  366. package/lib/core/agent-run-shared.js.map +1 -0
  367. package/lib/core/compose-deps.d.ts.map +1 -1
  368. package/lib/core/compose-deps.js +1 -2
  369. package/lib/core/compose-deps.js.map +1 -1
  370. package/lib/core/spawn-delegation.d.ts +23 -0
  371. package/lib/core/spawn-delegation.d.ts.map +1 -0
  372. package/lib/core/spawn-delegation.js +64 -0
  373. package/lib/core/spawn-delegation.js.map +1 -0
  374. package/lib/core/tool-execution-authority.d.ts +21 -0
  375. package/lib/core/tool-execution-authority.d.ts.map +1 -0
  376. package/lib/core/tool-execution-authority.js +2 -0
  377. package/lib/core/tool-execution-authority.js.map +1 -0
  378. package/lib/core/turn-event-mapper.d.ts.map +1 -1
  379. package/lib/core/turn-event-mapper.js +13 -0
  380. package/lib/core/turn-event-mapper.js.map +1 -1
  381. package/lib/deferred-worker-runner.d.ts.map +1 -1
  382. package/lib/deferred-worker-runner.js +9 -23
  383. package/lib/deferred-worker-runner.js.map +1 -1
  384. package/lib/discovery/agent-surface-info.d.ts.map +1 -1
  385. package/lib/discovery/agent-surface-info.js +7 -2
  386. package/lib/discovery/agent-surface-info.js.map +1 -1
  387. package/lib/discovery/skills.js +3 -3
  388. package/lib/discovery/skills.js.map +1 -1
  389. package/lib/discovery/tools.js +2 -2
  390. package/lib/discovery/tools.js.map +1 -1
  391. package/lib/event/event-emitter.d.ts.map +1 -1
  392. package/lib/event/event-emitter.js +2 -13
  393. package/lib/event/event-emitter.js.map +1 -1
  394. package/lib/event/session-events.d.ts +3 -2
  395. package/lib/event/session-events.d.ts.map +1 -1
  396. package/lib/event/session-events.js.map +1 -1
  397. package/lib/event/turn-event.d.ts +35 -2
  398. package/lib/event/turn-event.d.ts.map +1 -1
  399. package/lib/event/turn-event.js +4 -1
  400. package/lib/event/turn-event.js.map +1 -1
  401. package/lib/event/turn-to-agent-stream.js +20 -0
  402. package/lib/event/turn-to-agent-stream.js.map +1 -1
  403. package/lib/hooks.d.ts +1 -1
  404. package/lib/hooks.d.ts.map +1 -1
  405. package/lib/index.d.ts +34 -27
  406. package/lib/index.d.ts.map +1 -1
  407. package/lib/index.js +26 -21
  408. package/lib/index.js.map +1 -1
  409. package/lib/ingress/capability-ingress.d.ts +3 -1
  410. package/lib/ingress/capability-ingress.d.ts.map +1 -1
  411. package/lib/ingress/capability-ingress.js +10 -6
  412. package/lib/ingress/capability-ingress.js.map +1 -1
  413. package/lib/init/configure-zhin-agent.d.ts +7 -34
  414. package/lib/init/configure-zhin-agent.d.ts.map +1 -1
  415. package/lib/init/configure-zhin-agent.js +5 -1
  416. package/lib/init/configure-zhin-agent.js.map +1 -1
  417. package/lib/init/create-zhin-agent.d.ts.map +1 -1
  418. package/lib/init/create-zhin-agent.js +64 -78
  419. package/lib/init/create-zhin-agent.js.map +1 -1
  420. package/lib/init/dispose-zhin-agent.d.ts +6 -22
  421. package/lib/init/dispose-zhin-agent.d.ts.map +1 -1
  422. package/lib/init/dispose-zhin-agent.js +1 -2
  423. package/lib/init/dispose-zhin-agent.js.map +1 -1
  424. package/lib/init/introspection-collectors.js +2 -2
  425. package/lib/init/introspection-collectors.js.map +1 -1
  426. package/lib/init/register-ai-service.d.ts.map +1 -1
  427. package/lib/init/register-ai-service.js +3 -4
  428. package/lib/init/register-ai-service.js.map +1 -1
  429. package/lib/init/register-builtin-tools.d.ts.map +1 -1
  430. package/lib/init/register-builtin-tools.js +20 -31
  431. package/lib/init/register-builtin-tools.js.map +1 -1
  432. package/lib/init/register-db-upgrade.d.ts.map +1 -1
  433. package/lib/init/register-db-upgrade.js +5 -9
  434. package/lib/init/register-db-upgrade.js.map +1 -1
  435. package/lib/init/register-group-session-passive.d.ts.map +1 -1
  436. package/lib/init/register-group-session-passive.js +15 -10
  437. package/lib/init/register-group-session-passive.js.map +1 -1
  438. package/lib/init/register-init-wizard-guardrail.d.ts.map +1 -1
  439. package/lib/init/register-init-wizard-guardrail.js +6 -11
  440. package/lib/init/register-init-wizard-guardrail.js.map +1 -1
  441. package/lib/init/register-introspection-commands.d.ts.map +1 -1
  442. package/lib/init/register-introspection-commands.js +20 -1
  443. package/lib/init/register-introspection-commands.js.map +1 -1
  444. package/lib/init/register-mcp-from-config.js +4 -4
  445. package/lib/init/register-mcp-from-config.js.map +1 -1
  446. package/lib/init/upgrade-endpoint-id-schema.d.ts +2 -2
  447. package/lib/init/upgrade-endpoint-id-schema.d.ts.map +1 -1
  448. package/lib/init/upgrade-endpoint-id-schema.js +3 -3
  449. package/lib/init/upgrade-endpoint-id-schema.js.map +1 -1
  450. package/lib/init.d.ts +4 -22
  451. package/lib/init.d.ts.map +1 -1
  452. package/lib/init.js +6 -57
  453. package/lib/init.js.map +1 -1
  454. package/lib/interaction/index.d.ts +2 -0
  455. package/lib/interaction/index.d.ts.map +1 -0
  456. package/lib/interaction/index.js +2 -0
  457. package/lib/interaction/index.js.map +1 -0
  458. package/lib/interaction/interaction-router.d.ts +20 -0
  459. package/lib/interaction/interaction-router.d.ts.map +1 -0
  460. package/lib/interaction/interaction-router.js +146 -0
  461. package/lib/interaction/interaction-router.js.map +1 -0
  462. package/lib/internal/agent-host.d.ts +59 -67
  463. package/lib/internal/agent-host.d.ts.map +1 -1
  464. package/lib/internal/ai-service-refs.d.ts +8 -0
  465. package/lib/internal/ai-service-refs.d.ts.map +1 -0
  466. package/lib/internal/ai-service-refs.js +7 -0
  467. package/lib/internal/ai-service-refs.js.map +1 -0
  468. package/lib/internal/as-private.d.ts +3 -6
  469. package/lib/internal/as-private.d.ts.map +1 -1
  470. package/lib/internal/as-private.js.map +1 -1
  471. package/lib/internal/host-types.d.ts +26 -3
  472. package/lib/internal/host-types.d.ts.map +1 -1
  473. package/lib/internal/prompt-trace.d.ts.map +1 -1
  474. package/lib/internal/prompt-trace.js +4 -15
  475. package/lib/internal/prompt-trace.js.map +1 -1
  476. package/lib/internal/turn-context.d.ts +1 -6
  477. package/lib/internal/turn-context.d.ts.map +1 -1
  478. package/lib/internal/turn-context.js +0 -9
  479. package/lib/internal/turn-context.js.map +1 -1
  480. package/lib/journal/file-journal-store.d.ts +21 -0
  481. package/lib/journal/file-journal-store.d.ts.map +1 -0
  482. package/lib/journal/file-journal-store.js +200 -0
  483. package/lib/journal/file-journal-store.js.map +1 -0
  484. package/lib/journal/index.d.ts +3 -0
  485. package/lib/journal/index.d.ts.map +1 -0
  486. package/lib/journal/index.js +3 -0
  487. package/lib/journal/index.js.map +1 -0
  488. package/lib/journal/persistent-turn-journal.d.ts +13 -0
  489. package/lib/journal/persistent-turn-journal.d.ts.map +1 -0
  490. package/lib/journal/persistent-turn-journal.js +72 -0
  491. package/lib/journal/persistent-turn-journal.js.map +1 -0
  492. package/lib/media/index.d.ts +0 -1
  493. package/lib/media/index.d.ts.map +1 -1
  494. package/lib/media/index.js +0 -1
  495. package/lib/media/index.js.map +1 -1
  496. package/lib/media/media-capabilities.d.ts.map +1 -1
  497. package/lib/media/media-capabilities.js +0 -6
  498. package/lib/media/media-capabilities.js.map +1 -1
  499. package/lib/media/media-normalize.d.ts +1 -7
  500. package/lib/media/media-normalize.d.ts.map +1 -1
  501. package/lib/media/media-normalize.js +0 -47
  502. package/lib/media/media-normalize.js.map +1 -1
  503. package/lib/media/media-router.d.ts +1 -2
  504. package/lib/media/media-router.d.ts.map +1 -1
  505. package/lib/media/media-router.js +2 -10
  506. package/lib/media/media-router.js.map +1 -1
  507. package/lib/media/resolve-config.d.ts.map +1 -1
  508. package/lib/media/resolve-config.js +1 -28
  509. package/lib/media/resolve-config.js.map +1 -1
  510. package/lib/media/subagent-inbound.d.ts +2 -2
  511. package/lib/media/subagent-inbound.d.ts.map +1 -1
  512. package/lib/media/subagent-inbound.js +2 -7
  513. package/lib/media/subagent-inbound.js.map +1 -1
  514. package/lib/media/vision-capability.d.ts +1 -3
  515. package/lib/media/vision-capability.d.ts.map +1 -1
  516. package/lib/media/vision-capability.js +0 -15
  517. package/lib/media/vision-capability.js.map +1 -1
  518. package/lib/memory/compaction-runtime.d.ts +3 -4
  519. package/lib/memory/compaction-runtime.d.ts.map +1 -1
  520. package/lib/memory/compaction-runtime.js +0 -10
  521. package/lib/memory/compaction-runtime.js.map +1 -1
  522. package/lib/memory/memory-system.d.ts.map +1 -1
  523. package/lib/memory/memory-system.js +1 -2
  524. package/lib/memory/memory-system.js.map +1 -1
  525. package/lib/memory-entry-registry.d.ts +6 -0
  526. package/lib/memory-entry-registry.d.ts.map +1 -1
  527. package/lib/memory-entry-registry.js +19 -3
  528. package/lib/memory-entry-registry.js.map +1 -1
  529. package/lib/memory-layers.d.ts +2 -2
  530. package/lib/memory-layers.d.ts.map +1 -1
  531. package/lib/memory-layers.js +11 -22
  532. package/lib/memory-layers.js.map +1 -1
  533. package/lib/orchestration-runtime-registry.d.ts +3 -1
  534. package/lib/orchestration-runtime-registry.d.ts.map +1 -1
  535. package/lib/orchestration-runtime-registry.js +9 -4
  536. package/lib/orchestration-runtime-registry.js.map +1 -1
  537. package/lib/orchestrator/agent-dispatcher.d.ts +3 -38
  538. package/lib/orchestrator/agent-dispatcher.d.ts.map +1 -1
  539. package/lib/orchestrator/agent-dispatcher.js +2 -155
  540. package/lib/orchestrator/agent-dispatcher.js.map +1 -1
  541. package/lib/orchestrator/bootstrap-executors.d.ts +5 -1
  542. package/lib/orchestrator/bootstrap-executors.d.ts.map +1 -1
  543. package/lib/orchestrator/bootstrap-executors.js +65 -36
  544. package/lib/orchestrator/bootstrap-executors.js.map +1 -1
  545. package/lib/orchestrator/index.d.ts +1 -1
  546. package/lib/orchestrator/index.d.ts.map +1 -1
  547. package/lib/orchestrator/index.js +1 -1
  548. package/lib/orchestrator/index.js.map +1 -1
  549. package/lib/orchestrator/orchestration-mappers.js +8 -8
  550. package/lib/orchestrator/orchestration-mappers.js.map +1 -1
  551. package/lib/orchestrator/orchestration-service.d.ts +18 -9
  552. package/lib/orchestrator/orchestration-service.d.ts.map +1 -1
  553. package/lib/orchestrator/orchestration-service.js +50 -47
  554. package/lib/orchestrator/orchestration-service.js.map +1 -1
  555. package/lib/orchestrator/remote-agent-registry.d.ts +3 -3
  556. package/lib/orchestrator/remote-agent-registry.d.ts.map +1 -1
  557. package/lib/orchestrator/remote-agent-registry.js +9 -13
  558. package/lib/orchestrator/remote-agent-registry.js.map +1 -1
  559. package/lib/orchestrator/remote-task-executor.d.ts.map +1 -1
  560. package/lib/orchestrator/remote-task-executor.js +12 -4
  561. package/lib/orchestrator/remote-task-executor.js.map +1 -1
  562. package/lib/orchestrator/remote-task-poller.d.ts +3 -2
  563. package/lib/orchestrator/remote-task-poller.d.ts.map +1 -1
  564. package/lib/orchestrator/remote-task-poller.js +18 -15
  565. package/lib/orchestrator/remote-task-poller.js.map +1 -1
  566. package/lib/orchestrator/role-configs.d.ts +30 -0
  567. package/lib/orchestrator/role-configs.d.ts.map +1 -0
  568. package/lib/orchestrator/role-configs.js +133 -0
  569. package/lib/orchestrator/role-configs.js.map +1 -0
  570. package/lib/orchestrator/task-queue.d.ts +3 -2
  571. package/lib/orchestrator/task-queue.d.ts.map +1 -1
  572. package/lib/orchestrator/task-queue.js +12 -11
  573. package/lib/orchestrator/task-queue.js.map +1 -1
  574. package/lib/orchestrator/tool-selection.d.ts +4 -3
  575. package/lib/orchestrator/tool-selection.d.ts.map +1 -1
  576. package/lib/orchestrator/tool-selection.js +17 -14
  577. package/lib/orchestrator/tool-selection.js.map +1 -1
  578. package/lib/orchestrator/types.d.ts +3 -2
  579. package/lib/orchestrator/types.d.ts.map +1 -1
  580. package/lib/outbound/send-proactive.js +1 -1
  581. package/lib/outbound/send-proactive.js.map +1 -1
  582. package/lib/plugin-ai-hook-bus.d.ts +3 -6
  583. package/lib/plugin-ai-hook-bus.d.ts.map +1 -1
  584. package/lib/plugin-ai-hook-bus.js +2 -20
  585. package/lib/plugin-ai-hook-bus.js.map +1 -1
  586. package/lib/plugin-runtime/agent-host-port.d.ts +25 -0
  587. package/lib/plugin-runtime/agent-host-port.d.ts.map +1 -1
  588. package/lib/plugin-runtime/agent-host-port.js.map +1 -1
  589. package/lib/plugin-runtime/agent-runtime.d.ts +61 -8
  590. package/lib/plugin-runtime/agent-runtime.d.ts.map +1 -1
  591. package/lib/plugin-runtime/agent-runtime.js +226 -11
  592. package/lib/plugin-runtime/agent-runtime.js.map +1 -1
  593. package/lib/plugin-runtime/capability-ingress.d.ts +4 -4
  594. package/lib/plugin-runtime/capability-ingress.d.ts.map +1 -1
  595. package/lib/plugin-runtime/capability-ingress.js +46 -20
  596. package/lib/plugin-runtime/capability-ingress.js.map +1 -1
  597. package/lib/plugin-runtime/capability-tools.d.ts +17 -0
  598. package/lib/plugin-runtime/capability-tools.d.ts.map +1 -0
  599. package/lib/plugin-runtime/capability-tools.js +55 -0
  600. package/lib/plugin-runtime/capability-tools.js.map +1 -0
  601. package/lib/plugin-runtime/deferred-capability-plan.d.ts +30 -0
  602. package/lib/plugin-runtime/deferred-capability-plan.d.ts.map +1 -0
  603. package/lib/plugin-runtime/deferred-capability-plan.js +152 -0
  604. package/lib/plugin-runtime/deferred-capability-plan.js.map +1 -0
  605. package/lib/plugin-runtime/full-agent-turn-engine.d.ts +17 -0
  606. package/lib/plugin-runtime/full-agent-turn-engine.d.ts.map +1 -0
  607. package/lib/plugin-runtime/full-agent-turn-engine.js +174 -0
  608. package/lib/plugin-runtime/full-agent-turn-engine.js.map +1 -0
  609. package/lib/plugin-runtime/host-mcp-projection.d.ts +10 -0
  610. package/lib/plugin-runtime/host-mcp-projection.d.ts.map +1 -0
  611. package/lib/plugin-runtime/host-mcp-projection.js +33 -0
  612. package/lib/plugin-runtime/host-mcp-projection.js.map +1 -0
  613. package/lib/plugin-runtime/host-tool-projection.d.ts +21 -0
  614. package/lib/plugin-runtime/host-tool-projection.d.ts.map +1 -0
  615. package/lib/plugin-runtime/host-tool-projection.js +22 -0
  616. package/lib/plugin-runtime/host-tool-projection.js.map +1 -0
  617. package/lib/plugin-runtime/index.d.ts +10 -0
  618. package/lib/plugin-runtime/index.d.ts.map +1 -1
  619. package/lib/plugin-runtime/index.js +10 -0
  620. package/lib/plugin-runtime/index.js.map +1 -1
  621. package/lib/plugin-runtime/native-file-tools.d.ts +9 -0
  622. package/lib/plugin-runtime/native-file-tools.d.ts.map +1 -0
  623. package/lib/plugin-runtime/native-file-tools.js +240 -0
  624. package/lib/plugin-runtime/native-file-tools.js.map +1 -0
  625. package/lib/plugin-runtime/native-interaction-tools.d.ts +8 -0
  626. package/lib/plugin-runtime/native-interaction-tools.d.ts.map +1 -0
  627. package/lib/plugin-runtime/native-interaction-tools.js +72 -0
  628. package/lib/plugin-runtime/native-interaction-tools.js.map +1 -0
  629. package/lib/plugin-runtime/native-todo-tools.d.ts +26 -0
  630. package/lib/plugin-runtime/native-todo-tools.d.ts.map +1 -0
  631. package/lib/plugin-runtime/native-todo-tools.js +152 -0
  632. package/lib/plugin-runtime/native-todo-tools.js.map +1 -0
  633. package/lib/plugin-runtime/native-web-tools.d.ts +10 -0
  634. package/lib/plugin-runtime/native-web-tools.d.ts.map +1 -0
  635. package/lib/plugin-runtime/native-web-tools.js +120 -0
  636. package/lib/plugin-runtime/native-web-tools.js.map +1 -0
  637. package/lib/prompt/assembly.d.ts +19 -9
  638. package/lib/prompt/assembly.d.ts.map +1 -1
  639. package/lib/prompt/assembly.js +64 -25
  640. package/lib/prompt/assembly.js.map +1 -1
  641. package/lib/prompt/git-context.d.ts +7 -0
  642. package/lib/prompt/git-context.d.ts.map +1 -0
  643. package/lib/prompt/git-context.js +75 -0
  644. package/lib/prompt/git-context.js.map +1 -0
  645. package/lib/prompt/index.d.ts +3 -2
  646. package/lib/prompt/index.d.ts.map +1 -1
  647. package/lib/prompt/index.js +2 -2
  648. package/lib/prompt/index.js.map +1 -1
  649. package/lib/prompt/model-aware-builder.d.ts +8 -0
  650. package/lib/prompt/model-aware-builder.d.ts.map +1 -0
  651. package/lib/prompt/model-aware-builder.js +61 -0
  652. package/lib/prompt/model-aware-builder.js.map +1 -0
  653. package/lib/prompt/model-prompt-strategy.d.ts +12 -0
  654. package/lib/prompt/model-prompt-strategy.d.ts.map +1 -0
  655. package/lib/prompt/model-prompt-strategy.js +171 -0
  656. package/lib/prompt/model-prompt-strategy.js.map +1 -0
  657. package/lib/prompt/rules/code-references.d.ts +2 -0
  658. package/lib/prompt/rules/code-references.d.ts.map +1 -0
  659. package/lib/prompt/rules/code-references.js +11 -0
  660. package/lib/prompt/rules/code-references.js.map +1 -0
  661. package/lib/prompt/rules/critical-rules.d.ts +2 -0
  662. package/lib/prompt/rules/critical-rules.d.ts.map +1 -0
  663. package/lib/prompt/rules/critical-rules.js +17 -0
  664. package/lib/prompt/rules/critical-rules.js.map +1 -0
  665. package/lib/prompt/rules/editing.d.ts +2 -0
  666. package/lib/prompt/rules/editing.d.ts.map +1 -0
  667. package/lib/prompt/rules/editing.js +18 -0
  668. package/lib/prompt/rules/editing.js.map +1 -0
  669. package/lib/prompt/rules/error-handling.d.ts +2 -0
  670. package/lib/prompt/rules/error-handling.d.ts.map +1 -0
  671. package/lib/prompt/rules/error-handling.js +18 -0
  672. package/lib/prompt/rules/error-handling.js.map +1 -0
  673. package/lib/prompt/rules/index.d.ts +8 -0
  674. package/lib/prompt/rules/index.d.ts.map +1 -0
  675. package/lib/prompt/rules/index.js +8 -0
  676. package/lib/prompt/rules/index.js.map +1 -0
  677. package/lib/prompt/rules/memory.d.ts +2 -0
  678. package/lib/prompt/rules/memory.d.ts.map +1 -0
  679. package/lib/prompt/rules/memory.js +13 -0
  680. package/lib/prompt/rules/memory.js.map +1 -0
  681. package/lib/prompt/rules/task-completion.d.ts +2 -0
  682. package/lib/prompt/rules/task-completion.d.ts.map +1 -0
  683. package/lib/prompt/rules/task-completion.js +11 -0
  684. package/lib/prompt/rules/task-completion.js.map +1 -0
  685. package/lib/prompt/rules/workflow-rules.d.ts +2 -0
  686. package/lib/prompt/rules/workflow-rules.d.ts.map +1 -0
  687. package/lib/prompt/rules/workflow-rules.js +27 -0
  688. package/lib/prompt/rules/workflow-rules.js.map +1 -0
  689. package/lib/prompt/system-prompt.d.ts +19 -22
  690. package/lib/prompt/system-prompt.d.ts.map +1 -1
  691. package/lib/prompt/system-prompt.js +82 -262
  692. package/lib/prompt/system-prompt.js.map +1 -1
  693. package/lib/prompt/templates.d.ts +3 -6
  694. package/lib/prompt/templates.d.ts.map +1 -1
  695. package/lib/prompt/templates.js +17 -21
  696. package/lib/prompt/templates.js.map +1 -1
  697. package/lib/prompt/turn-prompt-profile.d.ts +16 -0
  698. package/lib/prompt/turn-prompt-profile.d.ts.map +1 -0
  699. package/lib/prompt/turn-prompt-profile.js +2 -0
  700. package/lib/prompt/turn-prompt-profile.js.map +1 -0
  701. package/lib/routing/route-matcher.d.ts +2 -2
  702. package/lib/routing/route-matcher.d.ts.map +1 -1
  703. package/lib/routing/route-matcher.js +1 -1
  704. package/lib/routing/route-matcher.js.map +1 -1
  705. package/lib/routing/subagent-summarize.d.ts.map +1 -1
  706. package/lib/routing/subagent-summarize.js +1 -6
  707. package/lib/routing/subagent-summarize.js.map +1 -1
  708. package/lib/schedule-domain/audit-logger.d.ts +38 -0
  709. package/lib/schedule-domain/audit-logger.d.ts.map +1 -0
  710. package/lib/schedule-domain/audit-logger.js +27 -0
  711. package/lib/schedule-domain/audit-logger.js.map +1 -0
  712. package/lib/schedule-domain/budget-guard.d.ts +27 -0
  713. package/lib/schedule-domain/budget-guard.d.ts.map +1 -0
  714. package/lib/schedule-domain/budget-guard.js +48 -0
  715. package/lib/schedule-domain/budget-guard.js.map +1 -0
  716. package/lib/schedule-domain/execution-domain.d.ts +49 -0
  717. package/lib/schedule-domain/execution-domain.d.ts.map +1 -0
  718. package/lib/schedule-domain/execution-domain.js +125 -0
  719. package/lib/schedule-domain/execution-domain.js.map +1 -0
  720. package/lib/schedule-domain/index.d.ts +8 -0
  721. package/lib/schedule-domain/index.d.ts.map +1 -0
  722. package/lib/schedule-domain/index.js +8 -0
  723. package/lib/schedule-domain/index.js.map +1 -0
  724. package/lib/schedule-domain/output-validator.d.ts +7 -0
  725. package/lib/schedule-domain/output-validator.d.ts.map +1 -0
  726. package/lib/schedule-domain/output-validator.js +36 -0
  727. package/lib/schedule-domain/output-validator.js.map +1 -0
  728. package/lib/schedule-domain/prompt-assembler.d.ts +22 -0
  729. package/lib/schedule-domain/prompt-assembler.d.ts.map +1 -0
  730. package/lib/schedule-domain/prompt-assembler.js +75 -0
  731. package/lib/schedule-domain/prompt-assembler.js.map +1 -0
  732. package/lib/schedule-domain/security-harness.d.ts +19 -0
  733. package/lib/schedule-domain/security-harness.d.ts.map +1 -0
  734. package/lib/schedule-domain/security-harness.js +89 -0
  735. package/lib/schedule-domain/security-harness.js.map +1 -0
  736. package/lib/schedule-domain/tool-resolver.d.ts +20 -0
  737. package/lib/schedule-domain/tool-resolver.d.ts.map +1 -0
  738. package/lib/schedule-domain/tool-resolver.js +80 -0
  739. package/lib/schedule-domain/tool-resolver.js.map +1 -0
  740. package/lib/schedule-domain/turn-context.d.ts +9 -0
  741. package/lib/schedule-domain/turn-context.d.ts.map +1 -0
  742. package/lib/schedule-domain/turn-context.js +36 -0
  743. package/lib/schedule-domain/turn-context.js.map +1 -0
  744. package/lib/schedule-manager.d.ts +12 -13
  745. package/lib/schedule-manager.d.ts.map +1 -1
  746. package/lib/schedule-manager.js +91 -155
  747. package/lib/schedule-manager.js.map +1 -1
  748. package/lib/security/anomaly-detection.d.ts +3 -6
  749. package/lib/security/anomaly-detection.d.ts.map +1 -1
  750. package/lib/security/anomaly-detection.js +24 -31
  751. package/lib/security/anomaly-detection.js.map +1 -1
  752. package/lib/security/audit-logger.d.ts +5 -4
  753. package/lib/security/audit-logger.d.ts.map +1 -1
  754. package/lib/security/audit-logger.js +17 -25
  755. package/lib/security/audit-logger.js.map +1 -1
  756. package/lib/security/dangerous-tool-policy.d.ts +1 -1
  757. package/lib/security/dangerous-tool-policy.d.ts.map +1 -1
  758. package/lib/security/dangerous-tool-policy.js +6 -25
  759. package/lib/security/dangerous-tool-policy.js.map +1 -1
  760. package/lib/security/exec-policy.d.ts +2 -1
  761. package/lib/security/exec-policy.d.ts.map +1 -1
  762. package/lib/security/exec-policy.js +6 -11
  763. package/lib/security/exec-policy.js.map +1 -1
  764. package/lib/security/file-policy.d.ts.map +1 -1
  765. package/lib/security/file-policy.js +1 -0
  766. package/lib/security/file-policy.js.map +1 -1
  767. package/lib/security/file-role-policy.d.ts.map +1 -1
  768. package/lib/security/file-role-policy.js +1 -4
  769. package/lib/security/file-role-policy.js.map +1 -1
  770. package/lib/security/index.d.ts +0 -2
  771. package/lib/security/index.d.ts.map +1 -1
  772. package/lib/security/index.js +0 -2
  773. package/lib/security/index.js.map +1 -1
  774. package/lib/security/network-policy-context.d.ts +7 -0
  775. package/lib/security/network-policy-context.d.ts.map +1 -0
  776. package/lib/security/network-policy-context.js +9 -0
  777. package/lib/security/network-policy-context.js.map +1 -0
  778. package/lib/security/network-policy.d.ts +14 -1
  779. package/lib/security/network-policy.d.ts.map +1 -1
  780. package/lib/security/network-policy.js +70 -3
  781. package/lib/security/network-policy.js.map +1 -1
  782. package/lib/security/owner-approve-always-store.d.ts +1 -1
  783. package/lib/security/owner-approve-always-store.d.ts.map +1 -1
  784. package/lib/security/owner-approve-always-store.js +12 -12
  785. package/lib/security/owner-approve-always-store.js.map +1 -1
  786. package/lib/security/policy-facade.d.ts +27 -0
  787. package/lib/security/policy-facade.d.ts.map +1 -1
  788. package/lib/security/policy-facade.js +190 -3
  789. package/lib/security/policy-facade.js.map +1 -1
  790. package/lib/security/sandbox.d.ts +2 -7
  791. package/lib/security/sandbox.d.ts.map +1 -1
  792. package/lib/security/sandbox.js +12 -21
  793. package/lib/security/sandbox.js.map +1 -1
  794. package/lib/security/turn-file-authority.d.ts +14 -0
  795. package/lib/security/turn-file-authority.d.ts.map +1 -0
  796. package/lib/security/turn-file-authority.js +101 -0
  797. package/lib/security/turn-file-authority.js.map +1 -0
  798. package/lib/security/turn-network-client.d.ts +30 -0
  799. package/lib/security/turn-network-client.d.ts.map +1 -0
  800. package/lib/security/turn-network-client.js +111 -0
  801. package/lib/security/turn-network-client.js.map +1 -0
  802. package/lib/service.d.ts +3 -13
  803. package/lib/service.d.ts.map +1 -1
  804. package/lib/service.js +3 -35
  805. package/lib/service.js.map +1 -1
  806. package/lib/session/{session-interaction-port.d.ts → approval-port.d.ts} +4 -7
  807. package/lib/session/approval-port.d.ts.map +1 -0
  808. package/lib/session/{session-interaction-port.js → approval-port.js} +1 -1
  809. package/lib/session/approval-port.js.map +1 -0
  810. package/lib/session/http-approval-adapter.d.ts +2 -2
  811. package/lib/session/http-approval-adapter.d.ts.map +1 -1
  812. package/lib/session/http-approval-adapter.js +1 -1
  813. package/lib/session/http-approval-adapter.js.map +1 -1
  814. package/lib/session/http-approval-waiter.d.ts +1 -1
  815. package/lib/session/http-approval-waiter.d.ts.map +1 -1
  816. package/lib/session/http-approval-waiter.js +25 -2
  817. package/lib/session/http-approval-waiter.js.map +1 -1
  818. package/lib/session/index.d.ts +6 -3
  819. package/lib/session/index.d.ts.map +1 -1
  820. package/lib/session/index.js +3 -2
  821. package/lib/session/index.js.map +1 -1
  822. package/lib/session/passive-group-session.d.ts +8 -10
  823. package/lib/session/passive-group-session.d.ts.map +1 -1
  824. package/lib/session/passive-group-session.js +23 -27
  825. package/lib/session/passive-group-session.js.map +1 -1
  826. package/lib/session/resolve-approval-port.d.ts +7 -0
  827. package/lib/session/resolve-approval-port.d.ts.map +1 -0
  828. package/lib/session/resolve-approval-port.js +13 -0
  829. package/lib/session/resolve-approval-port.js.map +1 -0
  830. package/lib/session/session-io.d.ts +3 -4
  831. package/lib/session/session-io.d.ts.map +1 -1
  832. package/lib/session/session-io.js +7 -15
  833. package/lib/session/session-io.js.map +1 -1
  834. package/lib/session/session-system.d.ts +22 -1
  835. package/lib/session/session-system.d.ts.map +1 -1
  836. package/lib/session/session-system.js +72 -10
  837. package/lib/session/session-system.js.map +1 -1
  838. package/lib/session/session-tree-commands.d.ts.map +1 -1
  839. package/lib/session/session-tree-commands.js +2 -4
  840. package/lib/session/session-tree-commands.js.map +1 -1
  841. package/lib/session/turn-ingress-session.d.ts +23 -0
  842. package/lib/session/turn-ingress-session.d.ts.map +1 -0
  843. package/lib/session/turn-ingress-session.js +89 -0
  844. package/lib/session/turn-ingress-session.js.map +1 -0
  845. package/lib/session-tree-runtime-registry.d.ts +3 -1
  846. package/lib/session-tree-runtime-registry.d.ts.map +1 -1
  847. package/lib/session-tree-runtime-registry.js +6 -4
  848. package/lib/session-tree-runtime-registry.js.map +1 -1
  849. package/lib/stability/memory-pressure.d.ts.map +1 -1
  850. package/lib/stability/memory-pressure.js +4 -21
  851. package/lib/stability/memory-pressure.js.map +1 -1
  852. package/lib/subagent/subagent-runtime.d.ts.map +1 -1
  853. package/lib/subagent/subagent-runtime.js +1 -5
  854. package/lib/subagent/subagent-runtime.js.map +1 -1
  855. package/lib/subagent/subagent-system-init.js +2 -2
  856. package/lib/subagent/subagent-system-init.js.map +1 -1
  857. package/lib/subagent-ai-events.d.ts +3 -0
  858. package/lib/subagent-ai-events.d.ts.map +1 -1
  859. package/lib/subagent-ai-events.js +4 -1
  860. package/lib/subagent-ai-events.js.map +1 -1
  861. package/lib/subagent-goal-notify.d.ts +1 -1
  862. package/lib/subagent-goal-notify.d.ts.map +1 -1
  863. package/lib/subagent-goal-notify.js +1 -1
  864. package/lib/subagent-goal-notify.js.map +1 -1
  865. package/lib/subagent-parent-context.d.ts +9 -0
  866. package/lib/subagent-parent-context.d.ts.map +1 -1
  867. package/lib/subagent-parent-context.js +8 -0
  868. package/lib/subagent-parent-context.js.map +1 -1
  869. package/lib/task-executor.d.ts +14 -25
  870. package/lib/task-executor.d.ts.map +1 -1
  871. package/lib/task-executor.js +106 -137
  872. package/lib/task-executor.js.map +1 -1
  873. package/lib/tool/builtin-policy-extractors.d.ts +2 -0
  874. package/lib/tool/builtin-policy-extractors.d.ts.map +1 -0
  875. package/lib/tool/builtin-policy-extractors.js +65 -0
  876. package/lib/tool/builtin-policy-extractors.js.map +1 -0
  877. package/lib/tool/classic-tool-execution-authority.d.ts +22 -0
  878. package/lib/tool/classic-tool-execution-authority.d.ts.map +1 -0
  879. package/lib/tool/classic-tool-execution-authority.js +79 -0
  880. package/lib/tool/classic-tool-execution-authority.js.map +1 -0
  881. package/lib/tool/contracts.d.ts +2 -2
  882. package/lib/tool/contracts.d.ts.map +1 -1
  883. package/lib/tool/contracts.js +1 -1
  884. package/lib/tool/deferred-resolution.d.ts +5 -3
  885. package/lib/tool/deferred-resolution.d.ts.map +1 -1
  886. package/lib/tool/deferred-resolution.js +31 -5
  887. package/lib/tool/deferred-resolution.js.map +1 -1
  888. package/lib/tool/index.d.ts +2 -0
  889. package/lib/tool/index.d.ts.map +1 -1
  890. package/lib/tool/index.js +1 -0
  891. package/lib/tool/index.js.map +1 -1
  892. package/lib/tool/prepare-turn-tools.d.ts +2 -0
  893. package/lib/tool/prepare-turn-tools.d.ts.map +1 -1
  894. package/lib/tool/prepare-turn-tools.js +62 -10
  895. package/lib/tool/prepare-turn-tools.js.map +1 -1
  896. package/lib/tool/runtime.d.ts +1 -1
  897. package/lib/tool/runtime.d.ts.map +1 -1
  898. package/lib/tool/runtime.js +1 -1
  899. package/lib/tool/runtime.js.map +1 -1
  900. package/lib/tool/sources.d.ts +5 -2
  901. package/lib/tool/sources.d.ts.map +1 -1
  902. package/lib/tool/sources.js +4 -4
  903. package/lib/tool/sources.js.map +1 -1
  904. package/lib/tool/tool-approval-gate.d.ts +3 -3
  905. package/lib/tool/tool-approval-gate.d.ts.map +1 -1
  906. package/lib/tool/tool-approval-gate.js +2 -1
  907. package/lib/tool/tool-approval-gate.js.map +1 -1
  908. package/lib/tool/tool-runtime.d.ts +52 -0
  909. package/lib/tool/tool-runtime.d.ts.map +1 -0
  910. package/lib/tool/tool-runtime.js +101 -0
  911. package/lib/tool/tool-runtime.js.map +1 -0
  912. package/lib/tool/tool-system.d.ts +7 -3
  913. package/lib/tool/tool-system.d.ts.map +1 -1
  914. package/lib/tool/tool-system.js +12 -6
  915. package/lib/tool/tool-system.js.map +1 -1
  916. package/lib/tool/turn-tool-runtime.d.ts +29 -0
  917. package/lib/tool/turn-tool-runtime.d.ts.map +1 -0
  918. package/lib/tool/turn-tool-runtime.js +89 -0
  919. package/lib/tool/turn-tool-runtime.js.map +1 -0
  920. package/lib/tool-catalog/deferred-turn-controller.d.ts +30 -0
  921. package/lib/tool-catalog/deferred-turn-controller.d.ts.map +1 -0
  922. package/lib/tool-catalog/deferred-turn-controller.js +126 -0
  923. package/lib/tool-catalog/deferred-turn-controller.js.map +1 -0
  924. package/lib/turn/auto-continue.d.ts +6 -15
  925. package/lib/turn/auto-continue.d.ts.map +1 -1
  926. package/lib/turn/auto-continue.js +43 -31
  927. package/lib/turn/auto-continue.js.map +1 -1
  928. package/lib/turn/deferred-turn-state.d.ts +29 -0
  929. package/lib/turn/deferred-turn-state.d.ts.map +1 -0
  930. package/lib/turn/deferred-turn-state.js +35 -0
  931. package/lib/turn/deferred-turn-state.js.map +1 -0
  932. package/lib/turn/execute-agent-turn.d.ts +14 -0
  933. package/lib/turn/execute-agent-turn.d.ts.map +1 -0
  934. package/lib/turn/execute-agent-turn.js +171 -0
  935. package/lib/turn/execute-agent-turn.js.map +1 -0
  936. package/lib/turn/inbound-media.d.ts +3 -3
  937. package/lib/turn/inbound-media.d.ts.map +1 -1
  938. package/lib/turn/inbound-media.js +11 -4
  939. package/lib/turn/inbound-media.js.map +1 -1
  940. package/lib/turn/index.d.ts +8 -1
  941. package/lib/turn/index.d.ts.map +1 -1
  942. package/lib/turn/index.js +5 -1
  943. package/lib/turn/index.js.map +1 -1
  944. package/lib/turn/journal-integrity.d.ts +5 -0
  945. package/lib/turn/journal-integrity.d.ts.map +1 -0
  946. package/lib/turn/journal-integrity.js +8 -0
  947. package/lib/turn/journal-integrity.js.map +1 -0
  948. package/lib/turn/process-stream.d.ts.map +1 -1
  949. package/lib/turn/process-stream.js +21 -55
  950. package/lib/turn/process-stream.js.map +1 -1
  951. package/lib/turn/prompt-controller.d.ts +7 -4
  952. package/lib/turn/prompt-controller.d.ts.map +1 -1
  953. package/lib/turn/prompt-controller.js +23 -11
  954. package/lib/turn/prompt-controller.js.map +1 -1
  955. package/lib/turn/subagent-auto-continue.d.ts +2 -0
  956. package/lib/turn/subagent-auto-continue.d.ts.map +1 -1
  957. package/lib/turn/subagent-auto-continue.js +17 -1
  958. package/lib/turn/subagent-auto-continue.js.map +1 -1
  959. package/lib/turn/task-continuation.d.ts +3 -6
  960. package/lib/turn/task-continuation.d.ts.map +1 -1
  961. package/lib/turn/task-continuation.js +10 -13
  962. package/lib/turn/task-continuation.js.map +1 -1
  963. package/lib/turn/turn-complete.d.ts +1 -0
  964. package/lib/turn/turn-complete.d.ts.map +1 -1
  965. package/lib/turn/turn-complete.js +3 -2
  966. package/lib/turn/turn-complete.js.map +1 -1
  967. package/lib/turn/turn-context-bridge.d.ts +0 -4
  968. package/lib/turn/turn-context-bridge.d.ts.map +1 -1
  969. package/lib/turn/turn-context-bridge.js +0 -10
  970. package/lib/turn/turn-context-bridge.js.map +1 -1
  971. package/lib/turn/turn-event-source.d.ts +15 -0
  972. package/lib/turn/turn-event-source.d.ts.map +1 -0
  973. package/lib/turn/turn-event-source.js +61 -0
  974. package/lib/turn/turn-event-source.js.map +1 -0
  975. package/lib/turn/turn-ingress.d.ts +157 -0
  976. package/lib/turn/turn-ingress.d.ts.map +1 -0
  977. package/lib/turn/turn-ingress.js +76 -0
  978. package/lib/turn/turn-ingress.js.map +1 -0
  979. package/lib/turn/turn-metrics.d.ts.map +1 -1
  980. package/lib/turn/turn-metrics.js +10 -9
  981. package/lib/turn/turn-metrics.js.map +1 -1
  982. package/lib/turn/turn-pipeline.d.ts +10 -3
  983. package/lib/turn/turn-pipeline.d.ts.map +1 -1
  984. package/lib/turn/turn-pipeline.js +73 -41
  985. package/lib/turn/turn-pipeline.js.map +1 -1
  986. package/lib/typing-indicator/adapter-integration.d.ts +3 -5
  987. package/lib/typing-indicator/adapter-integration.d.ts.map +1 -1
  988. package/lib/typing-indicator/adapter-integration.js.map +1 -1
  989. package/lib/typing-indicator/index.d.ts +4 -4
  990. package/lib/typing-indicator/index.d.ts.map +1 -1
  991. package/lib/typing-indicator/index.js +25 -29
  992. package/lib/typing-indicator/index.js.map +1 -1
  993. package/lib/typing-indicator/integration.d.ts +6 -8
  994. package/lib/typing-indicator/integration.d.ts.map +1 -1
  995. package/lib/typing-indicator/integration.js +12 -10
  996. package/lib/typing-indicator/integration.js.map +1 -1
  997. package/lib/utils/keyed-mutex.d.ts +10 -0
  998. package/lib/utils/keyed-mutex.d.ts.map +1 -0
  999. package/lib/utils/keyed-mutex.js +34 -0
  1000. package/lib/utils/keyed-mutex.js.map +1 -0
  1001. package/lib/zhin-agent/index.d.ts +71 -76
  1002. package/lib/zhin-agent/index.d.ts.map +1 -1
  1003. package/lib/zhin-agent/index.js +51 -157
  1004. package/lib/zhin-agent/index.js.map +1 -1
  1005. package/lib/zhin-agent/runtime-modules.d.ts +1 -0
  1006. package/lib/zhin-agent/runtime-modules.d.ts.map +1 -1
  1007. package/lib/zhin-agent/runtime-modules.js +16 -0
  1008. package/lib/zhin-agent/runtime-modules.js.map +1 -1
  1009. package/package.json +13 -11
  1010. package/lib/assistant/domains/home-assistant.d.ts.map +0 -1
  1011. package/lib/assistant/domains/home-assistant.js.map +0 -1
  1012. package/lib/assistant/schedule-message.d.ts +0 -9
  1013. package/lib/assistant/schedule-message.d.ts.map +0 -1
  1014. package/lib/assistant/schedule-message.js +0 -23
  1015. package/lib/assistant/schedule-message.js.map +0 -1
  1016. package/lib/assistant/schedule-tool-runtime.d.ts +0 -7
  1017. package/lib/assistant/schedule-tool-runtime.d.ts.map +0 -1
  1018. package/lib/assistant/schedule-tool-runtime.js +0 -50
  1019. package/lib/assistant/schedule-tool-runtime.js.map +0 -1
  1020. package/lib/builtin/ask-user-session-service.d.ts +0 -40
  1021. package/lib/builtin/ask-user-session-service.d.ts.map +0 -1
  1022. package/lib/builtin/ask-user-session-service.js +0 -258
  1023. package/lib/builtin/ask-user-session-service.js.map +0 -1
  1024. package/lib/builtin/ask-user-session.d.ts +0 -18
  1025. package/lib/builtin/ask-user-session.d.ts.map +0 -1
  1026. package/lib/builtin/ask-user-session.js +0 -21
  1027. package/lib/builtin/ask-user-session.js.map +0 -1
  1028. package/lib/builtin/ask-user-tool.d.ts +0 -22
  1029. package/lib/builtin/ask-user-tool.d.ts.map +0 -1
  1030. package/lib/builtin/ask-user-tool.js +0 -148
  1031. package/lib/builtin/ask-user-tool.js.map +0 -1
  1032. package/lib/builtin/deferred-tool-meta.d.ts +0 -51
  1033. package/lib/builtin/deferred-tool-meta.d.ts.map +0 -1
  1034. package/lib/builtin/deferred-tool-meta.js +0 -143
  1035. package/lib/builtin/deferred-tool-meta.js.map +0 -1
  1036. package/lib/collaboration/ask-user-bridge.d.ts +0 -9
  1037. package/lib/collaboration/ask-user-bridge.d.ts.map +0 -1
  1038. package/lib/collaboration/ask-user-bridge.js +0 -73
  1039. package/lib/collaboration/ask-user-bridge.js.map +0 -1
  1040. package/lib/collaboration/bootstrap-agent-runtimes.d.ts +0 -22
  1041. package/lib/collaboration/bootstrap-agent-runtimes.d.ts.map +0 -1
  1042. package/lib/collaboration/bootstrap-agent-runtimes.js +0 -106
  1043. package/lib/collaboration/bootstrap-agent-runtimes.js.map +0 -1
  1044. package/lib/collaboration/inbound-turn-compat.d.ts +0 -32
  1045. package/lib/collaboration/inbound-turn-compat.d.ts.map +0 -1
  1046. package/lib/collaboration/inbound-turn-compat.js +0 -30
  1047. package/lib/collaboration/inbound-turn-compat.js.map +0 -1
  1048. package/lib/collaboration/runtime-registry.d.ts +0 -18
  1049. package/lib/collaboration/runtime-registry.d.ts.map +0 -1
  1050. package/lib/collaboration/runtime-registry.js +0 -45
  1051. package/lib/collaboration/runtime-registry.js.map +0 -1
  1052. package/lib/init/management-command-guard.d.ts +0 -6
  1053. package/lib/init/management-command-guard.d.ts.map +0 -1
  1054. package/lib/init/management-command-guard.js +0 -6
  1055. package/lib/init/management-command-guard.js.map +0 -1
  1056. package/lib/init/output-renderer.d.ts +0 -7
  1057. package/lib/init/output-renderer.d.ts.map +0 -1
  1058. package/lib/init/output-renderer.js +0 -44
  1059. package/lib/init/output-renderer.js.map +0 -1
  1060. package/lib/init/register-home-tools.d.ts +0 -2
  1061. package/lib/init/register-home-tools.d.ts.map +0 -1
  1062. package/lib/init/register-home-tools.js +0 -51
  1063. package/lib/init/register-home-tools.js.map +0 -1
  1064. package/lib/init/register-owner-approve-commands.d.ts +0 -10
  1065. package/lib/init/register-owner-approve-commands.d.ts.map +0 -1
  1066. package/lib/init/register-owner-approve-commands.js +0 -12
  1067. package/lib/init/register-owner-approve-commands.js.map +0 -1
  1068. package/lib/media/constants.d.ts +0 -3
  1069. package/lib/media/constants.d.ts.map +0 -1
  1070. package/lib/media/constants.js +0 -3
  1071. package/lib/media/constants.js.map +0 -1
  1072. package/lib/orchestrator/owner-confirm-orchestration.d.ts +0 -39
  1073. package/lib/orchestrator/owner-confirm-orchestration.d.ts.map +0 -1
  1074. package/lib/orchestrator/owner-confirm-orchestration.js +0 -92
  1075. package/lib/orchestrator/owner-confirm-orchestration.js.map +0 -1
  1076. package/lib/orchestrator/owner-orchestration-constants.d.ts +0 -6
  1077. package/lib/orchestrator/owner-orchestration-constants.d.ts.map +0 -1
  1078. package/lib/orchestrator/owner-orchestration-constants.js +0 -10
  1079. package/lib/orchestrator/owner-orchestration-constants.js.map +0 -1
  1080. package/lib/security/dangerous-tool-policy-hook.d.ts +0 -6
  1081. package/lib/security/dangerous-tool-policy-hook.d.ts.map +0 -1
  1082. package/lib/security/dangerous-tool-policy-hook.js +0 -41
  1083. package/lib/security/dangerous-tool-policy-hook.js.map +0 -1
  1084. package/lib/security/exec-policy-hook.d.ts +0 -7
  1085. package/lib/security/exec-policy-hook.d.ts.map +0 -1
  1086. package/lib/security/exec-policy-hook.js +0 -29
  1087. package/lib/security/exec-policy-hook.js.map +0 -1
  1088. package/lib/security/file-policy-hook.d.ts +0 -6
  1089. package/lib/security/file-policy-hook.d.ts.map +0 -1
  1090. package/lib/security/file-policy-hook.js +0 -30
  1091. package/lib/security/file-policy-hook.js.map +0 -1
  1092. package/lib/security/sandbox-enhanced.d.ts +0 -173
  1093. package/lib/security/sandbox-enhanced.d.ts.map +0 -1
  1094. package/lib/security/sandbox-enhanced.js +0 -665
  1095. package/lib/security/sandbox-enhanced.js.map +0 -1
  1096. package/lib/session/im-approval-adapter.d.ts +0 -12
  1097. package/lib/session/im-approval-adapter.d.ts.map +0 -1
  1098. package/lib/session/im-approval-adapter.js +0 -24
  1099. package/lib/session/im-approval-adapter.js.map +0 -1
  1100. package/lib/session/resolve-session-interaction-port.d.ts +0 -9
  1101. package/lib/session/resolve-session-interaction-port.d.ts.map +0 -1
  1102. package/lib/session/resolve-session-interaction-port.js +0 -17
  1103. package/lib/session/resolve-session-interaction-port.js.map +0 -1
  1104. package/lib/session/session-interaction-port.d.ts.map +0 -1
  1105. package/lib/session/session-interaction-port.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"deliver-schedule-to-adapter.js","sourceRoot":"","sources":["../../src/assistant/deliver-schedule-to-adapter.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,wBAAwB,GAIzB,MAAM,0BAA0B,CAAC;AAalC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAoC;IAEpC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC;IACnE,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,iBAAiB,EAAE,CAAC;QACjD,MAAM,iBAAiB,CAAC,IAAI,CAC1B,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,EACnD,OAAO,CACR,CAAC;QACF,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc;QAClD,CAAC,CAAC,wBAAwB,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;QACpE,CAAC,CAAC,SAAS,CAAC,CAAC;IACf,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IACvD,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"deliver-schedule-to-adapter.js","sourceRoot":"","sources":["../../src/assistant/deliver-schedule-to-adapter.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,wBAAwB,GAIzB,MAAM,0BAA0B,CAAC;AAalC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAoC;IAEpC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACxD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc;QAClD,CAAC,CAAC,wBAAwB,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;QACpE,CAAC,CAAC,SAAS,CAAC,CAAC;IACf,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;IACvD,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AACnE,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import { type AssistantHomeConfig } from '../home-config.js';
2
+ import { parseEntityDomain } from './home-entity.js';
3
+ export { parseEntityDomain };
2
4
  export type HaFetch = (url: string, init?: RequestInit) => Promise<Response>;
3
5
  export interface HaEntityState {
4
6
  entityId: string;
@@ -7,8 +9,12 @@ export interface HaEntityState {
7
9
  lastChanged?: string;
8
10
  lastUpdated?: string;
9
11
  }
10
- export declare function parseEntityDomain(entityId: string): string;
11
- export declare class HomeAssistantService {
12
+ export interface HaServiceResult {
13
+ alias: string;
14
+ entityId: string;
15
+ service: string;
16
+ }
17
+ export declare class HaHomeBackend {
12
18
  private cfg;
13
19
  private fetchFn;
14
20
  constructor(homeConfig: AssistantHomeConfig, fetchFn?: HaFetch);
@@ -23,15 +29,12 @@ export declare class HomeAssistantService {
23
29
  service: string;
24
30
  };
25
31
  callService(alias: string, service: string, data?: Record<string, unknown>): Promise<void>;
26
- turnOn(alias: string): Promise<{
27
- alias: string;
28
- entityId: string;
29
- service: string;
30
- }>;
31
- turnOff(alias: string): Promise<{
32
- alias: string;
33
- entityId: string;
34
- service: string;
35
- }>;
32
+ /**
33
+ * JobNotify channel:ha — call by domain/service with optional entity target.
34
+ * `service` may be `domain.service` or bare service name (requires target entity).
35
+ */
36
+ callHaNotifyService(service: string, target?: string, data?: unknown): Promise<void>;
37
+ turnOn(alias: string): Promise<HaServiceResult>;
38
+ turnOff(alias: string): Promise<HaServiceResult>;
36
39
  }
37
- //# sourceMappingURL=home-assistant.d.ts.map
40
+ //# sourceMappingURL=ha-home-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ha-home-backend.d.ts","sourceRoot":"","sources":["../../../src/assistant/domains/ha-home-backend.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,mBAAmB,EAAgE,MAAM,mBAAmB,CAAC;AAC3H,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAI7B,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE7E,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAYD,qBAAa,aAAa;IACxB,OAAO,CAAC,GAAG,CAA8B;IACzC,OAAO,CAAC,OAAO,CAAU;gBAEb,UAAU,EAAE,mBAAmB,EAAE,OAAO,GAAE,OAA2C;IAKjG,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIrC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IASnC,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,KAAK;YAKC,SAAS;IAoBjB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAYrD,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAUrF,WAAW,CACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC;IAUhB;;;OAGG;IACG,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBpF,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAO/C,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;CAMvD"}
@@ -1,9 +1,11 @@
1
1
  /**
2
- * HomeAssistantService别名解析 + HA REST(M4)
2
+ * HaHomeBackendHome Assistant REST client(别名解析 + 服务调用)
3
3
  */
4
4
  import { getLogger } from '@zhin.js/core';
5
5
  import { formatCompact } from '@zhin.js/logger';
6
6
  import { resolveAssistantHomeConfig } from '../home-config.js';
7
+ import { parseEntityDomain } from './home-entity.js';
8
+ export { parseEntityDomain };
7
9
  const logger = getLogger('home-assistant');
8
10
  const DOMAIN_SERVICE_MAP = {
9
11
  light: { on: 'turn_on', off: 'turn_off' },
@@ -14,11 +16,7 @@ const DOMAIN_SERVICE_MAP = {
14
16
  climate: { on: 'turn_on', off: 'turn_off' },
15
17
  media_player: { on: 'turn_on', off: 'turn_off' },
16
18
  };
17
- export function parseEntityDomain(entityId) {
18
- const dot = entityId.indexOf('.');
19
- return dot > 0 ? entityId.slice(0, dot) : entityId;
20
- }
21
- export class HomeAssistantService {
19
+ export class HaHomeBackend {
22
20
  cfg;
23
21
  fetchFn;
24
22
  constructor(homeConfig, fetchFn = globalThis.fetch.bind(globalThis)) {
@@ -97,6 +95,33 @@ export class HomeAssistantService {
97
95
  });
98
96
  logger.debug(formatCompact({ op: 'ha_service', alias, entityId, domain, service }));
99
97
  }
98
+ /**
99
+ * JobNotify channel:ha — call by domain/service with optional entity target.
100
+ * `service` may be `domain.service` or bare service name (requires target entity).
101
+ */
102
+ async callHaNotifyService(service, target, data) {
103
+ const payload = (data && typeof data === 'object') ? data : {};
104
+ let domain;
105
+ let svc;
106
+ if (service.includes('.')) {
107
+ const [d, s] = service.split('.', 2);
108
+ domain = d;
109
+ svc = s;
110
+ }
111
+ else if (target) {
112
+ domain = parseEntityDomain(target);
113
+ svc = service;
114
+ }
115
+ else {
116
+ throw new Error(`callHaService 需要 domain.service 或 target entity(got: ${service})`);
117
+ }
118
+ const body = target ? { entity_id: target, ...payload } : { ...payload };
119
+ await this.haRequest(`/api/services/${domain}/${svc}`, {
120
+ method: 'POST',
121
+ body: JSON.stringify(body),
122
+ });
123
+ logger.debug(formatCompact({ op: 'ha_notify_service', domain, service: svc, target }));
124
+ }
100
125
  async turnOn(alias) {
101
126
  const entityId = this.resolveAlias(alias);
102
127
  const { domain, service } = this.resolveServiceForToggle(entityId, true);
@@ -110,4 +135,4 @@ export class HomeAssistantService {
110
135
  return { alias, entityId, service: `${domain}.${service}` };
111
136
  }
112
137
  }
113
- //# sourceMappingURL=home-assistant.js.map
138
+ //# sourceMappingURL=ha-home-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ha-home-backend.js","sourceRoot":"","sources":["../../../src/assistant/domains/ha-home-backend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ export type HaSocketLike = {
2
+ readyState: number;
3
+ send(data: string): void;
4
+ close(): void;
5
+ addEventListener(type: string, listener: (ev: {
6
+ data?: unknown;
7
+ }) => void): void;
8
+ };
9
+ export type CreateHaSocket = (url: string) => HaSocketLike;
10
+ export interface HaStateChangedEvent {
11
+ entityId: string;
12
+ newState: string;
13
+ oldState?: string;
14
+ attributes: Record<string, unknown>;
15
+ }
16
+ export interface HaWsTransportOptions {
17
+ wsUrl: string;
18
+ token: string;
19
+ createSocket?: CreateHaSocket;
20
+ onStateChanged: (event: HaStateChangedEvent) => void;
21
+ reconnectDelayMs?: number;
22
+ }
23
+ interface HaWsMessage {
24
+ id?: number;
25
+ type: string;
26
+ event?: {
27
+ data?: {
28
+ entity_id?: string;
29
+ new_state?: {
30
+ state?: string;
31
+ attributes?: Record<string, unknown>;
32
+ };
33
+ old_state?: {
34
+ state?: string;
35
+ };
36
+ };
37
+ };
38
+ }
39
+ export declare class HaWsTransport {
40
+ private readonly options;
41
+ private ws;
42
+ private disposed;
43
+ private msgId;
44
+ private reconnectTimer;
45
+ private readonly createSocket;
46
+ constructor(options: HaWsTransportOptions);
47
+ start(): void;
48
+ private connect;
49
+ /** Test/helper: feed a parsed HA message as if received from the socket. */
50
+ handleMessage(msg: HaWsMessage): void;
51
+ private subscribeEvents;
52
+ private emitStateChange;
53
+ private send;
54
+ private scheduleReconnect;
55
+ dispose(): void;
56
+ }
57
+ export declare function buildWsUrl(restUrl: string): string;
58
+ export {};
59
+ //# sourceMappingURL=ha-ws-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ha-ws-transport.d.ts","sourceRoot":"","sources":["../../../src/assistant/domains/ha-ws-transport.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,IAAI,IAAI,CAAC;IACd,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI,CAAC;CAClF,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,YAAY,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,cAAc,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAKD,UAAU,WAAW;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE;YACL,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,SAAS,CAAC,EAAE;gBAAE,KAAK,CAAC,EAAE,MAAM,CAAC;gBAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;aAAE,CAAC;YACrE,SAAS,CAAC,EAAE;gBAAE,KAAK,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;SAChC,CAAC;KACH,CAAC;CACH;AAED,qBAAa,aAAa;IAOZ,OAAO,CAAC,QAAQ,CAAC,OAAO;IANpC,OAAO,CAAC,EAAE,CAA6B;IACvC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiB;gBAEjB,OAAO,EAAE,oBAAoB;IAK1D,KAAK,IAAI,IAAI;IASb,OAAO,CAAC,OAAO;IA8Bf,4EAA4E;IAC5E,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;IAkBrC,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,iBAAiB;IASzB,OAAO,IAAI,IAAI;CAahB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKlD"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * HaWsTransport — HA WebSocket auth / subscribe / reconnect.
3
+ * Inject createSocket for tests.
4
+ */
5
+ import { getLogger } from '@zhin.js/core';
6
+ import { formatCompact } from '@zhin.js/logger';
7
+ const logger = getLogger('ha-ws-transport');
8
+ const RECONNECT_DELAY_MS = 10_000;
9
+ const OPEN = 1;
10
+ const CONNECTING = 0;
11
+ export class HaWsTransport {
12
+ options;
13
+ ws = null;
14
+ disposed = false;
15
+ msgId = 1;
16
+ reconnectTimer = null;
17
+ createSocket;
18
+ constructor(options) {
19
+ this.options = options;
20
+ this.createSocket = options.createSocket
21
+ ?? ((url) => new globalThis.WebSocket(url));
22
+ }
23
+ start() {
24
+ if (this.disposed)
25
+ return;
26
+ if (typeof globalThis.WebSocket === 'undefined' && !this.options.createSocket) {
27
+ logger.warn('ha-ws-transport: WebSocket not available');
28
+ return;
29
+ }
30
+ this.connect();
31
+ }
32
+ connect() {
33
+ if (this.disposed)
34
+ return;
35
+ try {
36
+ this.ws = this.createSocket(this.options.wsUrl);
37
+ }
38
+ catch (err) {
39
+ logger.warn(formatCompact({ op: 'ha_ws_connect_error', error: String(err) }));
40
+ this.scheduleReconnect();
41
+ return;
42
+ }
43
+ this.ws.addEventListener('open', () => {
44
+ logger.debug('ha-ws connected');
45
+ });
46
+ this.ws.addEventListener('message', (event) => {
47
+ try {
48
+ const msg = JSON.parse(String(event.data));
49
+ this.handleMessage(msg);
50
+ }
51
+ catch {
52
+ // ignore
53
+ }
54
+ });
55
+ this.ws.addEventListener('close', () => {
56
+ logger.debug('ha-ws closed');
57
+ this.scheduleReconnect();
58
+ });
59
+ this.ws.addEventListener('error', () => {
60
+ logger.warn(formatCompact({ op: 'ha_ws_error' }));
61
+ });
62
+ }
63
+ /** Test/helper: feed a parsed HA message as if received from the socket. */
64
+ handleMessage(msg) {
65
+ switch (msg.type) {
66
+ case 'auth_required':
67
+ this.send({ type: 'auth', access_token: this.options.token });
68
+ break;
69
+ case 'auth_ok':
70
+ this.subscribeEvents();
71
+ break;
72
+ case 'auth_invalid':
73
+ logger.error('ha-ws auth failed — check restToken');
74
+ this.dispose();
75
+ break;
76
+ case 'event':
77
+ this.emitStateChange(msg);
78
+ break;
79
+ }
80
+ }
81
+ subscribeEvents() {
82
+ const id = this.msgId++;
83
+ this.send({ id, type: 'subscribe_events', event_type: 'state_changed' });
84
+ logger.info(formatCompact({ op: 'ha_ws_subscribed' }));
85
+ }
86
+ emitStateChange(msg) {
87
+ const data = msg.event?.data;
88
+ if (!data?.entity_id)
89
+ return;
90
+ const newState = data.new_state?.state ?? 'unknown';
91
+ const oldState = data.old_state?.state;
92
+ if (newState === oldState)
93
+ return;
94
+ this.options.onStateChanged({
95
+ entityId: data.entity_id,
96
+ newState,
97
+ oldState,
98
+ attributes: data.new_state?.attributes ?? {},
99
+ });
100
+ }
101
+ send(data) {
102
+ if (this.ws && this.ws.readyState === OPEN) {
103
+ this.ws.send(JSON.stringify(data));
104
+ }
105
+ }
106
+ scheduleReconnect() {
107
+ if (this.disposed)
108
+ return;
109
+ const delay = this.options.reconnectDelayMs ?? RECONNECT_DELAY_MS;
110
+ this.reconnectTimer = setTimeout(() => {
111
+ this.reconnectTimer = null;
112
+ this.connect();
113
+ }, delay);
114
+ }
115
+ dispose() {
116
+ this.disposed = true;
117
+ if (this.reconnectTimer) {
118
+ clearTimeout(this.reconnectTimer);
119
+ this.reconnectTimer = null;
120
+ }
121
+ if (this.ws) {
122
+ if (this.ws.readyState === OPEN || this.ws.readyState === CONNECTING) {
123
+ this.ws.close();
124
+ }
125
+ this.ws = null;
126
+ }
127
+ }
128
+ }
129
+ export function buildWsUrl(restUrl) {
130
+ const url = new URL(restUrl);
131
+ url.protocol = url.protocol === 'https:' ? 'wss:' : 'ws:';
132
+ url.pathname = '/api/websocket';
133
+ return url.toString();
134
+ }
135
+ //# sourceMappingURL=ha-ws-transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ha-ws-transport.js","sourceRoot":"","sources":["../../../src/assistant/domains/ha-ws-transport.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * HA entity_id helpers (domain parsing shared by policy / facade / backend).
3
+ */
4
+ export declare function parseEntityDomain(entityId: string): string;
5
+ //# sourceMappingURL=home-entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"home-entity.d.ts","sourceRoot":"","sources":["../../../src/assistant/domains/home-entity.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG1D"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * HA entity_id helpers (domain parsing shared by policy / facade / backend).
3
+ */
4
+ export function parseEntityDomain(entityId) {
5
+ const dot = entityId.indexOf('.');
6
+ return dot > 0 ? entityId.slice(0, dot) : entityId;
7
+ }
8
+ //# sourceMappingURL=home-entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"home-entity.js","sourceRoot":"","sources":["../../../src/assistant/domains/home-entity.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrD,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { NotificationRouter } from '../notification-router.js';
2
+ import type { JobNotify } from '../types.js';
3
+ import { buildWsUrl, type CreateHaSocket, type HaStateChangedEvent } from './ha-ws-transport.js';
4
+ export interface HomeStateWatchOptions {
5
+ wsUrl: string;
6
+ token: string;
7
+ /** alias → entity_id (pre-resolved at bootstrap) */
8
+ entityToAlias: Map<string, string>;
9
+ debounceMs?: number;
10
+ notify: JobNotify;
11
+ router: NotificationRouter;
12
+ createSocket?: CreateHaSocket;
13
+ createTransport?: (opts: {
14
+ wsUrl: string;
15
+ token: string;
16
+ onStateChanged: (e: HaStateChangedEvent) => void;
17
+ createSocket?: CreateHaSocket;
18
+ }) => {
19
+ start(): void;
20
+ dispose(): void;
21
+ };
22
+ }
23
+ export declare class HomeStateWatch {
24
+ private readonly options;
25
+ private transport;
26
+ private debounceTimers;
27
+ private disposed;
28
+ constructor(options: HomeStateWatchOptions);
29
+ start(): void;
30
+ /** Visible for tests — simulate a transport state event. */
31
+ handleStateChanged(event: HaStateChangedEvent): void;
32
+ private debouncedNotify;
33
+ private deliver;
34
+ dispose(): void;
35
+ }
36
+ export declare function formatStateMessage(alias: string, state: string, attributes: Record<string, unknown>): string;
37
+ export { buildWsUrl };
38
+ /** Build entity→alias map from alias→entity record for watch list. */
39
+ export declare function buildWatchEntityMap(aliases: Record<string, string>, watchAliases: string[]): Map<string, string>;
40
+ //# sourceMappingURL=home-state-watch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"home-state-watch.d.ts","sourceRoot":"","sources":["../../../src/assistant/domains/home-state-watch.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAEL,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAI9B,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,EAAE,CAAC,CAAC,EAAE,mBAAmB,KAAK,IAAI,CAAC;QACjD,YAAY,CAAC,EAAE,cAAc,CAAC;KAC/B,KAAK;QAAE,KAAK,IAAI,IAAI,CAAC;QAAC,OAAO,IAAI,IAAI,CAAA;KAAE,CAAC;CAC1C;AAED,qBAAa,cAAc;IAKb,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,OAAO,CAAC,SAAS,CAAmD;IACpE,OAAO,CAAC,cAAc,CAAoD;IAC1E,OAAO,CAAC,QAAQ,CAAS;gBAEI,OAAO,EAAE,qBAAqB;IAE3D,KAAK,IAAI,IAAI;IAkCb,4DAA4D;IAC5D,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAMpD,OAAO,CAAC,eAAe;YAgBT,OAAO;IAmBrB,OAAO,IAAI,IAAI;CAOhB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,MAAM,CAOR;AAED,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,sEAAsE;AACtE,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,YAAY,EAAE,MAAM,EAAE,GACrB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAWrB"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * HomeStateWatch — alias filter, debounce, format, NotificationRouter deliver.
3
+ * Does not go through HomeFacade (system push path).
4
+ */
5
+ import { getLogger } from '@zhin.js/core';
6
+ import { formatCompact } from '@zhin.js/logger';
7
+ import { DEFAULT_DEBOUNCE_MS } from '../home-config.js';
8
+ import { HaWsTransport, buildWsUrl, } from './ha-ws-transport.js';
9
+ const logger = getLogger('home-state-watch');
10
+ export class HomeStateWatch {
11
+ options;
12
+ transport = null;
13
+ debounceTimers = new Map();
14
+ disposed = false;
15
+ constructor(options) {
16
+ this.options = options;
17
+ }
18
+ start() {
19
+ if (this.disposed)
20
+ return;
21
+ if (this.options.entityToAlias.size === 0) {
22
+ logger.info('home-state-watch: no entities, skipping');
23
+ return;
24
+ }
25
+ const onStateChanged = (event) => {
26
+ this.handleStateChanged(event);
27
+ };
28
+ if (this.options.createTransport) {
29
+ this.transport = this.options.createTransport({
30
+ wsUrl: this.options.wsUrl,
31
+ token: this.options.token,
32
+ onStateChanged,
33
+ createSocket: this.options.createSocket,
34
+ });
35
+ }
36
+ else {
37
+ this.transport = new HaWsTransport({
38
+ wsUrl: this.options.wsUrl,
39
+ token: this.options.token,
40
+ createSocket: this.options.createSocket,
41
+ onStateChanged,
42
+ });
43
+ }
44
+ this.transport.start();
45
+ logger.info(formatCompact({
46
+ op: 'home_watch_started',
47
+ entities: this.options.entityToAlias.size,
48
+ debounceMs: this.options.debounceMs ?? DEFAULT_DEBOUNCE_MS,
49
+ }));
50
+ }
51
+ /** Visible for tests — simulate a transport state event. */
52
+ handleStateChanged(event) {
53
+ const alias = this.options.entityToAlias.get(event.entityId);
54
+ if (!alias)
55
+ return;
56
+ this.debouncedNotify(alias, event.entityId, event.newState, event.attributes);
57
+ }
58
+ debouncedNotify(alias, entityId, state, attributes) {
59
+ const debounceMs = this.options.debounceMs ?? DEFAULT_DEBOUNCE_MS;
60
+ const existing = this.debounceTimers.get(entityId);
61
+ if (existing)
62
+ clearTimeout(existing);
63
+ const timer = setTimeout(() => {
64
+ this.debounceTimers.delete(entityId);
65
+ void this.deliver(alias, entityId, state, attributes);
66
+ }, debounceMs);
67
+ this.debounceTimers.set(entityId, timer);
68
+ }
69
+ async deliver(alias, entityId, state, attributes) {
70
+ const content = formatStateMessage(alias, state, attributes);
71
+ try {
72
+ await this.options.router.deliver({
73
+ notify: this.options.notify,
74
+ content,
75
+ source: 'ha-ws-watcher',
76
+ });
77
+ logger.debug(formatCompact({ op: 'ha_ws_notify', alias, entityId, state }));
78
+ }
79
+ catch (err) {
80
+ logger.warn(formatCompact({ op: 'ha_ws_notify_error', alias, error: String(err) }));
81
+ }
82
+ }
83
+ dispose() {
84
+ this.disposed = true;
85
+ for (const timer of this.debounceTimers.values())
86
+ clearTimeout(timer);
87
+ this.debounceTimers.clear();
88
+ this.transport?.dispose();
89
+ this.transport = null;
90
+ }
91
+ }
92
+ export function formatStateMessage(alias, state, attributes) {
93
+ const parts = [`设备「${alias}」状态变更: ${state}`];
94
+ if (attributes.brightness !== undefined)
95
+ parts.push(`亮度: ${attributes.brightness}`);
96
+ if (attributes.temperature !== undefined)
97
+ parts.push(`温度: ${attributes.temperature}°C`);
98
+ if (attributes.current_temperature !== undefined)
99
+ parts.push(`当前温度: ${attributes.current_temperature}°C`);
100
+ if (attributes.current_position !== undefined)
101
+ parts.push(`位置: ${attributes.current_position}%`);
102
+ return parts.join(',');
103
+ }
104
+ export { buildWsUrl };
105
+ /** Build entity→alias map from alias→entity record for watch list. */
106
+ export function buildWatchEntityMap(aliases, watchAliases) {
107
+ const map = new Map();
108
+ for (const alias of watchAliases) {
109
+ const entityId = aliases[alias.trim()];
110
+ if (!entityId) {
111
+ logger.warn(formatCompact({ op: 'ha_ws_skip_alias', alias, reason: 'unknown_alias' }));
112
+ continue;
113
+ }
114
+ map.set(entityId, alias.trim());
115
+ }
116
+ return map;
117
+ }
118
+ //# sourceMappingURL=home-state-watch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"home-state-watch.js","sourceRoot":"","sources":["../../../src/assistant/domains/home-state-watch.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,16 @@
1
1
  /**
2
- * Assistant Home Domain 配置(M4
2
+ * Assistant Home Domain 配置(仅 Home Assistant
3
3
  */
4
4
  import type { JobNotify } from './types.js';
5
+ export declare const DEFAULT_ALLOWED_SERVICE_DOMAINS: readonly ["light", "climate", "scene", "cover", "script"];
6
+ export declare const DEFAULT_DEBOUNCE_MS = 5000;
5
7
  export interface HomePolicyConfig {
6
8
  /** 仅 master 可调用 home_*(默认 true) */
7
9
  requireMaster?: boolean;
8
10
  /** 写操作需 Owner 审批的 HA domain(默认 lock、alarm_control_panel) */
9
11
  confirmServices?: string[];
12
+ /** home_call_service 允许的 domain 白名单(默认 light/climate/scene/cover/script) */
13
+ allowedServiceDomains?: string[];
10
14
  }
11
15
  export interface AssistantHomeConfig {
12
16
  enabled?: boolean;
@@ -14,20 +18,30 @@ export interface AssistantHomeConfig {
14
18
  restUrl?: string;
15
19
  /** HA 长期访问令牌 */
16
20
  restToken?: string;
17
- /** 可选:ai.mcpServers 中的名称(M4 以 REST 为主,MCP 后续扩展) */
21
+ /** 可选:ai.mcpServers 中的名称(REST 为主,MCP 仅校验) */
18
22
  mcpServer?: string;
19
23
  /** 中文/友好名 → entity_id */
20
24
  aliases?: Record<string, string>;
21
25
  policy?: HomePolicyConfig;
26
+ /** 要通过 HA WebSocket 订阅状态变化的设备别名列表 */
27
+ watch?: string[];
28
+ /** 同实体状态变化推送的防抖间隔(毫秒,默认 5000) */
29
+ debounceMs?: number;
22
30
  }
23
31
  export declare const DEFAULT_HOME_POLICY: Required<Pick<HomePolicyConfig, 'confirmServices'>>;
24
- export declare function resolveAssistantHomeConfig(raw?: AssistantHomeConfig): AssistantHomeConfig & {
32
+ export type ResolvedHomePolicyConfig = HomePolicyConfig & {
33
+ requireMaster: boolean;
34
+ confirmServices: string[];
35
+ allowedServiceDomains: string[];
36
+ };
37
+ export type ResolvedAssistantHomeConfig = AssistantHomeConfig & {
25
38
  enabled: boolean;
26
- policy: HomePolicyConfig & {
27
- requireMaster: boolean;
28
- confirmServices: string[];
29
- };
39
+ aliases: Record<string, string>;
40
+ watch: string[];
41
+ debounceMs: number;
42
+ policy: ResolvedHomePolicyConfig;
30
43
  };
44
+ export declare function resolveAssistantHomeConfig(raw?: AssistantHomeConfig): ResolvedAssistantHomeConfig;
31
45
  export declare function isAssistantHomeActive(home?: AssistantHomeConfig): boolean;
32
46
  /** 占位:Home notify 可指向 HA(M3 router ha 通道) */
33
47
  export type HomeJobNotify = Extract<JobNotify, {
@@ -1 +1 @@
1
- {"version":3,"file":"home-config.d.ts","sourceRoot":"","sources":["../../src/assistant/home-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4DAA4D;IAC5D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAEnF,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,GAAG,CAAC,EAAE,mBAAmB,GACxB,mBAAmB,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,gBAAgB,GAAG;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAAE,CAY9H;AAED,wBAAgB,qBAAqB,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAGzE;AAED,6CAA6C;AAC7C,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"home-config.d.ts","sourceRoot":"","sources":["../../src/assistant/home-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,eAAO,MAAM,+BAA+B,2DAA4D,CAAC;AACzG,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4DAA4D;IAC5D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,4EAA4E;IAC5E,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAEnF,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,gBAAgB,GAAG;IACxD,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,mBAAmB,GAAG;IAC9D,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,wBAAwB,CAAC;CAClC,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,GAAG,CAAC,EAAE,mBAAmB,GAAG,2BAA2B,CAejG;AAED,wBAAgB,qBAAqB,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAGzE;AAED,6CAA6C;AAC7C,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,CAAC,CAAC"}
@@ -1,3 +1,5 @@
1
+ export const DEFAULT_ALLOWED_SERVICE_DOMAINS = ['light', 'climate', 'scene', 'cover', 'script'];
2
+ export const DEFAULT_DEBOUNCE_MS = 5000;
1
3
  export const DEFAULT_HOME_POLICY = {
2
4
  confirmServices: ['lock', 'alarm_control_panel'],
3
5
  };
@@ -8,9 +10,12 @@ export function resolveAssistantHomeConfig(raw) {
8
10
  restToken: raw?.restToken,
9
11
  mcpServer: raw?.mcpServer,
10
12
  aliases: raw?.aliases ?? {},
13
+ watch: raw?.watch ?? [],
14
+ debounceMs: raw?.debounceMs ?? DEFAULT_DEBOUNCE_MS,
11
15
  policy: {
12
16
  requireMaster: raw?.policy?.requireMaster !== false,
13
17
  confirmServices: raw?.policy?.confirmServices ?? DEFAULT_HOME_POLICY.confirmServices,
18
+ allowedServiceDomains: raw?.policy?.allowedServiceDomains ?? [...DEFAULT_ALLOWED_SERVICE_DOMAINS],
14
19
  },
15
20
  };
16
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"home-config.js","sourceRoot":"","sources":["../../src/assistant/home-config.ts"],"names":[],"mappings":"AAyBA,MAAM,CAAC,MAAM,mBAAmB,GAAwD;IACtF,eAAe,EAAE,CAAC,MAAM,EAAE,qBAAqB,CAAC;CACjD,CAAC;AAEF,MAAM,UAAU,0BAA0B,CACxC,GAAyB;IAEzB,OAAO;QACL,OAAO,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI;QAC9B,OAAO,EAAE,GAAG,EAAE,OAAO;QACrB,SAAS,EAAE,GAAG,EAAE,SAAS;QACzB,SAAS,EAAE,GAAG,EAAE,SAAS;QACzB,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,EAAE;QAC3B,MAAM,EAAE;YACN,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,KAAK,KAAK;YACnD,eAAe,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,IAAI,mBAAmB,CAAC,eAAe;SACrF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAA0B;IAC9D,MAAM,GAAG,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"home-config.js","sourceRoot":"","sources":["../../src/assistant/home-config.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AACzG,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AA4BxC,MAAM,CAAC,MAAM,mBAAmB,GAAwD;IACtF,eAAe,EAAE,CAAC,MAAM,EAAE,qBAAqB,CAAC;CACjD,CAAC;AAgBF,MAAM,UAAU,0BAA0B,CAAC,GAAyB;IAClE,OAAO;QACL,OAAO,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI;QAC9B,OAAO,EAAE,GAAG,EAAE,OAAO;QACrB,SAAS,EAAE,GAAG,EAAE,SAAS;QACzB,SAAS,EAAE,GAAG,EAAE,SAAS;QACzB,OAAO,EAAE,GAAG,EAAE,OAAO,IAAI,EAAE;QAC3B,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE;QACvB,UAAU,EAAE,GAAG,EAAE,UAAU,IAAI,mBAAmB;QAClD,MAAM,EAAE;YACN,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,KAAK,KAAK;YACnD,eAAe,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,IAAI,mBAAmB,CAAC,eAAe;YACpF,qBAAqB,EAAE,GAAG,EAAE,MAAM,EAAE,qBAAqB,IAAI,CAAC,GAAG,+BAA+B,CAAC;SAClG;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAA0B;IAC9D,MAAM,GAAG,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;AAC9D,CAAC"}