@zhin.js/agent 1.0.2 → 1.0.4

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 (616) hide show
  1. package/README.md +26 -0
  2. package/lib/activity-feedback/adapter-integration.d.ts +1 -0
  3. package/lib/activity-feedback/adapter-integration.d.ts.map +1 -1
  4. package/lib/activity-feedback/adapter-integration.js +11 -3
  5. package/lib/activity-feedback/adapter-integration.js.map +1 -1
  6. package/lib/activity-feedback/ai-bus.d.ts +20 -0
  7. package/lib/activity-feedback/ai-bus.d.ts.map +1 -0
  8. package/lib/activity-feedback/ai-bus.js +42 -0
  9. package/lib/activity-feedback/ai-bus.js.map +1 -0
  10. package/lib/activity-feedback/config-resolver.d.ts.map +1 -1
  11. package/lib/activity-feedback/config-resolver.js +34 -5
  12. package/lib/activity-feedback/config-resolver.js.map +1 -1
  13. package/lib/activity-feedback/event-context.d.ts.map +1 -1
  14. package/lib/activity-feedback/event-context.js +4 -0
  15. package/lib/activity-feedback/event-context.js.map +1 -1
  16. package/lib/activity-feedback/index.d.ts +1 -0
  17. package/lib/activity-feedback/index.d.ts.map +1 -1
  18. package/lib/activity-feedback/index.js +1 -0
  19. package/lib/activity-feedback/index.js.map +1 -1
  20. package/lib/agent-prompt/registry.d.ts.map +1 -1
  21. package/lib/agent-prompt/registry.js +2 -2
  22. package/lib/agent-prompt/registry.js.map +1 -1
  23. package/lib/agent-prompt/resolver.d.ts.map +1 -1
  24. package/lib/agent-prompt/resolver.js +2 -2
  25. package/lib/agent-prompt/resolver.js.map +1 -1
  26. package/lib/ai-event-subscriber.d.ts +10 -0
  27. package/lib/ai-event-subscriber.d.ts.map +1 -1
  28. package/lib/ai-event-subscriber.js +32 -6
  29. package/lib/ai-event-subscriber.js.map +1 -1
  30. package/lib/ai-hook-handlers.d.ts +8 -0
  31. package/lib/ai-hook-handlers.d.ts.map +1 -0
  32. package/lib/ai-hook-handlers.js +46 -0
  33. package/lib/ai-hook-handlers.js.map +1 -0
  34. package/lib/ai-hook-runtime-bus.d.ts +19 -0
  35. package/lib/ai-hook-runtime-bus.d.ts.map +1 -0
  36. package/lib/ai-hook-runtime-bus.js +41 -0
  37. package/lib/ai-hook-runtime-bus.js.map +1 -0
  38. package/lib/aop/index.d.ts +7 -5
  39. package/lib/aop/index.d.ts.map +1 -1
  40. package/lib/aop/index.js +6 -5
  41. package/lib/aop/index.js.map +1 -1
  42. package/lib/assistant/deliver-schedule-to-adapter.d.ts +21 -0
  43. package/lib/assistant/deliver-schedule-to-adapter.d.ts.map +1 -0
  44. package/lib/assistant/deliver-schedule-to-adapter.js +19 -0
  45. package/lib/assistant/deliver-schedule-to-adapter.js.map +1 -0
  46. package/lib/assistant/domains/home-assistant.js +2 -2
  47. package/lib/assistant/domains/home-assistant.js.map +1 -1
  48. package/lib/assistant/event-ingress.js +2 -2
  49. package/lib/assistant/event-ingress.js.map +1 -1
  50. package/lib/assistant/index.d.ts +1 -1
  51. package/lib/assistant/index.d.ts.map +1 -1
  52. package/lib/assistant/index.js +1 -1
  53. package/lib/assistant/index.js.map +1 -1
  54. package/lib/assistant/job-engine.js +2 -2
  55. package/lib/assistant/job-engine.js.map +1 -1
  56. package/lib/assistant/job-store.js +2 -2
  57. package/lib/assistant/job-store.js.map +1 -1
  58. package/lib/assistant/job-worker.js +2 -2
  59. package/lib/assistant/job-worker.js.map +1 -1
  60. package/lib/assistant/notification-router.d.ts.map +1 -1
  61. package/lib/assistant/notification-router.js +2 -2
  62. package/lib/assistant/notification-router.js.map +1 -1
  63. package/lib/assistant/runtime-registry.d.ts +2 -0
  64. package/lib/assistant/runtime-registry.d.ts.map +1 -1
  65. package/lib/assistant/runtime-registry.js +19 -5
  66. package/lib/assistant/runtime-registry.js.map +1 -1
  67. package/lib/assistant/schedule-tool-runtime.js +2 -2
  68. package/lib/assistant/schedule-tool-runtime.js.map +1 -1
  69. package/lib/authoring/bridge.d.ts +40 -0
  70. package/lib/authoring/bridge.d.ts.map +1 -0
  71. package/lib/authoring/bridge.js +113 -0
  72. package/lib/authoring/bridge.js.map +1 -0
  73. package/lib/authoring/define-agent.d.ts +4 -0
  74. package/lib/authoring/define-agent.d.ts.map +1 -0
  75. package/lib/authoring/define-agent.js +8 -0
  76. package/lib/authoring/define-agent.js.map +1 -0
  77. package/lib/authoring/define-connection.d.ts +5 -0
  78. package/lib/authoring/define-connection.d.ts.map +1 -0
  79. package/lib/authoring/define-connection.js +8 -0
  80. package/lib/authoring/define-connection.js.map +1 -0
  81. package/lib/authoring/define-dynamic.d.ts +4 -0
  82. package/lib/authoring/define-dynamic.d.ts.map +1 -0
  83. package/lib/authoring/define-dynamic.js +8 -0
  84. package/lib/authoring/define-dynamic.js.map +1 -0
  85. package/lib/authoring/define-eval.d.ts +5 -0
  86. package/lib/authoring/define-eval.d.ts.map +1 -0
  87. package/lib/authoring/define-eval.js +8 -0
  88. package/lib/authoring/define-eval.js.map +1 -0
  89. package/lib/authoring/define-hook.d.ts +4 -0
  90. package/lib/authoring/define-hook.d.ts.map +1 -0
  91. package/lib/authoring/define-hook.js +8 -0
  92. package/lib/authoring/define-hook.js.map +1 -0
  93. package/lib/authoring/define-schedule.d.ts +4 -0
  94. package/lib/authoring/define-schedule.d.ts.map +1 -0
  95. package/lib/authoring/define-schedule.js +8 -0
  96. package/lib/authoring/define-schedule.js.map +1 -0
  97. package/lib/authoring/define-skill.d.ts +6 -0
  98. package/lib/authoring/define-skill.d.ts.map +1 -0
  99. package/lib/authoring/define-skill.js +9 -0
  100. package/lib/authoring/define-skill.js.map +1 -0
  101. package/lib/authoring/define-state.d.ts +4 -0
  102. package/lib/authoring/define-state.d.ts.map +1 -0
  103. package/lib/authoring/define-state.js +8 -0
  104. package/lib/authoring/define-state.js.map +1 -0
  105. package/lib/authoring/define-tool.d.ts +15 -0
  106. package/lib/authoring/define-tool.d.ts.map +1 -0
  107. package/lib/authoring/define-tool.js +18 -0
  108. package/lib/authoring/define-tool.js.map +1 -0
  109. package/lib/authoring/disable-tool.d.ts +13 -0
  110. package/lib/authoring/disable-tool.d.ts.map +1 -0
  111. package/lib/authoring/disable-tool.js +36 -0
  112. package/lib/authoring/disable-tool.js.map +1 -0
  113. package/lib/authoring/entries/connections.d.ts +3 -0
  114. package/lib/authoring/entries/connections.d.ts.map +1 -0
  115. package/lib/authoring/entries/connections.js +2 -0
  116. package/lib/authoring/entries/connections.js.map +1 -0
  117. package/lib/authoring/entries/evals.d.ts +3 -0
  118. package/lib/authoring/entries/evals.d.ts.map +1 -0
  119. package/lib/authoring/entries/evals.js +2 -0
  120. package/lib/authoring/entries/evals.js.map +1 -0
  121. package/lib/authoring/entries/hooks.d.ts +3 -0
  122. package/lib/authoring/entries/hooks.d.ts.map +1 -0
  123. package/lib/authoring/entries/hooks.js +2 -0
  124. package/lib/authoring/entries/hooks.js.map +1 -0
  125. package/lib/authoring/entries/schedules.d.ts +3 -0
  126. package/lib/authoring/entries/schedules.d.ts.map +1 -0
  127. package/lib/authoring/entries/schedules.js +2 -0
  128. package/lib/authoring/entries/schedules.js.map +1 -0
  129. package/lib/authoring/entries/skills.d.ts +3 -0
  130. package/lib/authoring/entries/skills.d.ts.map +1 -0
  131. package/lib/authoring/entries/skills.js +2 -0
  132. package/lib/authoring/entries/skills.js.map +1 -0
  133. package/lib/authoring/entries/tools.d.ts +5 -0
  134. package/lib/authoring/entries/tools.d.ts.map +1 -0
  135. package/lib/authoring/entries/tools.js +3 -0
  136. package/lib/authoring/entries/tools.js.map +1 -0
  137. package/lib/authoring/index.d.ts +25 -0
  138. package/lib/authoring/index.d.ts.map +1 -0
  139. package/lib/authoring/index.js +14 -0
  140. package/lib/authoring/index.js.map +1 -0
  141. package/lib/authoring/tool-policy.d.ts +3 -0
  142. package/lib/authoring/tool-policy.d.ts.map +1 -0
  143. package/lib/authoring/tool-policy.js +2 -0
  144. package/lib/authoring/tool-policy.js.map +1 -0
  145. package/lib/authoring/types.d.ts +209 -0
  146. package/lib/authoring/types.d.ts.map +1 -0
  147. package/lib/authoring/types.js +10 -0
  148. package/lib/authoring/types.js.map +1 -0
  149. package/lib/authoring/zod-schema.d.ts +20 -0
  150. package/lib/authoring/zod-schema.d.ts.map +1 -0
  151. package/lib/authoring/zod-schema.js +79 -0
  152. package/lib/authoring/zod-schema.js.map +1 -0
  153. package/lib/bootstrap.js +2 -2
  154. package/lib/bootstrap.js.map +1 -1
  155. package/lib/builtin/analyze-media-tool.d.ts.map +1 -1
  156. package/lib/builtin/analyze-media-tool.js +18 -19
  157. package/lib/builtin/analyze-media-tool.js.map +1 -1
  158. package/lib/builtin/bash-tool.d.ts.map +1 -1
  159. package/lib/builtin/bash-tool.js +7 -21
  160. package/lib/builtin/bash-tool.js.map +1 -1
  161. package/lib/builtin/edit-file-tool.d.ts.map +1 -1
  162. package/lib/builtin/edit-file-tool.js +13 -43
  163. package/lib/builtin/edit-file-tool.js.map +1 -1
  164. package/lib/builtin/glob-tool.d.ts.map +1 -1
  165. package/lib/builtin/glob-tool.js +5 -13
  166. package/lib/builtin/glob-tool.js.map +1 -1
  167. package/lib/builtin/grep-tool.d.ts.map +1 -1
  168. package/lib/builtin/grep-tool.js +5 -13
  169. package/lib/builtin/grep-tool.js.map +1 -1
  170. package/lib/builtin/install-skill-tool.d.ts.map +1 -1
  171. package/lib/builtin/install-skill-tool.js +2 -2
  172. package/lib/builtin/install-skill-tool.js.map +1 -1
  173. package/lib/builtin/list-dir-tool.d.ts.map +1 -1
  174. package/lib/builtin/list-dir-tool.js +5 -13
  175. package/lib/builtin/list-dir-tool.js.map +1 -1
  176. package/lib/builtin/read-file-tool.d.ts.map +1 -1
  177. package/lib/builtin/read-file-tool.js +20 -26
  178. package/lib/builtin/read-file-tool.js.map +1 -1
  179. package/lib/builtin/web-fetch-tool.d.ts.map +1 -1
  180. package/lib/builtin/web-fetch-tool.js +5 -8
  181. package/lib/builtin/web-fetch-tool.js.map +1 -1
  182. package/lib/builtin/write-file-tool.d.ts.map +1 -1
  183. package/lib/builtin/write-file-tool.js +12 -44
  184. package/lib/builtin/write-file-tool.js.map +1 -1
  185. package/lib/collaboration/ask-user-bridge.d.ts.map +1 -1
  186. package/lib/collaboration/ask-user-bridge.js +16 -2
  187. package/lib/collaboration/ask-user-bridge.js.map +1 -1
  188. package/lib/collaboration/collaboration-delegation.d.ts.map +1 -1
  189. package/lib/collaboration/collaboration-delegation.js +35 -6
  190. package/lib/collaboration/collaboration-delegation.js.map +1 -1
  191. package/lib/collaboration/inbound-turn-execute.js +4 -4
  192. package/lib/collaboration/inbound-turn-execute.js.map +1 -1
  193. package/lib/collaboration/inbound-turn-pipeline.d.ts.map +1 -1
  194. package/lib/collaboration/inbound-turn-pipeline.js +17 -9
  195. package/lib/collaboration/inbound-turn-pipeline.js.map +1 -1
  196. package/lib/collaboration/inbound-turn-route.d.ts.map +1 -1
  197. package/lib/collaboration/inbound-turn-route.js +35 -18
  198. package/lib/collaboration/inbound-turn-route.js.map +1 -1
  199. package/lib/collaboration/index.d.ts +2 -0
  200. package/lib/collaboration/index.d.ts.map +1 -1
  201. package/lib/collaboration/index.js +1 -0
  202. package/lib/collaboration/index.js.map +1 -1
  203. package/lib/collaboration/init-wizard-service.d.ts.map +1 -1
  204. package/lib/collaboration/init-wizard-service.js +2 -1
  205. package/lib/collaboration/init-wizard-service.js.map +1 -1
  206. package/lib/collaboration/runtime-inbound-gate.d.ts +35 -0
  207. package/lib/collaboration/runtime-inbound-gate.d.ts.map +1 -0
  208. package/lib/collaboration/runtime-inbound-gate.js +111 -0
  209. package/lib/collaboration/runtime-inbound-gate.js.map +1 -0
  210. package/lib/collaboration/runtime-registry.d.ts +2 -2
  211. package/lib/collaboration/runtime-registry.d.ts.map +1 -1
  212. package/lib/collaboration/runtime-registry.js +12 -7
  213. package/lib/collaboration/runtime-registry.js.map +1 -1
  214. package/lib/connection/authorization-flow.d.ts +26 -0
  215. package/lib/connection/authorization-flow.d.ts.map +1 -0
  216. package/lib/connection/authorization-flow.js +76 -0
  217. package/lib/connection/authorization-flow.js.map +1 -0
  218. package/lib/connection/index.d.ts +3 -0
  219. package/lib/connection/index.d.ts.map +1 -0
  220. package/lib/connection/index.js +2 -0
  221. package/lib/connection/index.js.map +1 -0
  222. package/lib/core/agent-core-run.d.ts +1 -0
  223. package/lib/core/agent-core-run.d.ts.map +1 -1
  224. package/lib/core/agent-core-run.js +35 -6
  225. package/lib/core/agent-core-run.js.map +1 -1
  226. package/lib/core/agent-loop-standalone.js +2 -2
  227. package/lib/core/agent-loop-standalone.js.map +1 -1
  228. package/lib/core/agent-loop-turn.d.ts +1 -1
  229. package/lib/core/agent-loop-turn.d.ts.map +1 -1
  230. package/lib/core/agent-loop-turn.js +1 -1
  231. package/lib/core/agent-loop-turn.js.map +1 -1
  232. package/lib/core/text-sanitize.d.ts.map +1 -1
  233. package/lib/core/text-sanitize.js +16 -1
  234. package/lib/core/text-sanitize.js.map +1 -1
  235. package/lib/core/tool-calls-user-format.d.ts.map +1 -1
  236. package/lib/core/tool-calls-user-format.js +18 -4
  237. package/lib/core/tool-calls-user-format.js.map +1 -1
  238. package/lib/core/turn-event-mapper.d.ts +1 -0
  239. package/lib/core/turn-event-mapper.d.ts.map +1 -1
  240. package/lib/core/turn-event-mapper.js +2 -1
  241. package/lib/core/turn-event-mapper.js.map +1 -1
  242. package/lib/deferred-worker-runner.d.ts.map +1 -1
  243. package/lib/deferred-worker-runner.js +4 -3
  244. package/lib/deferred-worker-runner.js.map +1 -1
  245. package/lib/discovery/agent-surface-info.d.ts +42 -0
  246. package/lib/discovery/agent-surface-info.d.ts.map +1 -0
  247. package/lib/discovery/agent-surface-info.js +201 -0
  248. package/lib/discovery/agent-surface-info.js.map +1 -0
  249. package/lib/discovery/agent-surface.d.ts +32 -0
  250. package/lib/discovery/agent-surface.d.ts.map +1 -0
  251. package/lib/discovery/agent-surface.js +422 -0
  252. package/lib/discovery/agent-surface.js.map +1 -0
  253. package/lib/discovery/agents.d.ts +7 -17
  254. package/lib/discovery/agents.d.ts.map +1 -1
  255. package/lib/discovery/agents.js +92 -100
  256. package/lib/discovery/agents.js.map +1 -1
  257. package/lib/discovery/register-agent-surface.d.ts +33 -0
  258. package/lib/discovery/register-agent-surface.d.ts.map +1 -0
  259. package/lib/discovery/register-agent-surface.js +170 -0
  260. package/lib/discovery/register-agent-surface.js.map +1 -0
  261. package/lib/discovery/skills.d.ts.map +1 -1
  262. package/lib/discovery/skills.js +2 -2
  263. package/lib/discovery/skills.js.map +1 -1
  264. package/lib/discovery/tools.d.ts.map +1 -1
  265. package/lib/discovery/tools.js +2 -2
  266. package/lib/discovery/tools.js.map +1 -1
  267. package/lib/dynamic/dynamic-registry.d.ts +34 -0
  268. package/lib/dynamic/dynamic-registry.d.ts.map +1 -0
  269. package/lib/dynamic/dynamic-registry.js +52 -0
  270. package/lib/dynamic/dynamic-registry.js.map +1 -0
  271. package/lib/event/agent-stream-bus.d.ts +25 -0
  272. package/lib/event/agent-stream-bus.d.ts.map +1 -0
  273. package/lib/event/agent-stream-bus.js +22 -0
  274. package/lib/event/agent-stream-bus.js.map +1 -0
  275. package/lib/event/agent-stream-hooks.d.ts +10 -0
  276. package/lib/event/agent-stream-hooks.d.ts.map +1 -0
  277. package/lib/event/agent-stream-hooks.js +28 -0
  278. package/lib/event/agent-stream-hooks.js.map +1 -0
  279. package/lib/event/event-emitter.d.ts.map +1 -1
  280. package/lib/event/event-emitter.js +7 -2
  281. package/lib/event/event-emitter.js.map +1 -1
  282. package/lib/event/event-system.js +2 -2
  283. package/lib/event/event-system.js.map +1 -1
  284. package/lib/event/hook-stream-sink.d.ts +7 -0
  285. package/lib/event/hook-stream-sink.d.ts.map +1 -0
  286. package/lib/event/hook-stream-sink.js +9 -0
  287. package/lib/event/hook-stream-sink.js.map +1 -0
  288. package/lib/event/index.d.ts +6 -0
  289. package/lib/event/index.d.ts.map +1 -1
  290. package/lib/event/index.js +4 -0
  291. package/lib/event/index.js.map +1 -1
  292. package/lib/event/logging-middleware.js +2 -2
  293. package/lib/event/logging-middleware.js.map +1 -1
  294. package/lib/event/publish-agent-stream.d.ts +11 -0
  295. package/lib/event/publish-agent-stream.d.ts.map +1 -0
  296. package/lib/event/publish-agent-stream.js +14 -0
  297. package/lib/event/publish-agent-stream.js.map +1 -0
  298. package/lib/event/turn-to-agent-stream.d.ts +12 -0
  299. package/lib/event/turn-to-agent-stream.d.ts.map +1 -0
  300. package/lib/event/turn-to-agent-stream.js +124 -0
  301. package/lib/event/turn-to-agent-stream.js.map +1 -0
  302. package/lib/features/agent-feature.d.ts +23 -0
  303. package/lib/features/agent-feature.d.ts.map +1 -0
  304. package/lib/features/agent-feature.js +51 -0
  305. package/lib/features/agent-feature.js.map +1 -0
  306. package/lib/features/index.d.ts +3 -0
  307. package/lib/features/index.d.ts.map +1 -0
  308. package/lib/features/index.js +3 -0
  309. package/lib/features/index.js.map +1 -0
  310. package/lib/features/mcp-feature.d.ts +25 -0
  311. package/lib/features/mcp-feature.d.ts.map +1 -0
  312. package/lib/features/mcp-feature.js +52 -0
  313. package/lib/features/mcp-feature.js.map +1 -0
  314. package/lib/hooks.d.ts +3 -2
  315. package/lib/hooks.d.ts.map +1 -1
  316. package/lib/hooks.js +8 -36
  317. package/lib/hooks.js.map +1 -1
  318. package/lib/index.d.ts +50 -8
  319. package/lib/index.d.ts.map +1 -1
  320. package/lib/index.js +34 -6
  321. package/lib/index.js.map +1 -1
  322. package/lib/ingress/capability-ingress.d.ts +75 -0
  323. package/lib/ingress/capability-ingress.d.ts.map +1 -0
  324. package/lib/ingress/capability-ingress.js +266 -0
  325. package/lib/ingress/capability-ingress.js.map +1 -0
  326. package/lib/ingress/index.d.ts +2 -0
  327. package/lib/ingress/index.d.ts.map +1 -0
  328. package/lib/ingress/index.js +2 -0
  329. package/lib/ingress/index.js.map +1 -0
  330. package/lib/init/activate-ai-database-storage.d.ts +2 -1
  331. package/lib/init/activate-ai-database-storage.d.ts.map +1 -1
  332. package/lib/init/activate-ai-database-storage.js +3 -3
  333. package/lib/init/activate-ai-database-storage.js.map +1 -1
  334. package/lib/init/bootstrap-gate.d.ts +6 -0
  335. package/lib/init/bootstrap-gate.d.ts.map +1 -0
  336. package/lib/init/bootstrap-gate.js +28 -0
  337. package/lib/init/bootstrap-gate.js.map +1 -0
  338. package/lib/init/configure-zhin-agent.js +2 -2
  339. package/lib/init/configure-zhin-agent.js.map +1 -1
  340. package/lib/init/create-zhin-agent.d.ts.map +1 -1
  341. package/lib/init/create-zhin-agent.js +18 -2
  342. package/lib/init/create-zhin-agent.js.map +1 -1
  343. package/lib/init/define-ai-database-models.d.ts +4 -0
  344. package/lib/init/define-ai-database-models.d.ts.map +1 -0
  345. package/lib/init/define-ai-database-models.js +33 -0
  346. package/lib/init/define-ai-database-models.js.map +1 -0
  347. package/lib/init/introspection-collectors.d.ts +5 -0
  348. package/lib/init/introspection-collectors.d.ts.map +1 -1
  349. package/lib/init/introspection-collectors.js +35 -0
  350. package/lib/init/introspection-collectors.js.map +1 -1
  351. package/lib/init/register-ai-service.d.ts.map +1 -1
  352. package/lib/init/register-ai-service.js +3 -0
  353. package/lib/init/register-ai-service.js.map +1 -1
  354. package/lib/init/register-builtin-tools.d.ts.map +1 -1
  355. package/lib/init/register-builtin-tools.js +78 -31
  356. package/lib/init/register-builtin-tools.js.map +1 -1
  357. package/lib/init/register-capability-features.d.ts +2 -0
  358. package/lib/init/register-capability-features.d.ts.map +1 -0
  359. package/lib/init/register-capability-features.js +28 -0
  360. package/lib/init/register-capability-features.js.map +1 -0
  361. package/lib/init/register-db-models.d.ts.map +1 -1
  362. package/lib/init/register-db-models.js +3 -20
  363. package/lib/init/register-db-models.js.map +1 -1
  364. package/lib/init/register-db-upgrade.d.ts.map +1 -1
  365. package/lib/init/register-db-upgrade.js +20 -11
  366. package/lib/init/register-db-upgrade.js.map +1 -1
  367. package/lib/init/register-mcp-from-config.d.ts.map +1 -1
  368. package/lib/init/register-mcp-from-config.js +8 -6
  369. package/lib/init/register-mcp-from-config.js.map +1 -1
  370. package/lib/init/types.d.ts +9 -0
  371. package/lib/init/types.d.ts.map +1 -1
  372. package/lib/init.d.ts.map +1 -1
  373. package/lib/init.js +3 -1
  374. package/lib/init.js.map +1 -1
  375. package/lib/internal/agent-host.d.ts +5 -0
  376. package/lib/internal/agent-host.d.ts.map +1 -1
  377. package/lib/internal/host-types.d.ts +7 -0
  378. package/lib/internal/host-types.d.ts.map +1 -1
  379. package/lib/internal/phase-trace.js +2 -2
  380. package/lib/internal/phase-trace.js.map +1 -1
  381. package/lib/internal/prompt-trace.js +2 -2
  382. package/lib/internal/prompt-trace.js.map +1 -1
  383. package/lib/mcp-client/bridge.d.ts.map +1 -1
  384. package/lib/mcp-client/bridge.js +3 -1
  385. package/lib/mcp-client/bridge.js.map +1 -1
  386. package/lib/media/subagent-user-delivery.d.ts.map +1 -1
  387. package/lib/media/subagent-user-delivery.js +57 -12
  388. package/lib/media/subagent-user-delivery.js.map +1 -1
  389. package/lib/memory-layers.d.ts.map +1 -1
  390. package/lib/memory-layers.js +2 -2
  391. package/lib/memory-layers.js.map +1 -1
  392. package/lib/orchestration-runtime-registry.d.ts +1 -1
  393. package/lib/orchestrator/hook-registry.d.ts +9 -1
  394. package/lib/orchestrator/hook-registry.d.ts.map +1 -1
  395. package/lib/orchestrator/hook-registry.js +38 -4
  396. package/lib/orchestrator/hook-registry.js.map +1 -1
  397. package/lib/orchestrator/index.d.ts +6 -1
  398. package/lib/orchestrator/index.d.ts.map +1 -1
  399. package/lib/orchestrator/index.js +11 -1
  400. package/lib/orchestrator/index.js.map +1 -1
  401. package/lib/orchestrator/mcp-registry.d.ts +8 -0
  402. package/lib/orchestrator/mcp-registry.d.ts.map +1 -1
  403. package/lib/orchestrator/mcp-registry.js +21 -2
  404. package/lib/orchestrator/mcp-registry.js.map +1 -1
  405. package/lib/orchestrator/orchestration-repository.js +3 -3
  406. package/lib/orchestrator/orchestration-repository.js.map +1 -1
  407. package/lib/orchestrator/orchestration-service.d.ts +3 -1
  408. package/lib/orchestrator/orchestration-service.d.ts.map +1 -1
  409. package/lib/orchestrator/orchestration-service.js +25 -6
  410. package/lib/orchestrator/orchestration-service.js.map +1 -1
  411. package/lib/orchestrator/remote-agent-registry.js +2 -2
  412. package/lib/orchestrator/remote-agent-registry.js.map +1 -1
  413. package/lib/orchestrator/remote-task-poller.js +2 -2
  414. package/lib/orchestrator/remote-task-poller.js.map +1 -1
  415. package/lib/orchestrator/tool-registry.d.ts.map +1 -1
  416. package/lib/orchestrator/tool-registry.js +2 -2
  417. package/lib/orchestrator/tool-registry.js.map +1 -1
  418. package/lib/orchestrator/tool-selection.d.ts.map +1 -1
  419. package/lib/orchestrator/tool-selection.js +6 -2
  420. package/lib/orchestrator/tool-selection.js.map +1 -1
  421. package/lib/orchestrator/types.d.ts +6 -1
  422. package/lib/orchestrator/types.d.ts.map +1 -1
  423. package/lib/plugin-ai-hook-bus.d.ts +8 -0
  424. package/lib/plugin-ai-hook-bus.d.ts.map +1 -1
  425. package/lib/plugin-ai-hook-bus.js +20 -1
  426. package/lib/plugin-ai-hook-bus.js.map +1 -1
  427. package/lib/plugin-runtime/agent-host-port.d.ts +11 -0
  428. package/lib/plugin-runtime/agent-host-port.d.ts.map +1 -0
  429. package/lib/plugin-runtime/agent-host-port.js +3 -0
  430. package/lib/plugin-runtime/agent-host-port.js.map +1 -0
  431. package/lib/plugin-runtime/agent-runtime.d.ts +11 -0
  432. package/lib/plugin-runtime/agent-runtime.d.ts.map +1 -0
  433. package/lib/plugin-runtime/agent-runtime.js +25 -0
  434. package/lib/plugin-runtime/agent-runtime.js.map +1 -0
  435. package/lib/plugin-runtime/capability-ingress.d.ts +25 -0
  436. package/lib/plugin-runtime/capability-ingress.d.ts.map +1 -0
  437. package/lib/plugin-runtime/capability-ingress.js +77 -0
  438. package/lib/plugin-runtime/capability-ingress.js.map +1 -0
  439. package/lib/plugin-runtime/index.d.ts +4 -0
  440. package/lib/plugin-runtime/index.d.ts.map +1 -0
  441. package/lib/plugin-runtime/index.js +4 -0
  442. package/lib/plugin-runtime/index.js.map +1 -0
  443. package/lib/prompt/assembly.d.ts.map +1 -1
  444. package/lib/prompt/assembly.js +3 -1
  445. package/lib/prompt/assembly.js.map +1 -1
  446. package/lib/prompt/system-prompt.d.ts.map +1 -1
  447. package/lib/prompt/system-prompt.js +50 -14
  448. package/lib/prompt/system-prompt.js.map +1 -1
  449. package/lib/schedule-manager.d.ts +2 -0
  450. package/lib/schedule-manager.d.ts.map +1 -1
  451. package/lib/schedule-manager.js +14 -3
  452. package/lib/schedule-manager.js.map +1 -1
  453. package/lib/security/audit-logger.d.ts +19 -5
  454. package/lib/security/audit-logger.d.ts.map +1 -1
  455. package/lib/security/audit-logger.js +205 -24
  456. package/lib/security/audit-logger.js.map +1 -1
  457. package/lib/security/exec-policy.d.ts +7 -1
  458. package/lib/security/exec-policy.d.ts.map +1 -1
  459. package/lib/security/exec-policy.js +92 -4
  460. package/lib/security/exec-policy.js.map +1 -1
  461. package/lib/security/index.d.ts +1 -0
  462. package/lib/security/index.d.ts.map +1 -1
  463. package/lib/security/index.js +1 -0
  464. package/lib/security/index.js.map +1 -1
  465. package/lib/security/owner-approve-always-store.d.ts +20 -15
  466. package/lib/security/owner-approve-always-store.d.ts.map +1 -1
  467. package/lib/security/owner-approve-always-store.js +131 -19
  468. package/lib/security/owner-approve-always-store.js.map +1 -1
  469. package/lib/security/policy-facade.d.ts +86 -0
  470. package/lib/security/policy-facade.d.ts.map +1 -0
  471. package/lib/security/policy-facade.js +230 -0
  472. package/lib/security/policy-facade.js.map +1 -0
  473. package/lib/security/sandbox-enhanced.d.ts.map +1 -1
  474. package/lib/security/sandbox-enhanced.js +27 -19
  475. package/lib/security/sandbox-enhanced.js.map +1 -1
  476. package/lib/security/sandbox.d.ts.map +1 -1
  477. package/lib/security/sandbox.js +6 -6
  478. package/lib/security/sandbox.js.map +1 -1
  479. package/lib/session/agent-session-host-port.d.ts +23 -0
  480. package/lib/session/agent-session-host-port.d.ts.map +1 -0
  481. package/lib/session/agent-session-host-port.js +61 -0
  482. package/lib/session/agent-session-host-port.js.map +1 -0
  483. package/lib/session/http-agent-session-store.d.ts +76 -0
  484. package/lib/session/http-agent-session-store.d.ts.map +1 -0
  485. package/lib/session/http-agent-session-store.js +211 -0
  486. package/lib/session/http-agent-session-store.js.map +1 -0
  487. package/lib/session/http-approval-adapter.d.ts +11 -0
  488. package/lib/session/http-approval-adapter.d.ts.map +1 -0
  489. package/lib/session/http-approval-adapter.js +19 -0
  490. package/lib/session/http-approval-adapter.js.map +1 -0
  491. package/lib/session/http-approval-waiter.d.ts +11 -0
  492. package/lib/session/http-approval-waiter.d.ts.map +1 -0
  493. package/lib/session/http-approval-waiter.js +38 -0
  494. package/lib/session/http-approval-waiter.js.map +1 -0
  495. package/lib/session/http-session-persistence.d.ts +28 -0
  496. package/lib/session/http-session-persistence.d.ts.map +1 -0
  497. package/lib/session/http-session-persistence.js +60 -0
  498. package/lib/session/http-session-persistence.js.map +1 -0
  499. package/lib/session/http-session-sink.d.ts +11 -0
  500. package/lib/session/http-session-sink.d.ts.map +1 -0
  501. package/lib/session/http-session-sink.js +32 -0
  502. package/lib/session/http-session-sink.js.map +1 -0
  503. package/lib/session/http-step-projector.d.ts +16 -0
  504. package/lib/session/http-step-projector.d.ts.map +1 -0
  505. package/lib/session/http-step-projector.js +118 -0
  506. package/lib/session/http-step-projector.js.map +1 -0
  507. package/lib/session/http-turn-runner.d.ts +16 -0
  508. package/lib/session/http-turn-runner.d.ts.map +1 -0
  509. package/lib/session/http-turn-runner.js +57 -0
  510. package/lib/session/http-turn-runner.js.map +1 -0
  511. package/lib/session/im-approval-adapter.d.ts +12 -0
  512. package/lib/session/im-approval-adapter.d.ts.map +1 -0
  513. package/lib/session/im-approval-adapter.js +24 -0
  514. package/lib/session/im-approval-adapter.js.map +1 -0
  515. package/lib/session/park-controller.d.ts +24 -0
  516. package/lib/session/park-controller.d.ts.map +1 -0
  517. package/lib/session/park-controller.js +58 -0
  518. package/lib/session/park-controller.js.map +1 -0
  519. package/lib/session/resolve-session-interaction-port.d.ts +9 -0
  520. package/lib/session/resolve-session-interaction-port.d.ts.map +1 -0
  521. package/lib/session/resolve-session-interaction-port.js +13 -0
  522. package/lib/session/resolve-session-interaction-port.js.map +1 -0
  523. package/lib/session/session-event-log.d.ts +17 -0
  524. package/lib/session/session-event-log.d.ts.map +1 -0
  525. package/lib/session/session-event-log.js +56 -0
  526. package/lib/session/session-event-log.js.map +1 -0
  527. package/lib/session/session-interaction-port.d.ts +15 -0
  528. package/lib/session/session-interaction-port.d.ts.map +1 -0
  529. package/lib/session/session-interaction-port.js +2 -0
  530. package/lib/session/session-interaction-port.js.map +1 -0
  531. package/lib/skill/progressive-disclosure.d.ts +9 -0
  532. package/lib/skill/progressive-disclosure.d.ts.map +1 -0
  533. package/lib/skill/progressive-disclosure.js +14 -0
  534. package/lib/skill/progressive-disclosure.js.map +1 -0
  535. package/lib/stability/memory-pressure.d.ts.map +1 -1
  536. package/lib/stability/memory-pressure.js +2 -2
  537. package/lib/stability/memory-pressure.js.map +1 -1
  538. package/lib/state/agent-state-store.d.ts +18 -0
  539. package/lib/state/agent-state-store.d.ts.map +1 -0
  540. package/lib/state/agent-state-store.js +50 -0
  541. package/lib/state/agent-state-store.js.map +1 -0
  542. package/lib/subagent/subagent-runtime.d.ts.map +1 -1
  543. package/lib/subagent/subagent-runtime.js +9 -9
  544. package/lib/subagent/subagent-runtime.js.map +1 -1
  545. package/lib/subagent/subagent-system-init.js +2 -2
  546. package/lib/subagent/subagent-system-init.js.map +1 -1
  547. package/lib/subagent-prompt.d.ts.map +1 -1
  548. package/lib/subagent-prompt.js +32 -8
  549. package/lib/subagent-prompt.js.map +1 -1
  550. package/lib/task-executor.d.ts +1 -0
  551. package/lib/task-executor.d.ts.map +1 -1
  552. package/lib/task-executor.js +14 -8
  553. package/lib/task-executor.js.map +1 -1
  554. package/lib/tool/deferred-resolution.d.ts.map +1 -1
  555. package/lib/tool/deferred-resolution.js +4 -10
  556. package/lib/tool/deferred-resolution.js.map +1 -1
  557. package/lib/tool/prepare-turn-tools.d.ts +1 -1
  558. package/lib/tool/prepare-turn-tools.d.ts.map +1 -1
  559. package/lib/tool/prepare-turn-tools.js +15 -1
  560. package/lib/tool/prepare-turn-tools.js.map +1 -1
  561. package/lib/tool/sources.d.ts.map +1 -1
  562. package/lib/tool/sources.js +2 -10
  563. package/lib/tool/sources.js.map +1 -1
  564. package/lib/tool/tool-approval-gate.d.ts +30 -0
  565. package/lib/tool/tool-approval-gate.d.ts.map +1 -0
  566. package/lib/tool/tool-approval-gate.js +74 -0
  567. package/lib/tool/tool-approval-gate.js.map +1 -0
  568. package/lib/tool/tool-approval-once-store.d.ts +10 -0
  569. package/lib/tool/tool-approval-once-store.d.ts.map +1 -0
  570. package/lib/tool/tool-approval-once-store.js +16 -0
  571. package/lib/tool/tool-approval-once-store.js.map +1 -0
  572. package/lib/tool/tool-model-output.d.ts +3 -0
  573. package/lib/tool/tool-model-output.d.ts.map +1 -0
  574. package/lib/tool/tool-model-output.js +7 -0
  575. package/lib/tool/tool-model-output.js.map +1 -0
  576. package/lib/turn/auto-continue.js +2 -2
  577. package/lib/turn/auto-continue.js.map +1 -1
  578. package/lib/turn/index.d.ts +1 -1
  579. package/lib/turn/index.d.ts.map +1 -1
  580. package/lib/turn/index.js +1 -1
  581. package/lib/turn/index.js.map +1 -1
  582. package/lib/turn/process-stream.d.ts.map +1 -1
  583. package/lib/turn/process-stream.js +17 -3
  584. package/lib/turn/process-stream.js.map +1 -1
  585. package/lib/turn/turn-complete.d.ts.map +1 -1
  586. package/lib/turn/turn-complete.js +3 -7
  587. package/lib/turn/turn-complete.js.map +1 -1
  588. package/lib/turn/turn-metrics.d.ts +13 -2
  589. package/lib/turn/turn-metrics.d.ts.map +1 -1
  590. package/lib/turn/turn-metrics.js +69 -9
  591. package/lib/turn/turn-metrics.js.map +1 -1
  592. package/lib/turn/turn-pipeline.d.ts.map +1 -1
  593. package/lib/turn/turn-pipeline.js +16 -7
  594. package/lib/turn/turn-pipeline.js.map +1 -1
  595. package/lib/typing-indicator/adapter-integration.js +3 -3
  596. package/lib/typing-indicator/adapter-integration.js.map +1 -1
  597. package/lib/typing-indicator/index.d.ts.map +1 -1
  598. package/lib/typing-indicator/index.js +8 -1
  599. package/lib/typing-indicator/index.js.map +1 -1
  600. package/lib/user-profile.js +2 -2
  601. package/lib/user-profile.js.map +1 -1
  602. package/lib/utils/config-env.js +30 -7
  603. package/lib/utils/config-env.js.map +1 -1
  604. package/lib/zhin-agent/index.d.ts +15 -2
  605. package/lib/zhin-agent/index.d.ts.map +1 -1
  606. package/lib/zhin-agent/index.js +22 -4
  607. package/lib/zhin-agent/index.js.map +1 -1
  608. package/package.json +57 -7
  609. package/lib/aop/coordination/index.d.ts +0 -7
  610. package/lib/aop/coordination/index.d.ts.map +0 -1
  611. package/lib/aop/coordination/index.js +0 -7
  612. package/lib/aop/coordination/index.js.map +0 -1
  613. package/lib/aop/inbound/index.d.ts +0 -7
  614. package/lib/aop/inbound/index.d.ts.map +0 -1
  615. package/lib/aop/inbound/index.js +0 -6
  616. package/lib/aop/inbound/index.js.map +0 -1
@@ -12,46 +12,51 @@ export interface BashApprovalBotEntry {
12
12
  bashAlways?: boolean;
13
13
  bashRules: BashRuleEntry[];
14
14
  }
15
- export declare function getEndpointMaster(plugin: Plugin, commMessage: Message): string | undefined;
16
- export declare function resolveToolRequesterRole(plugin: Plugin, commMessage: Message): ToolRequesterRole;
17
- export declare function getOwnerCommMessageOrUndefined(plugin: Plugin, message: Message): Message | undefined;
15
+ export declare function getEndpointMaster(plugin: Plugin | null | undefined, commMessage: Message): string | undefined;
16
+ export declare function resolveToolRequesterRole(plugin: Plugin | null | undefined, commMessage: Message): ToolRequesterRole;
17
+ export declare function getOwnerCommMessageOrUndefined(plugin: Plugin | null | undefined, message: Message): Message | undefined;
18
18
  /** 编排层:是否已「永久放行」bash 的 Owner 硬确认(ZHIN_NEEDS_OWNER 路径) */
19
- export declare function hasOwnerApproveAlways(plugin: Plugin, commMessage: Message, toolName: string): boolean;
20
- export declare function setBashAlways(plugin: Plugin, commMessage: Message, value: boolean): void;
21
- export declare function addOwnerApproveAlways(plugin: Plugin, commMessage: Message, toolName: string): {
19
+ export declare function hasOwnerApproveAlways(plugin: Plugin | null | undefined, commMessage: Message, toolName: string): boolean;
20
+ export declare function setBashAlways(plugin: Plugin | null | undefined, commMessage: Message, value: boolean): void;
21
+ export declare function addOwnerApproveAlways(plugin: Plugin | null | undefined, commMessage: Message, toolName: string): {
22
22
  ok: true;
23
23
  } | {
24
24
  ok: false;
25
25
  error: string;
26
26
  };
27
- export declare function removeOwnerApproveAlways(plugin: Plugin, commMessage: Message, toolName: string): {
27
+ export declare function removeOwnerApproveAlways(plugin: Plugin | null | undefined, commMessage: Message, toolName: string): {
28
28
  ok: true;
29
29
  } | {
30
30
  ok: false;
31
31
  error: string;
32
32
  };
33
- export declare function addBashApproveRule(plugin: Plugin, commMessage: Message, pattern: string): {
33
+ export declare function addBashApproveRule(plugin: Plugin | null | undefined, commMessage: Message, pattern: string): {
34
34
  ok: true;
35
35
  id: string;
36
36
  } | {
37
37
  ok: false;
38
38
  error: string;
39
39
  };
40
- export declare function removeBashApproveRule(plugin: Plugin, commMessage: Message, ruleId: string): {
40
+ export declare function removeBashApproveRule(plugin: Plugin | null | undefined, commMessage: Message, ruleId: string): {
41
41
  ok: true;
42
42
  } | {
43
43
  ok: false;
44
44
  error: string;
45
45
  };
46
46
  /** exec 策略:bashAlways 或任一 bashRules 匹配 commandLine */
47
- export declare function matchesBashOwnerExecBypass(plugin: Plugin, commMessage: Message, commandLine: string): boolean;
48
- export declare function formatBashApproveList(plugin: Plugin, commMessage: Message): string;
47
+ export declare function matchesBashOwnerExecBypass(plugin: Plugin | null | undefined, commMessage: Message, commandLine: string): boolean;
48
+ export declare function formatBashApproveList(plugin: Plugin | null | undefined, commMessage: Message): string;
49
49
  /** 兼容旧单测:返回 bash 与 rule 摘要行 */
50
- export declare function listOwnerApproveAlways(plugin: Plugin, commMessage: Message): string[];
50
+ export declare function listOwnerApproveAlways(plugin: Plugin | null | undefined, commMessage: Message): string[];
51
51
  export declare function isIcqqSensitiveSubcommand(fullSubCommand: string): boolean;
52
52
  export declare function getPendingOrchestrationCount(): number;
53
53
  export declare function evictPendingOrchestrationIfOverPressure(): number;
54
- export declare function setPendingOrchestrationTool(plugin: Plugin, commMessage: Message, toolName: string): void;
55
- export declare function clearPendingOrchestrationTool(plugin: Plugin, commMessage: Message): void;
56
- export declare function getPendingOrchestrationTool(plugin: Plugin, commMessage: Message): string | undefined;
54
+ export declare function setPendingOrchestrationTool(plugin: Plugin | null | undefined, commMessage: Message, toolName: string): void;
55
+ export declare function clearPendingOrchestrationTool(plugin: Plugin | null | undefined, commMessage: Message): void;
56
+ export declare function getPendingOrchestrationTool(plugin: Plugin | null | undefined, commMessage: Message): string | undefined;
57
+ /**
58
+ * Plugin Runtime Owner `/approve` 命令面(无 host Plugin / CommandFeature)。
59
+ * @returns reply text when handled; null when not an approve command.
60
+ */
61
+ export declare function handleRuntimeOwnerApproveCommand(message: Message, rawText: string): string | null;
57
62
  //# sourceMappingURL=owner-approve-always-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"owner-approve-always-store.d.ts","sourceRoot":"","sources":["../../src/security/owner-approve-always-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"owner-approve-always-store.d.ts","sourceRoot":"","sources":["../../src/security/owner-approve-always-store.ts"],"names":[],"mappings":"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"}
@@ -103,11 +103,22 @@ function writeStore(data) {
103
103
  fs.renameSync(tmp, p);
104
104
  }
105
105
  export function getEndpointMaster(plugin, commMessage) {
106
+ const fromExtra = commMessage.extra?.endpointMaster;
107
+ if (fromExtra != null && String(fromExtra).trim() !== '') {
108
+ return String(fromExtra);
109
+ }
110
+ if (!plugin)
111
+ return undefined;
106
112
  const root = plugin.root ?? plugin;
107
- const adapter = root.inject(commMessage.$adapter);
108
- const endpoint = adapter?.endpoints?.get(commMessage.$endpoint);
109
- const master = endpoint?.$config?.master;
110
- return master != null ? String(master) : undefined;
113
+ try {
114
+ const adapter = root.inject(commMessage.$adapter);
115
+ const endpoint = adapter?.endpoints?.get(commMessage.$endpoint);
116
+ const master = endpoint?.$config?.master;
117
+ return master != null ? String(master) : undefined;
118
+ }
119
+ catch {
120
+ return undefined;
121
+ }
111
122
  }
112
123
  function normalizeIdList(input) {
113
124
  if (Array.isArray(input))
@@ -136,26 +147,31 @@ export function resolveToolRequesterRole(plugin, commMessage) {
136
147
  return 'trusted';
137
148
  return 'other';
138
149
  }
139
- try {
140
- const resolved = resolveSubjectRoles(plugin.root ?? plugin, commMessage);
141
- if (hasSenderRole(resolved.roles, 'master'))
142
- return 'master';
143
- if (hasSenderRole(resolved.roles, 'trusted'))
144
- return 'trusted';
145
- return 'other';
150
+ if (plugin) {
151
+ try {
152
+ const resolved = resolveSubjectRoles(plugin.root ?? plugin, commMessage);
153
+ if (hasSenderRole(resolved.roles, 'master'))
154
+ return 'master';
155
+ if (hasSenderRole(resolved.roles, 'trusted'))
156
+ return 'trusted';
157
+ return 'other';
158
+ }
159
+ catch {
160
+ /* fall through */
161
+ }
146
162
  }
147
- catch {
148
- if (!commMessage.$adapter || !commMessage.$endpoint || !commMessage.$sender?.id)
149
- return 'unknown';
150
- const senderId = String(commMessage.$sender.id);
151
- const masterId = getEndpointMaster(plugin, commMessage);
152
- if (masterId && senderId === String(masterId))
153
- return 'master';
163
+ if (!commMessage.$adapter || !commMessage.$endpoint || !commMessage.$sender?.id)
164
+ return 'unknown';
165
+ const senderId = String(commMessage.$sender.id);
166
+ const masterId = getEndpointMaster(plugin, commMessage);
167
+ if (masterId && senderId === String(masterId))
168
+ return 'master';
169
+ if (plugin) {
154
170
  const trusted = getEndpointTrustedIds(plugin, commMessage);
155
171
  if (trusted.includes(senderId))
156
172
  return 'trusted';
157
- return 'other';
158
173
  }
174
+ return 'other';
159
175
  }
160
176
  function getEntry(plugin, commMessage) {
161
177
  if (!commMessage.$adapter || !commMessage.$endpoint)
@@ -408,4 +424,100 @@ export function getPendingOrchestrationTool(plugin, commMessage) {
408
424
  }
409
425
  return OWNER_APPROVE_ALWAYS_TOOL;
410
426
  }
427
+ function usageLines() {
428
+ return [
429
+ '用法(bash / icqq):',
430
+ ' /approve always bash — 永久跳过 bash 的 Owner 硬确认',
431
+ ' /approve always — 同上;须在近期 bash 私聊待确认窗口内',
432
+ ' /approve rule <正则> — 为敏感 icqq 命令增加放行规则(匹配整段子命令)',
433
+ ' /approve list — 列出永久放行与规则 id',
434
+ ' /approve revoke rule <id> — 删除一条规则(id 可用 list 前 8 位)',
435
+ ' /approve revoke — 撤销 bash 永久放行(不删规则)',
436
+ ].join('\n');
437
+ }
438
+ const LINE_TERMINATOR_RE = /[\n\r\u2028\u2029]/u;
439
+ /**
440
+ * 线性解析 `/approve rule <内容>`,返回捕获内容(未 trim),不匹配返回 null。
441
+ * 语义等价于正则 `/^\/approve\s+rule\s+(.+)$/iu`(无 m 时 `$` 仅匹配全文末尾、
442
+ * `.` 不含换行符;`\s+` 贪婪、必要时回退一个非换行空白给 `.+`),
443
+ * 但避免 `\s+` 与 `.+` 在空白字符上的量词重叠回溯(js/polynomial-redos)。
444
+ */
445
+ function matchApproveRuleArgument(text) {
446
+ const head = /^\/approve\s+rule/iu.exec(text);
447
+ if (!head)
448
+ return null;
449
+ const wsStart = head[0].length;
450
+ let wsEnd = wsStart;
451
+ while (wsEnd < text.length && /\s/u.test(text[wsEnd]))
452
+ wsEnd += 1;
453
+ if (wsEnd === wsStart)
454
+ return null; // `rule` 后必须跟 \s+
455
+ const rest = text.slice(wsEnd);
456
+ // 捕获段必须延伸到全文末尾且不含换行符,否则任何切分点都不可能匹配。
457
+ if (LINE_TERMINATOR_RE.test(rest))
458
+ return null;
459
+ if (rest.length > 0)
460
+ return rest;
461
+ // 剩余全是空白:`\s+` 回退一个字符给 `.+`(该字符不能是换行符)。
462
+ if (wsEnd - wsStart >= 2) {
463
+ const last = text[wsEnd - 1];
464
+ if (!LINE_TERMINATOR_RE.test(last))
465
+ return last;
466
+ }
467
+ return null;
468
+ }
469
+ /**
470
+ * Plugin Runtime Owner `/approve` 命令面(无 host Plugin / CommandFeature)。
471
+ * @returns reply text when handled; null when not an approve command.
472
+ */
473
+ export function handleRuntimeOwnerApproveCommand(message, rawText) {
474
+ const text = rawText.trim();
475
+ if (!/^\/approve(?:\s|$)/iu.test(text))
476
+ return null;
477
+ const ctx = getOwnerCommMessageOrUndefined(null, message);
478
+ if (!ctx) {
479
+ return '⚠️ 仅 Endpoint Owner 可在私聊中使用此指令。需在插件配置中设置 master/owner。';
480
+ }
481
+ if (/^\/approve\s+always\s+bash\s*$/iu.test(text)) {
482
+ const r = addOwnerApproveAlways(null, ctx, OWNER_APPROVE_ALWAYS_TOOL);
483
+ if (!r.ok)
484
+ return `⚠️ ${r.error}\n${usageLines()}`;
485
+ return '✅ 已对 bash 永久放行 Owner 硬确认(本 Bot)。后续 bash 需确认时将不再弹窗;若当前仍有一条待回复的 bash 确认,本轮仍需输入 yes。';
486
+ }
487
+ if (/^\/approve\s+always\s*$/iu.test(text)) {
488
+ const pending = getPendingOrchestrationTool(null, ctx);
489
+ if (!pending) {
490
+ return `⚠️ 无近期 bash 待确认上下文,请使用:/approve always bash。\n${usageLines()}`;
491
+ }
492
+ const r = addOwnerApproveAlways(null, ctx, pending);
493
+ if (!r.ok)
494
+ return `⚠️ ${r.error}`;
495
+ clearPendingOrchestrationTool(null, ctx);
496
+ return '✅ 已对 bash 永久放行 Owner 硬确认(本 Bot)。';
497
+ }
498
+ const revokeRule = text.match(/^\/approve\s+revoke\s+rule\s+(\S+)\s*$/iu);
499
+ if (revokeRule) {
500
+ const r = removeBashApproveRule(null, ctx, revokeRule[1]);
501
+ if (!r.ok)
502
+ return `⚠️ ${r.error}`;
503
+ return '✅ 已删除该放行规则。';
504
+ }
505
+ const ruleArgument = matchApproveRuleArgument(text);
506
+ if (ruleArgument !== null) {
507
+ const r = addBashApproveRule(null, ctx, ruleArgument.trim());
508
+ if (!r.ok)
509
+ return `⚠️ ${r.error}`;
510
+ return `✅ 已添加规则 id=${r.id.slice(0, 8)}… ,匹配子命令时将不再要求 Owner 确认(仍受危险命令黑名单等约束)。`;
511
+ }
512
+ if (/^\/approve\s+list\s*$/iu.test(text)) {
513
+ return formatBashApproveList(null, ctx);
514
+ }
515
+ if (/^\/approve\s+revoke\s*$/iu.test(text)) {
516
+ const r = removeOwnerApproveAlways(null, ctx, OWNER_APPROVE_ALWAYS_TOOL);
517
+ if (!r.ok)
518
+ return `⚠️ ${r.error}`;
519
+ return '✅ 已撤销 bash 永久放行(正则规则仍保留,可用 /approve list 查看)。';
520
+ }
521
+ return `⚠️ 无法解析指令。\n${usageLines()}`;
522
+ }
411
523
  //# sourceMappingURL=owner-approve-always-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"owner-approve-always-store.js","sourceRoot":"","sources":["../../src/security/owner-approve-always-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"owner-approve-always-store.js","sourceRoot":"","sources":["../../src/security/owner-approve-always-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * 统一工具安全策略门面(policy facade)
3
+ *
4
+ * 背景:builtin 工具曾各自手写策略链且不一致(edit_file 七层、glob/list_dir 两层、
5
+ * analyze_media 三层……),新工具容易漏层,新策略要改所有工具。
6
+ *
7
+ * 本模块把各策略层声明为一张按 priority 排序的策略表,`runToolPolicies` 依序执行,
8
+ * 第一个终结决策(deny 或需 Owner 确认)即短路返回,`decisions` 记录已执行层。
9
+ *
10
+ * 层顺序(以 edit-file-tool 既有链路为基准):
11
+ * role-gate → bash-command-safety → dangerous-tool-approval → bash-sensitive-read
12
+ * → file-permission-matrix(文件写类 + 显式 read)→ bash-file-permission
13
+ * → memory-write-path(写类且有 filePath)→ sensitive-path(有 filePath)
14
+ * → blocked-device-path(写类且有 filePath;read_file 经 devicePathGuard 显式启用)
15
+ * → workspace-access(写类且有 filePath)
16
+ * → exec-policy(有 command 且给 config)
17
+ *
18
+ * 注意:memory-write-path / blocked-device-path / workspace-access 仅对写操作生效,
19
+ * 这是为了严格保持 read 类工具(glob/list_dir/grep/analyze_media)迁移前的对外行为。
20
+ * bash-tool 旧链不含 exec-policy,因此 bash 调用方不传 config,exec-policy 层不会激活。
21
+ */
22
+ import type { Message, Plugin } from '@zhin.js/core';
23
+ import type { ZhinAgentConfig } from '../config/index.js';
24
+ import { type FileOperation } from './file-role-policy.js';
25
+ import { type ToolRequesterRole } from './owner-approve-always-store.js';
26
+ export interface ToolPolicyInput {
27
+ /** 工具名:'read_file'|'edit_file'|'write_file'|'glob'|'list_dir'|'bash'|'web_fetch'|... */
28
+ toolName: string;
29
+ /** 目标路径(文件类工具;已按工具既有行为 expandHome 后传入) */
30
+ filePath?: string;
31
+ /**
32
+ * 未 expandHome 的原始路径,仅供 file-permission-matrix 层使用
33
+ * (旧实现中权限矩阵在 expandHome 之前执行,为保持等价单独透传)。
34
+ */
35
+ rawFilePath?: string;
36
+ /** 覆盖从 toolName 推导的文件操作类型(edit_file→update,write_file→create) */
37
+ fileOperation?: FileOperation;
38
+ /** bash 命令(exec-policy 与 bash 三层用) */
39
+ command?: string;
40
+ /** bash-file-permission 层解析角色用的宿主插件(与 bash-tool 构造注入一致) */
41
+ hostPlugin?: Plugin;
42
+ /**
43
+ * 读类工具显式启用 blocked-device-path 层(仅 read_file;
44
+ * analyze_media 不启用以保持旧行为;拒绝文案也用读类措辞)。
45
+ */
46
+ devicePathGuard?: boolean;
47
+ commMessage?: Message;
48
+ /** exec policy 用配置 */
49
+ config?: Required<ZhinAgentConfig>;
50
+ }
51
+ export interface ToolPolicyDecision {
52
+ allowed: boolean;
53
+ reason?: string;
54
+ /** 需 Owner/二次确认(gate);allowed=true 时同样终结执行 */
55
+ needsOwnerApproval?: boolean;
56
+ role?: ToolRequesterRole;
57
+ /** 各层原始结果(FilePermissionResult / DangerousToolDecision / ExecPolicyResult ...) */
58
+ payload?: unknown;
59
+ }
60
+ export interface ToolPolicyLayerRecord {
61
+ policy: string;
62
+ decision: ToolPolicyDecision;
63
+ }
64
+ export interface ToolPolicyResult extends ToolPolicyDecision {
65
+ /** 产生终结决策的策略名(全部通过时无) */
66
+ deniedBy?: string;
67
+ /** 已执行层的决策记录 */
68
+ decisions: ReadonlyArray<ToolPolicyLayerRecord>;
69
+ }
70
+ export interface ToolPolicyLayer {
71
+ name: string;
72
+ priority: number;
73
+ applies(input: ToolPolicyInput): boolean;
74
+ check(input: ToolPolicyInput, prior: ReadonlyArray<ToolPolicyLayerRecord>): ToolPolicyDecision;
75
+ }
76
+ /**
77
+ * 依 priority 顺序执行适用的策略层;
78
+ * 第一个 `!allowed` 或 `needsOwnerApproval` 的决策即短路返回(deny 优先)。
79
+ */
80
+ export declare function runToolPolicies(input: ToolPolicyInput): ToolPolicyResult;
81
+ /**
82
+ * 把门面结果映射为工具应返回的字符串;全部通过时返回 null(工具继续执行)。
83
+ * 文案与各工具迁移前逐层手写的返回严格一致。
84
+ */
85
+ export declare function toolPolicyResultToMessage(result: ToolPolicyResult, toolName?: string): string | null;
86
+ //# sourceMappingURL=policy-facade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy-facade.d.ts","sourceRoot":"","sources":["../../src/security/policy-facade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EAKL,KAAK,aAAa,EAEnB,MAAM,uBAAuB,CAAC;AAY/B,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAInG,MAAM,WAAW,eAAe;IAC9B,wFAAwF;IACxF,QAAQ,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sBAAsB;IACtB,MAAM,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,kFAAkF;IAClF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC1D,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB;IAChB,SAAS,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;CACjD;AAID,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC;IACzC,KAAK,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,CAAC,qBAAqB,CAAC,GAAG,kBAAkB,CAAC;CAChG;AAoKD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CAWxE;AAID;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,SAAK,GAAG,MAAM,GAAG,IAAI,CA4BhG"}