@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
@@ -0,0 +1,73 @@
1
+ /**
2
+ * HomeFacade — 别名解析 + 权限 + 意图(tools 薄封装此门面)
3
+ */
4
+ import type { HaHomeBackend, HaEntityState, HaServiceResult } from './domains/ha-home-backend.js';
5
+ import type { ResolvedHomePolicyConfig } from './home-config.js';
6
+ import { type HomePrincipal } from './home-policy.js';
7
+ export type HomeFacadeOk<T> = {
8
+ ok: true;
9
+ value: T;
10
+ };
11
+ export type HomeFacadeFail = {
12
+ ok: false;
13
+ kind: 'deny' | 'needs_owner' | 'invalid';
14
+ message: string;
15
+ };
16
+ export type HomeFacadeResult<T> = HomeFacadeOk<T> | HomeFacadeFail;
17
+ export interface HomeFacadeOptions {
18
+ backend: HaHomeBackend;
19
+ policy: ResolvedHomePolicyConfig;
20
+ }
21
+ export declare function mapFacadeFailToToolError(result: HomeFacadeFail): {
22
+ error: string;
23
+ };
24
+ export declare class HomeFacade {
25
+ private readonly options;
26
+ constructor(options: HomeFacadeOptions);
27
+ private authorize;
28
+ private resolve;
29
+ listAliases(principal: HomePrincipal): Promise<HomeFacadeResult<{
30
+ aliases: string[];
31
+ count: number;
32
+ } | {
33
+ aliases: Record<string, never>;
34
+ message: string;
35
+ }>>;
36
+ getState(alias: string, principal: HomePrincipal): Promise<HomeFacadeResult<HaEntityState & {
37
+ alias: string;
38
+ }>>;
39
+ turnOn(alias: string, principal: HomePrincipal): Promise<HomeFacadeResult<HaServiceResult & {
40
+ message: string;
41
+ }>>;
42
+ turnOff(alias: string, principal: HomePrincipal): Promise<HomeFacadeResult<HaServiceResult & {
43
+ message: string;
44
+ }>>;
45
+ setBrightness(alias: string, brightness: number, principal: HomePrincipal): Promise<HomeFacadeResult<{
46
+ alias: string;
47
+ brightness: number;
48
+ message: string;
49
+ }>>;
50
+ setTemperature(alias: string, temperature: number, principal: HomePrincipal): Promise<HomeFacadeResult<{
51
+ alias: string;
52
+ temperature: number;
53
+ message: string;
54
+ }>>;
55
+ activateScene(alias: string, principal: HomePrincipal): Promise<HomeFacadeResult<{
56
+ alias: string;
57
+ domain: string;
58
+ message: string;
59
+ }>>;
60
+ setCoverPosition(alias: string, position: number, principal: HomePrincipal): Promise<HomeFacadeResult<{
61
+ alias: string;
62
+ position: number;
63
+ message: string;
64
+ }>>;
65
+ callService(alias: string, service: string, data: Record<string, unknown> | undefined, principal: HomePrincipal): Promise<HomeFacadeResult<{
66
+ alias: string;
67
+ domain: string;
68
+ service: string;
69
+ message: string;
70
+ }>>;
71
+ private writeIntent;
72
+ }
73
+ //# sourceMappingURL=home-facade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"home-facade.d.ts","sourceRoot":"","sources":["../../src/assistant/home-facade.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ import { parseEntityDomain } from './domains/home-entity.js';
2
+ import { checkHomeToolAccess, toHomeDenyError, toHomeOwnerSignal, } from './home-policy.js';
3
+ function fail(kind, message) {
4
+ return { ok: false, kind, message };
5
+ }
6
+ function fromAccess(decision) {
7
+ if (decision.allowed)
8
+ return null;
9
+ if (decision.needsOwnerApproval) {
10
+ return fail('needs_owner', toHomeOwnerSignal(decision));
11
+ }
12
+ return fail('deny', toHomeDenyError(decision));
13
+ }
14
+ export function mapFacadeFailToToolError(result) {
15
+ return { error: result.message };
16
+ }
17
+ export class HomeFacade {
18
+ options;
19
+ constructor(options) {
20
+ this.options = options;
21
+ }
22
+ authorize(operation, entityId, principal) {
23
+ return fromAccess(checkHomeToolAccess(operation, entityId, principal, this.options.policy));
24
+ }
25
+ resolve(alias) {
26
+ try {
27
+ return { entityId: this.options.backend.resolveAlias(alias) };
28
+ }
29
+ catch (e) {
30
+ return fail('invalid', e.message);
31
+ }
32
+ }
33
+ async listAliases(principal) {
34
+ const gate = this.authorize('read', 'light.__list__', principal);
35
+ if (gate)
36
+ return gate;
37
+ const names = Object.keys(this.options.backend.listAliases());
38
+ if (names.length === 0) {
39
+ return { ok: true, value: { aliases: {}, message: '未配置任何设备别名' } };
40
+ }
41
+ return { ok: true, value: { aliases: names, count: names.length } };
42
+ }
43
+ async getState(alias, principal) {
44
+ const resolved = this.resolve(alias);
45
+ if ('ok' in resolved && resolved.ok === false)
46
+ return resolved;
47
+ const { entityId } = resolved;
48
+ const gate = this.authorize('read', entityId, principal);
49
+ if (gate)
50
+ return gate;
51
+ try {
52
+ const state = await this.options.backend.getState(alias);
53
+ return { ok: true, value: { ...state, alias } };
54
+ }
55
+ catch (e) {
56
+ return fail('invalid', e.message);
57
+ }
58
+ }
59
+ async turnOn(alias, principal) {
60
+ return this.writeIntent(alias, principal, async () => {
61
+ const result = await this.options.backend.turnOn(alias);
62
+ return { ...result, message: `已执行 ${result.service}` };
63
+ });
64
+ }
65
+ async turnOff(alias, principal) {
66
+ return this.writeIntent(alias, principal, async () => {
67
+ const result = await this.options.backend.turnOff(alias);
68
+ return { ...result, message: `已执行 ${result.service}` };
69
+ });
70
+ }
71
+ async setBrightness(alias, brightness, principal) {
72
+ if (isNaN(brightness) || brightness < 0 || brightness > 255) {
73
+ return fail('invalid', 'brightness 须为 0–255');
74
+ }
75
+ return this.writeIntent(alias, principal, async () => {
76
+ await this.options.backend.callService(alias, 'turn_on', { brightness });
77
+ return { alias, brightness, message: `已设置亮度 ${brightness}` };
78
+ });
79
+ }
80
+ async setTemperature(alias, temperature, principal) {
81
+ if (isNaN(temperature))
82
+ return fail('invalid', 'temperature 须为数字');
83
+ return this.writeIntent(alias, principal, async () => {
84
+ await this.options.backend.callService(alias, 'set_temperature', { temperature });
85
+ return { alias, temperature, message: `已设置温度 ${temperature}°C` };
86
+ });
87
+ }
88
+ async activateScene(alias, principal) {
89
+ const resolved = this.resolve(alias);
90
+ if ('ok' in resolved && resolved.ok === false)
91
+ return resolved;
92
+ const { entityId } = resolved;
93
+ const domain = parseEntityDomain(entityId);
94
+ if (domain !== 'scene' && domain !== 'script') {
95
+ return fail('invalid', `别名 "${alias}" 对应 ${domain},不是 scene 或 script`);
96
+ }
97
+ return this.writeIntent(alias, principal, async () => {
98
+ await this.options.backend.callService(alias, 'turn_on');
99
+ return { alias, domain, message: `已触发 ${domain} "${alias}"` };
100
+ });
101
+ }
102
+ async setCoverPosition(alias, position, principal) {
103
+ if (isNaN(position) || position < 0 || position > 100) {
104
+ return fail('invalid', 'position 须为 0–100');
105
+ }
106
+ return this.writeIntent(alias, principal, async () => {
107
+ await this.options.backend.callService(alias, 'set_cover_position', { position });
108
+ return { alias, position, message: `已设置窗帘位置 ${position}%` };
109
+ });
110
+ }
111
+ async callService(alias, service, data, principal) {
112
+ if (!service.trim())
113
+ return fail('invalid', 'service 必填');
114
+ const resolved = this.resolve(alias);
115
+ if ('ok' in resolved && resolved.ok === false)
116
+ return resolved;
117
+ const { entityId } = resolved;
118
+ const domain = parseEntityDomain(entityId);
119
+ const allowed = this.options.policy.allowedServiceDomains;
120
+ if (!allowed.includes(domain)) {
121
+ return fail('deny', `domain "${domain}" 不在允许的白名单中(允许: ${allowed.join(', ')})`);
122
+ }
123
+ return this.writeIntent(alias, principal, async () => {
124
+ await this.options.backend.callService(alias, service, data);
125
+ return { alias, domain, service, message: `已执行 ${domain}.${service}` };
126
+ });
127
+ }
128
+ async writeIntent(alias, principal, run) {
129
+ const resolved = this.resolve(alias);
130
+ if ('ok' in resolved && resolved.ok === false)
131
+ return resolved;
132
+ const { entityId } = resolved;
133
+ const gate = this.authorize('write', entityId, principal);
134
+ if (gate)
135
+ return gate;
136
+ try {
137
+ return { ok: true, value: await run() };
138
+ }
139
+ catch (e) {
140
+ return fail('invalid', e.message);
141
+ }
142
+ }
143
+ }
144
+ //# sourceMappingURL=home-facade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"home-facade.js","sourceRoot":"","sources":["../../src/assistant/home-facade.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Home Domain 工具权限(M4)
3
3
  */
4
- import { type Message } from '@zhin.js/core';
4
+ import type { ToolInvocationContext } from '@zhin.js/tool';
5
5
  import { type ToolRequesterRole } from '../security/owner-approve-always-store.js';
6
6
  import type { HomePolicyConfig } from './home-config.js';
7
7
  export interface HomeToolDecision {
@@ -10,7 +10,8 @@ export interface HomeToolDecision {
10
10
  reason?: string;
11
11
  role: ToolRequesterRole;
12
12
  }
13
- export declare function checkHomeToolAccess(operation: 'read' | 'write', entityId: string, commMessage: Message | undefined, policy: HomePolicyConfig & {
13
+ export type HomePrincipal = ToolInvocationContext['principal'];
14
+ export declare function checkHomeToolAccess(operation: 'read' | 'write', entityId: string, principal: HomePrincipal, policy: HomePolicyConfig & {
14
15
  requireMaster: boolean;
15
16
  confirmServices: string[];
16
17
  }): HomeToolDecision;
@@ -1 +1 @@
1
- {"version":3,"file":"home-policy.d.ts","sourceRoot":"","sources":["../../src/assistant/home-policy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAsG,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AACjJ,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,iBAAiB,CAAC;CACzB;AA+BD,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,GAAG,OAAO,EAC3B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,GAAG,SAAS,EAChC,MAAM,EAAE,gBAAgB,GAAG;IAAE,aAAa,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,GAC/E,gBAAgB,CAsBlB;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAEpE;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAElE"}
1
+ {"version":3,"file":"home-policy.d.ts","sourceRoot":"","sources":["../../src/assistant/home-policy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;AAQ/D,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,GAAG,OAAO,EAC3B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,gBAAgB,GAAG;IAAE,aAAa,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,GAC/E,gBAAgB,CAsBlB;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAEpE;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAElE"}
@@ -1,41 +1,13 @@
1
- /**
2
- * Home Domain 工具权限(M4)
3
- */
4
- import { getHostRootPlugin, hasSenderRole, mergeAITriggerConfig, resolveSenderRoles, senderRolesFromMessage } from '@zhin.js/core';
5
- import { resolveToolRequesterRole, } from '../security/owner-approve-always-store.js';
6
- import { parseEntityDomain } from './domains/home-assistant.js';
7
- function resolveRole(commMessage) {
8
- if (!commMessage?.$adapter || !commMessage?.$endpoint || !commMessage?.$sender?.id) {
9
- return 'unknown';
10
- }
11
- if (commMessage.$adapter === 'process')
1
+ import { parseEntityDomain } from './domains/home-entity.js';
2
+ function resolveRole(principal) {
3
+ if (principal.roles.includes('master'))
12
4
  return 'master';
13
- const host = getHostRootPlugin();
14
- if (host) {
15
- return resolveToolRequesterRole(host, commMessage);
16
- }
17
- if (commMessage.$sender.isMaster !== undefined || commMessage.$sender.isTrusted !== undefined) {
18
- const roles = senderRolesFromMessage(commMessage);
19
- if (hasSenderRole(roles, 'master'))
20
- return 'master';
21
- if (hasSenderRole(roles, 'trusted'))
22
- return 'trusted';
23
- return 'other';
24
- }
25
- try {
26
- const { roles } = resolveSenderRoles(commMessage, mergeAITriggerConfig({}), undefined);
27
- if (hasSenderRole(roles, 'master'))
28
- return 'master';
29
- if (hasSenderRole(roles, 'trusted'))
30
- return 'trusted';
31
- return 'other';
32
- }
33
- catch {
34
- return 'other';
35
- }
5
+ if (principal.roles.includes('trusted'))
6
+ return 'trusted';
7
+ return 'other';
36
8
  }
37
- export function checkHomeToolAccess(operation, entityId, commMessage, policy) {
38
- const role = resolveRole(commMessage);
9
+ export function checkHomeToolAccess(operation, entityId, principal, policy) {
10
+ const role = resolveRole(principal);
39
11
  const domain = parseEntityDomain(entityId);
40
12
  if (policy.requireMaster && role !== 'master') {
41
13
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"home-policy.js","sourceRoot":"","sources":["../../src/assistant/home-policy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,sBAAsB,EAAgB,MAAM,eAAe,CAAC;AACjJ,OAAO,EACL,wBAAwB,GAEzB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAQhE,SAAS,WAAW,CAAC,WAAqB;IACxC,IAAI,CAAC,WAAW,EAAE,QAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACnF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACxD,MAAM,IAAI,GAAG,iBAAiB,EAAE,CAAC;IACjC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,wBAAwB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,WAAW,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAC9F,MAAM,KAAK,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;QAClD,IAAI,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;QACpD,IAAI,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QACtD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAClC,WAAW,EACX,oBAAoB,CAAC,EAAE,CAAC,EACxB,SAAS,CACV,CAAC;QACF,IAAI,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;QACpD,IAAI,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QACtD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,SAA2B,EAC3B,QAAgB,EAChB,WAAgC,EAChC,MAAgF;IAEhF,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAE3C,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO;YACL,OAAO,EAAE,KAAK;YACd,IAAI;YACJ,MAAM,EAAE,qCAAqC;SAC9C,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,KAAK,OAAO,IAAI,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,kBAAkB,EAAE,IAAI;YACxB,IAAI;YACJ,MAAM,EAAE,IAAI,MAAM,iCAAiC,QAAQ,IAAI;SAChE,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAA0B;IAC1D,OAAO,sBAAsB,QAAQ,CAAC,MAAM,IAAI,sBAAsB,EAAE,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAA0B;IACxD,OAAO,UAAU,QAAQ,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"home-policy.js","sourceRoot":"","sources":["../../src/assistant/home-policy.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAU7D,SAAS,WAAW,CAAC,SAAwB;IAC3C,IAAI,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxD,IAAI,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,SAA2B,EAC3B,QAAgB,EAChB,SAAwB,EACxB,MAAgF;IAEhF,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAE3C,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO;YACL,OAAO,EAAE,KAAK;YACd,IAAI;YACJ,MAAM,EAAE,qCAAqC;SAC9C,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,KAAK,OAAO,IAAI,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,kBAAkB,EAAE,IAAI;YACxB,IAAI;YACJ,MAAM,EAAE,IAAI,MAAM,iCAAiC,QAAQ,IAAI;SAChE,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAA0B;IAC1D,OAAO,sBAAsB,QAAQ,CAAC,MAAM,IAAI,sBAAsB,EAAE,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAA0B;IACxD,OAAO,UAAU,QAAQ,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;AACrD,CAAC"}
@@ -1,15 +1,12 @@
1
- /**
2
- * home_* 工具 薄封装 HomeAssistantService(M4)
3
- */
4
- import { ZhinTool } from '@zhin.js/core';
5
- import type { HomeAssistantService } from './domains/home-assistant.js';
6
- import type { HomePolicyConfig } from './home-config.js';
1
+ /** Canonical home_* Tool definitions. No IM Message compatibility surface. */
2
+ import { type AgentToolDefinition } from '@zhin.js/tool';
3
+ import { HomeFacade } from './home-facade.js';
7
4
  export interface HomeToolsOptions {
8
- service: HomeAssistantService;
9
- policy: HomePolicyConfig & {
10
- requireMaster: boolean;
11
- confirmServices: string[];
12
- };
5
+ facade: HomeFacade;
13
6
  }
14
- export declare function createHomeTools(options: HomeToolsOptions): ZhinTool[];
7
+ export interface HomeToolRegistration {
8
+ readonly name: string;
9
+ readonly definition: Readonly<AgentToolDefinition<Record<string, unknown>, unknown>>;
10
+ }
11
+ export declare function createHomeTools(options: HomeToolsOptions): readonly HomeToolRegistration[];
15
12
  //# sourceMappingURL=home-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"home-tools.d.ts","sourceRoot":"","sources":["../../src/assistant/home-tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAmC,MAAM,eAAe,CAAC;AAC1E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAQzD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,oBAAoB,CAAC;IAC9B,MAAM,EAAE,gBAAgB,GAAG;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAClF;AAwCD,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,QAAQ,EAAE,CA8FrE"}
1
+ {"version":3,"file":"home-tools.d.ts","sourceRoot":"","sources":["../../src/assistant/home-tools.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,OAAO,EAEL,KAAK,mBAAmB,EAEzB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,UAAU,EAGX,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;CACtF;AA8BD,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,oBAAoB,EAAE,CAmH1F"}
@@ -1,143 +1,102 @@
1
- /**
2
- * home_* 工具 薄封装 HomeAssistantService(M4)
3
- */
4
- import { ZhinTool, getHostRootPlugin } from '@zhin.js/core';
5
- import { checkHomeToolAccess, toHomeDenyError, toHomeOwnerSignal, } from './home-policy.js';
6
- import { resolveToolRequesterRole } from '../security/owner-approve-always-store.js';
7
- function guard(operation, entityId, commMessage, policy) {
8
- const decision = checkHomeToolAccess(operation, entityId, commMessage, policy);
9
- return formatGuardResult(decision);
1
+ /** Canonical home_* Tool definitions. No IM Message compatibility surface. */
2
+ import { defineAgentTool, } from '@zhin.js/tool';
3
+ import { mapFacadeFailToToolError, } from './home-facade.js';
4
+ function toToolResult(result) {
5
+ if (!result.ok)
6
+ return mapFacadeFailToToolError(result);
7
+ return result.value;
10
8
  }
11
- function guardMasterOnly(commMessage, policy) {
12
- if (!policy.requireMaster || !commMessage?.$adapter || !commMessage?.$endpoint || !commMessage?.$sender?.id) {
13
- return null;
14
- }
15
- try {
16
- const host = getHostRootPlugin();
17
- if (!host)
18
- return null;
19
- const role = resolveToolRequesterRole(host, commMessage);
20
- if (role === 'master')
21
- return null;
22
- return toHomeDenyError({
23
- allowed: false,
24
- role,
25
- reason: '智能家居操作仅允许 Endpoint Owner(master)调用。',
26
- });
27
- }
28
- catch {
29
- return null;
30
- }
9
+ function schema(properties = {}, required = []) {
10
+ return Object.freeze({ type: 'object', properties: Object.freeze(properties), required: Object.freeze([...required]) });
31
11
  }
32
- function formatGuardResult(decision) {
33
- if (decision.allowed)
34
- return null;
35
- if (decision.needsOwnerApproval)
36
- return toHomeOwnerSignal(decision);
37
- return toHomeDenyError(decision);
12
+ function registration(name, description, inputSchema, execute) {
13
+ return Object.freeze({
14
+ name,
15
+ definition: defineAgentTool({
16
+ description,
17
+ inputSchema,
18
+ execute,
19
+ }),
20
+ });
38
21
  }
39
22
  export function createHomeTools(options) {
40
- const { service, policy } = options;
41
- const listAliases = new ZhinTool('home_list_aliases')
42
- .desc('列出已配置的智能家居设备别名(不暴露原始 entity_id 给用户层)')
43
- .keyword('智能家居', '设备列表', 'home list', '别名')
44
- .tag('home', 'assistant')
45
- .execute(async (_args, commMessage) => {
46
- const aliases = service.listAliases();
47
- const names = Object.keys(aliases);
48
- if (names.length === 0)
49
- return { aliases: {}, message: '未配置任何设备别名' };
50
- const listErr = guardMasterOnly(commMessage, policy);
51
- if (listErr)
52
- return { error: listErr };
53
- return { aliases: names, count: names.length };
54
- });
55
- const getState = new ZhinTool('home_get_state')
56
- .desc('读取智能家居设备状态(使用配置别名,如「客厅灯」)')
57
- .keyword('设备状态', '灯状态', 'home state', '查询')
58
- .tag('home', 'assistant')
59
- .param('alias', { type: 'string', description: '设备别名(zhin.config.yml assistant.home.aliases 中配置)' }, true)
60
- .execute(async (args, commMessage) => {
61
- const alias = String(args.alias ?? '').trim();
62
- if (!alias)
63
- return { error: 'alias 必填' };
64
- let entityId;
65
- try {
66
- entityId = service.resolveAlias(alias);
67
- }
68
- catch (e) {
69
- return { error: e.message };
70
- }
71
- const err = guard('read', entityId, commMessage, policy);
72
- if (err)
73
- return { error: err };
74
- try {
75
- const state = await service.getState(alias);
23
+ const { facade } = options;
24
+ const aliasProperty = { type: 'string', description: '设备别名' };
25
+ return Object.freeze([
26
+ registration('home_list_aliases', '列出已配置的智能家居设备别名(不暴露原始 entity_id 给用户层)', schema(), async (_input, context) => toToolResult(await facade.listAliases(context.principal))),
27
+ registration('home_get_state', '读取智能家居设备状态(使用配置别名,如「客厅灯」)', schema({ alias: aliasProperty }, ['alias']), async (input, context) => {
28
+ const alias = String(input.alias ?? '').trim();
29
+ if (!alias)
30
+ return { error: 'alias 必填' };
31
+ const result = await facade.getState(alias, context.principal);
32
+ if (!result.ok)
33
+ return mapFacadeFailToToolError(result);
76
34
  return {
77
- alias,
78
- state: state.state,
79
- attributes: state.attributes,
80
- lastUpdated: state.lastUpdated,
35
+ alias: result.value.alias,
36
+ state: result.value.state,
37
+ attributes: result.value.attributes,
38
+ lastUpdated: result.value.lastUpdated,
81
39
  };
82
- }
83
- catch (e) {
84
- return { error: e.message };
85
- }
86
- });
87
- const turnOn = new ZhinTool('home_turn_on')
88
- .desc('打开/开启智能家居设备(别名,如「客厅灯」)')
89
- .keyword('开灯', '打开', 'home on', 'turn on')
90
- .tag('home', 'assistant')
91
- .param('alias', { type: 'string', description: '设备别名' }, true)
92
- .execute(async (args, commMessage) => {
93
- const alias = String(args.alias ?? '').trim();
94
- if (!alias)
95
- return { error: 'alias 必填' };
96
- let entityId;
97
- try {
98
- entityId = service.resolveAlias(alias);
99
- }
100
- catch (e) {
101
- return { error: e.message };
102
- }
103
- const err = guard('write', entityId, commMessage, policy);
104
- if (err)
105
- return { error: err };
106
- try {
107
- const result = await service.turnOn(alias);
108
- return { success: true, ...result, message: `已执行 ${result.service}` };
109
- }
110
- catch (e) {
111
- return { error: e.message };
112
- }
113
- });
114
- const turnOff = new ZhinTool('home_turn_off')
115
- .desc('关闭智能家居设备(别名,如「客厅灯」)')
116
- .keyword('关灯', '关闭', 'home off', 'turn off')
117
- .tag('home', 'assistant')
118
- .param('alias', { type: 'string', description: '设备别名' }, true)
119
- .execute(async (args, commMessage) => {
120
- const alias = String(args.alias ?? '').trim();
121
- if (!alias)
122
- return { error: 'alias 必填' };
123
- let entityId;
124
- try {
125
- entityId = service.resolveAlias(alias);
126
- }
127
- catch (e) {
128
- return { error: e.message };
129
- }
130
- const err = guard('write', entityId, commMessage, policy);
131
- if (err)
132
- return { error: err };
133
- try {
134
- const result = await service.turnOff(alias);
135
- return { success: true, ...result, message: `已执行 ${result.service}` };
136
- }
137
- catch (e) {
138
- return { error: e.message };
139
- }
140
- });
141
- return [listAliases, getState, turnOn, turnOff];
40
+ }),
41
+ registration('home_turn_on', '打开/开启智能家居设备(别名,如「客厅灯」)', schema({ alias: aliasProperty }, ['alias']), async (input, context) => {
42
+ const alias = String(input.alias ?? '').trim();
43
+ if (!alias)
44
+ return { error: 'alias 必填' };
45
+ const result = await facade.turnOn(alias, context.principal);
46
+ return result.ok ? { success: true, ...result.value } : mapFacadeFailToToolError(result);
47
+ }),
48
+ registration('home_turn_off', '关闭智能家居设备(别名,如「客厅灯」)', schema({ alias: aliasProperty }, ['alias']), async (input, context) => {
49
+ const alias = String(input.alias ?? '').trim();
50
+ if (!alias)
51
+ return { error: 'alias 必填' };
52
+ const result = await facade.turnOff(alias, context.principal);
53
+ return result.ok ? { success: true, ...result.value } : mapFacadeFailToToolError(result);
54
+ }),
55
+ registration('home_set_brightness', '设置灯光亮度(0–255,使用配置别名)', schema({ alias: aliasProperty, brightness: { type: 'number', description: '亮度值 0–255' } }, ['alias', 'brightness']), async (input, context) => {
56
+ const alias = String(input.alias ?? '').trim();
57
+ if (!alias)
58
+ return { error: 'alias 必填' };
59
+ const result = await facade.setBrightness(alias, Number(input.brightness), context.principal);
60
+ return result.ok ? { success: true, ...result.value } : mapFacadeFailToToolError(result);
61
+ }),
62
+ registration('home_set_temperature', '设置温控目标温度(使用配置别名)', schema({ alias: aliasProperty, temperature: { type: 'number', description: '目标温度(摄氏度)' } }, ['alias', 'temperature']), async (input, context) => {
63
+ const alias = String(input.alias ?? '').trim();
64
+ if (!alias)
65
+ return { error: 'alias 必填' };
66
+ const result = await facade.setTemperature(alias, Number(input.temperature), context.principal);
67
+ return result.ok ? { success: true, ...result.value } : mapFacadeFailToToolError(result);
68
+ }),
69
+ registration('home_activate_scene', '触发 HA 场景或脚本(使用配置别名)', schema({ alias: { type: 'string', description: '场景/脚本别名' } }, ['alias']), async (input, context) => {
70
+ const alias = String(input.alias ?? '').trim();
71
+ if (!alias)
72
+ return { error: 'alias 必填' };
73
+ const result = await facade.activateScene(alias, context.principal);
74
+ return result.ok ? { success: true, ...result.value } : mapFacadeFailToToolError(result);
75
+ }),
76
+ registration('home_set_cover_position', '设置窗帘位置(0=关闭 100=全开,使用配置别名)', schema({ alias: aliasProperty, position: { type: 'number', description: '位置 0–100' } }, ['alias', 'position']), async (input, context) => {
77
+ const alias = String(input.alias ?? '').trim();
78
+ if (!alias)
79
+ return { error: 'alias 必填' };
80
+ const result = await facade.setCoverPosition(alias, Number(input.position), context.principal);
81
+ return result.ok ? { success: true, ...result.value } : mapFacadeFailToToolError(result);
82
+ }),
83
+ registration('home_call_service', '通用 HA 服务调用(受 domain 白名单约束,仅接受别名)', schema({
84
+ alias: aliasProperty,
85
+ service: { type: 'string', description: 'HA 服务名(如 turn_on, set_temperature)' },
86
+ data: { type: 'object', description: '服务参数(可选)' },
87
+ }, ['alias', 'service']), async (input, context) => {
88
+ const alias = String(input.alias ?? '').trim();
89
+ const service = String(input.service ?? '').trim();
90
+ if (!alias)
91
+ return { error: 'alias 必填' };
92
+ if (!service)
93
+ return { error: 'service 必填' };
94
+ const data = input.data && typeof input.data === 'object'
95
+ ? input.data
96
+ : undefined;
97
+ const result = await facade.callService(alias, service, data, context.principal);
98
+ return result.ok ? { success: true, ...result.value } : mapFacadeFailToToolError(result);
99
+ }),
100
+ ]);
142
101
  }
143
102
  //# sourceMappingURL=home-tools.js.map