@aria-cli/tools 1.0.19 → 1.0.31

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 (459) hide show
  1. package/dist/.aria-build-stamp.json +1 -1
  2. package/dist/ask-user-interaction.js +23 -0
  3. package/dist/cache/web-cache.js +67 -0
  4. package/dist/definitions/arion.js +105 -0
  5. package/dist/definitions/browser/browser.js +419 -0
  6. package/dist/definitions/browser/index.js +5 -0
  7. package/dist/definitions/browser/pw-downloads.js +115 -0
  8. package/dist/definitions/browser/pw-interactions.js +200 -0
  9. package/dist/definitions/browser/pw-responses.js +77 -0
  10. package/dist/definitions/browser/pw-session.js +311 -0
  11. package/dist/definitions/browser/pw-shared.js +67 -0
  12. package/dist/definitions/browser/pw-snapshot.js +302 -0
  13. package/dist/definitions/browser/pw-state.js +63 -0
  14. package/dist/definitions/browser/types.js +5 -0
  15. package/dist/definitions/code-intelligence.js +471 -0
  16. package/dist/definitions/core.js +110 -0
  17. package/dist/definitions/delegation.js +513 -0
  18. package/dist/definitions/deploy.js +66 -0
  19. package/dist/definitions/filesystem.js +197 -0
  20. package/dist/definitions/frg.js +64 -0
  21. package/{dist-cjs/definitions/index.d.ts → dist/definitions/index.js} +2 -0
  22. package/dist/definitions/memory.js +124 -0
  23. package/dist/definitions/messaging.js +626 -0
  24. package/dist/definitions/meta.js +350 -0
  25. package/dist/definitions/network.js +160 -0
  26. package/dist/definitions/outlook.js +278 -0
  27. package/dist/definitions/patch/apply-patch.js +185 -0
  28. package/dist/definitions/patch/fuzzy-match.js +167 -0
  29. package/{dist-cjs/definitions/patch/index.d.ts → dist/definitions/patch/index.js} +1 -0
  30. package/dist/definitions/patch/patch-parser.js +208 -0
  31. package/dist/definitions/patch/sandbox-paths.js +106 -0
  32. package/dist/definitions/process/index.js +5 -0
  33. package/dist/definitions/process/process-registry.js +214 -0
  34. package/dist/definitions/process/process.js +387 -0
  35. package/dist/definitions/process/pty-keys.js +255 -0
  36. package/dist/definitions/process/session-slug.js +143 -0
  37. package/dist/definitions/quip.js +196 -0
  38. package/dist/definitions/search.js +61 -0
  39. package/dist/definitions/session-history.js +70 -0
  40. package/dist/definitions/shell.js +182 -0
  41. package/dist/definitions/slack.js +181 -0
  42. package/dist/definitions/web.js +110 -0
  43. package/dist/executors/apply-patch.js +902 -0
  44. package/dist/executors/arion.js +120 -0
  45. package/dist/executors/code-intelligence.js +883 -0
  46. package/dist/executors/deploy.js +849 -0
  47. package/dist/executors/filesystem.js +1119 -0
  48. package/dist/executors/frg-freshness.js +577 -0
  49. package/dist/executors/frg.js +299 -0
  50. package/{dist-cjs/executors/index.d.ts → dist/executors/index.js} +22 -19
  51. package/dist/executors/learning-meta.js +1147 -0
  52. package/dist/executors/lsp-client.js +297 -0
  53. package/dist/executors/memory.js +751 -0
  54. package/dist/executors/meta.js +221 -0
  55. package/dist/executors/process-registry.js +466 -0
  56. package/dist/executors/pty-session-store.js +31 -0
  57. package/dist/executors/pty.js +281 -0
  58. package/dist/executors/restart.js +120 -0
  59. package/dist/executors/search-freshness.js +196 -0
  60. package/dist/executors/search-types.js +53 -0
  61. package/dist/executors/search.js +67 -0
  62. package/dist/executors/self-diagnose.js +399 -0
  63. package/dist/executors/session-history.js +284 -0
  64. package/dist/executors/shell-safety.js +474 -0
  65. package/dist/executors/shell.js +955 -0
  66. package/dist/executors/utils.js +34 -0
  67. package/dist/executors/web.js +543 -0
  68. package/dist/extraction/content-extraction.js +248 -0
  69. package/dist/extraction/index.js +5 -0
  70. package/dist/headless-control-contract.js +968 -0
  71. package/dist/{index-v49pd2a0.js → index-45qvfjbf.js} +2 -2
  72. package/dist/index.js +71 -372
  73. package/dist/local-control-http-auth.js +3 -0
  74. package/dist/mcp/client.js +182 -0
  75. package/dist/mcp/connection.js +484 -0
  76. package/dist/mcp/index.js +11 -0
  77. package/dist/mcp/jsonrpc.js +145 -0
  78. package/dist/mcp/types.js +8 -0
  79. package/dist/network-control-adapter.js +73 -0
  80. package/dist/network-runtime/address-types.js +166 -0
  81. package/dist/network-runtime/db-owner-fencing.js +70 -0
  82. package/dist/network-runtime/delivery-receipts.js +270 -0
  83. package/dist/network-runtime/direct-endpoint-authority.js +26 -0
  84. package/dist/network-runtime/index.js +13 -1
  85. package/dist/network-runtime/local-control-contract.js +628 -0
  86. package/dist/network-runtime/node-store-contract.js +35 -0
  87. package/dist/network-runtime/pair-route-contract.js +78 -0
  88. package/dist/network-runtime/peer-capabilities.js +29 -0
  89. package/dist/network-runtime/peer-principal-ref.js +13 -0
  90. package/dist/network-runtime/peer-state-machine.js +122 -0
  91. package/dist/network-runtime/protocol-schemas.js +206 -0
  92. package/dist/network-runtime/runtime-bootstrap-contract.js +61 -0
  93. package/dist/outlook/desktop-session.js +280 -0
  94. package/dist/policy.js +150 -0
  95. package/dist/providers/brave.js +63 -0
  96. package/dist/providers/duckduckgo.js +177 -0
  97. package/dist/providers/exa.js +64 -0
  98. package/dist/providers/firecrawl.js +56 -0
  99. package/{dist-cjs/providers/index.d.ts → dist/providers/index.js} +1 -1
  100. package/dist/providers/jina.js +50 -0
  101. package/dist/providers/router.js +97 -0
  102. package/dist/providers/search-provider.js +33 -0
  103. package/dist/providers/tavily.js +55 -0
  104. package/dist/pty-w5c9dv33.js +1 -0
  105. package/dist/quip/desktop-session.js +318 -0
  106. package/{dist-cjs/registry/index.d.ts → dist/registry/index.js} +1 -0
  107. package/dist/registry/registry.js +757 -0
  108. package/dist/runtime-socket-local-control-client.js +331 -0
  109. package/dist/security/dns-normalization.js +20 -0
  110. package/dist/security/dns-pinning.js +124 -0
  111. package/dist/security/external-content.js +92 -0
  112. package/dist/security/ssrf.js +182 -0
  113. package/dist/slack/desktop-session.js +325 -0
  114. package/dist/tool-factory.js +48 -0
  115. package/dist/types.js +8 -0
  116. package/dist/utils/retry.js +133 -0
  117. package/dist/utils/safe-parse-json.js +161 -0
  118. package/dist/utils/url.js +20 -0
  119. package/dist-cjs/ask-user-interaction.js +28 -0
  120. package/dist-cjs/cache/web-cache.js +71 -0
  121. package/dist-cjs/definitions/arion.js +108 -0
  122. package/dist-cjs/definitions/browser/browser.js +422 -0
  123. package/dist-cjs/definitions/browser/index.js +9 -0
  124. package/dist-cjs/definitions/browser/pw-downloads.js +118 -0
  125. package/dist-cjs/definitions/browser/pw-interactions.js +214 -0
  126. package/dist-cjs/definitions/browser/pw-responses.js +85 -0
  127. package/dist-cjs/definitions/browser/pw-session.js +327 -0
  128. package/dist-cjs/definitions/browser/pw-shared.js +73 -0
  129. package/dist-cjs/definitions/browser/pw-snapshot.js +308 -0
  130. package/dist-cjs/definitions/browser/pw-state.js +71 -0
  131. package/dist-cjs/definitions/browser/types.js +6 -0
  132. package/dist-cjs/definitions/code-intelligence.js +474 -0
  133. package/dist-cjs/definitions/core.js +134 -0
  134. package/dist-cjs/definitions/delegation.js +516 -0
  135. package/dist-cjs/definitions/deploy.js +69 -0
  136. package/dist-cjs/definitions/filesystem.js +200 -0
  137. package/dist-cjs/definitions/frg.js +67 -0
  138. package/dist-cjs/definitions/index.js +44 -0
  139. package/dist-cjs/definitions/memory.js +127 -0
  140. package/dist-cjs/definitions/messaging.js +632 -0
  141. package/dist-cjs/definitions/meta.js +353 -0
  142. package/dist-cjs/definitions/network.js +163 -0
  143. package/dist-cjs/definitions/outlook.js +281 -0
  144. package/dist-cjs/definitions/patch/apply-patch.js +192 -0
  145. package/dist-cjs/definitions/patch/fuzzy-match.js +173 -0
  146. package/dist-cjs/definitions/patch/index.js +6 -0
  147. package/dist-cjs/definitions/patch/patch-parser.js +216 -0
  148. package/dist-cjs/definitions/patch/sandbox-paths.js +114 -0
  149. package/dist-cjs/definitions/process/index.js +9 -0
  150. package/dist-cjs/definitions/process/process-registry.js +232 -0
  151. package/dist-cjs/definitions/process/process.js +390 -0
  152. package/dist-cjs/definitions/process/pty-keys.js +260 -0
  153. package/dist-cjs/definitions/process/session-slug.js +146 -0
  154. package/dist-cjs/definitions/quip.js +199 -0
  155. package/dist-cjs/definitions/search.js +64 -0
  156. package/dist-cjs/definitions/session-history.js +73 -0
  157. package/dist-cjs/definitions/shell.js +185 -0
  158. package/dist-cjs/definitions/slack.js +184 -0
  159. package/dist-cjs/definitions/web.js +113 -0
  160. package/dist-cjs/executors/apply-patch.js +939 -0
  161. package/dist-cjs/executors/arion.js +126 -0
  162. package/dist-cjs/executors/code-intelligence.js +926 -0
  163. package/dist-cjs/executors/deploy.js +870 -0
  164. package/dist-cjs/executors/filesystem.js +1164 -0
  165. package/dist-cjs/executors/frg-freshness.js +628 -0
  166. package/dist-cjs/executors/frg.js +335 -0
  167. package/dist-cjs/executors/index.js +144 -0
  168. package/dist-cjs/executors/learning-meta.js +1166 -0
  169. package/dist-cjs/executors/memory.js +797 -0
  170. package/dist-cjs/executors/meta.js +227 -0
  171. package/dist-cjs/executors/process-registry.js +470 -0
  172. package/dist-cjs/executors/pty-session-store.js +35 -0
  173. package/dist-cjs/executors/pty.js +289 -0
  174. package/dist-cjs/executors/restart.js +156 -0
  175. package/dist-cjs/executors/search-freshness.js +235 -0
  176. package/dist-cjs/executors/search-types.js +57 -0
  177. package/dist-cjs/executors/search.js +103 -0
  178. package/dist-cjs/executors/self-diagnose.js +435 -0
  179. package/dist-cjs/executors/session-history.js +321 -0
  180. package/dist-cjs/executors/shell-safety.js +479 -0
  181. package/dist-cjs/executors/shell.js +1002 -0
  182. package/dist-cjs/executors/utils.js +74 -0
  183. package/dist-cjs/executors/web.js +548 -0
  184. package/dist-cjs/extraction/content-extraction.js +289 -0
  185. package/dist-cjs/extraction/index.js +9 -0
  186. package/dist-cjs/headless-control-contract.js +973 -0
  187. package/dist-cjs/index.js +436 -385
  188. package/dist-cjs/local-control-http-auth.js +6 -0
  189. package/dist-cjs/mcp/client.js +186 -0
  190. package/dist-cjs/mcp/connection.js +488 -0
  191. package/dist-cjs/mcp/index.js +31 -0
  192. package/dist-cjs/mcp/jsonrpc.js +149 -0
  193. package/dist-cjs/mcp/types.js +9 -0
  194. package/dist-cjs/network-control-adapter.js +78 -0
  195. package/dist-cjs/network-runtime/address-types.js +169 -0
  196. package/dist-cjs/network-runtime/db-owner-fencing.js +77 -0
  197. package/dist-cjs/network-runtime/delivery-receipts.js +279 -0
  198. package/dist-cjs/network-runtime/direct-endpoint-authority.js +30 -0
  199. package/dist-cjs/network-runtime/index.js +173 -8
  200. package/dist-cjs/network-runtime/local-control-contract.js +634 -0
  201. package/dist-cjs/network-runtime/node-store-contract.js +39 -0
  202. package/dist-cjs/network-runtime/pair-route-contract.js +81 -0
  203. package/dist-cjs/network-runtime/peer-capabilities.js +38 -0
  204. package/dist-cjs/network-runtime/peer-principal-ref.js +16 -0
  205. package/dist-cjs/network-runtime/peer-state-machine.js +130 -0
  206. package/dist-cjs/network-runtime/protocol-schemas.js +213 -0
  207. package/dist-cjs/network-runtime/runtime-bootstrap-contract.js +64 -0
  208. package/dist-cjs/outlook/desktop-session.js +319 -0
  209. package/dist-cjs/policy.js +156 -0
  210. package/dist-cjs/providers/brave.js +67 -0
  211. package/dist-cjs/providers/duckduckgo.js +181 -0
  212. package/dist-cjs/providers/exa.js +68 -0
  213. package/dist-cjs/providers/firecrawl.js +60 -0
  214. package/dist-cjs/providers/index.js +18 -0
  215. package/dist-cjs/providers/jina.js +54 -0
  216. package/dist-cjs/providers/router.js +101 -0
  217. package/dist-cjs/providers/search-provider.js +37 -0
  218. package/dist-cjs/providers/tavily.js +59 -0
  219. package/dist-cjs/quip/desktop-session.js +354 -0
  220. package/dist-cjs/registry/index.js +7 -0
  221. package/dist-cjs/registry/registry.js +762 -0
  222. package/dist-cjs/runtime-socket-local-control-client.js +368 -0
  223. package/dist-cjs/security/dns-normalization.js +23 -0
  224. package/dist-cjs/security/dns-pinning.js +161 -0
  225. package/dist-cjs/security/external-content.js +96 -0
  226. package/dist-cjs/security/ssrf.js +222 -0
  227. package/dist-cjs/slack/desktop-session.js +367 -0
  228. package/dist-cjs/tool-factory.js +51 -0
  229. package/dist-cjs/types.js +9 -0
  230. package/dist-cjs/utils/retry.js +170 -0
  231. package/dist-cjs/utils/safe-parse-json.js +165 -0
  232. package/dist-cjs/utils/url.js +24 -0
  233. package/package.json +11 -10
  234. package/dist/ask-user-interaction.d.ts +0 -10
  235. package/dist/cache/web-cache.d.ts +0 -52
  236. package/dist/definitions/arion.d.ts +0 -8
  237. package/dist/definitions/browser/browser.d.ts +0 -2
  238. package/dist/definitions/browser/index.d.ts +0 -1
  239. package/dist/definitions/browser/pw-downloads.d.ts +0 -13
  240. package/dist/definitions/browser/pw-interactions.d.ts +0 -78
  241. package/dist/definitions/browser/pw-responses.d.ts +0 -28
  242. package/dist/definitions/browser/pw-session.d.ts +0 -65
  243. package/dist/definitions/browser/pw-shared.d.ts +0 -22
  244. package/dist/definitions/browser/pw-snapshot.d.ts +0 -34
  245. package/dist/definitions/browser/pw-state.d.ts +0 -22
  246. package/dist/definitions/browser/types.d.ts +0 -277
  247. package/dist/definitions/code-intelligence.d.ts +0 -8
  248. package/dist/definitions/core.d.ts +0 -47
  249. package/dist/definitions/delegation.d.ts +0 -11
  250. package/dist/definitions/deploy.d.ts +0 -15
  251. package/dist/definitions/filesystem.d.ts +0 -9
  252. package/dist/definitions/frg.d.ts +0 -3
  253. package/dist/definitions/index.d.ts +0 -19
  254. package/dist/definitions/memory.d.ts +0 -8
  255. package/dist/definitions/messaging.d.ts +0 -11
  256. package/dist/definitions/meta.d.ts +0 -11
  257. package/dist/definitions/network.d.ts +0 -11
  258. package/dist/definitions/outlook.d.ts +0 -2
  259. package/dist/definitions/patch/apply-patch.d.ts +0 -11
  260. package/dist/definitions/patch/fuzzy-match.d.ts +0 -10
  261. package/dist/definitions/patch/index.d.ts +0 -1
  262. package/dist/definitions/patch/patch-parser.d.ts +0 -50
  263. package/dist/definitions/patch/sandbox-paths.d.ts +0 -18
  264. package/dist/definitions/process/index.d.ts +0 -1
  265. package/dist/definitions/process/process-registry.d.ts +0 -67
  266. package/dist/definitions/process/process.d.ts +0 -9
  267. package/dist/definitions/process/pty-keys.d.ts +0 -13
  268. package/dist/definitions/process/session-slug.d.ts +0 -1
  269. package/dist/definitions/quip.d.ts +0 -2
  270. package/dist/definitions/search.d.ts +0 -9
  271. package/dist/definitions/session-history.d.ts +0 -11
  272. package/dist/definitions/shell.d.ts +0 -8
  273. package/dist/definitions/slack.d.ts +0 -2
  274. package/dist/definitions/web.d.ts +0 -8
  275. package/dist/executors/apply-patch.d.ts +0 -51
  276. package/dist/executors/arion.d.ts +0 -50
  277. package/dist/executors/code-intelligence.d.ts +0 -138
  278. package/dist/executors/deploy.d.ts +0 -169
  279. package/dist/executors/filesystem.d.ts +0 -150
  280. package/dist/executors/frg-freshness.d.ts +0 -93
  281. package/dist/executors/frg.d.ts +0 -27
  282. package/dist/executors/index.d.ts +0 -44
  283. package/dist/executors/learning-meta.d.ts +0 -87
  284. package/dist/executors/lsp-client.d.ts +0 -38
  285. package/dist/executors/memory.d.ts +0 -203
  286. package/dist/executors/meta.d.ts +0 -73
  287. package/dist/executors/process-registry.d.ts +0 -98
  288. package/dist/executors/pty-session-store.d.ts +0 -14
  289. package/dist/executors/pty.d.ts +0 -133
  290. package/dist/executors/restart.d.ts +0 -13
  291. package/dist/executors/search-freshness.d.ts +0 -50
  292. package/dist/executors/search-types.d.ts +0 -52
  293. package/dist/executors/search.d.ts +0 -11
  294. package/dist/executors/self-diagnose.d.ts +0 -89
  295. package/dist/executors/session-history.d.ts +0 -75
  296. package/dist/executors/shell-safety.d.ts +0 -27
  297. package/dist/executors/shell.d.ts +0 -168
  298. package/dist/executors/utils.d.ts +0 -20
  299. package/dist/executors/web.d.ts +0 -89
  300. package/dist/extraction/content-extraction.d.ts +0 -48
  301. package/dist/extraction/index.d.ts +0 -4
  302. package/dist/headless-control-contract.d.ts +0 -3182
  303. package/dist/index.d.ts +0 -62
  304. package/dist/local-control-http-auth.d.ts +0 -2
  305. package/dist/mcp/client.d.ts +0 -68
  306. package/dist/mcp/connection.d.ts +0 -54
  307. package/dist/mcp/index.d.ts +0 -10
  308. package/dist/mcp/jsonrpc.d.ts +0 -36
  309. package/dist/mcp/types.d.ts +0 -178
  310. package/dist/network-control-adapter.d.ts +0 -4
  311. package/dist/network-runtime/address-types.d.ts +0 -201
  312. package/dist/network-runtime/db-owner-fencing.d.ts +0 -43
  313. package/dist/network-runtime/delivery-receipts.d.ts +0 -117
  314. package/dist/network-runtime/direct-endpoint-authority.d.ts +0 -8
  315. package/dist/network-runtime/index.d.ts +0 -24
  316. package/dist/network-runtime/local-control-contract.d.ts +0 -758
  317. package/dist/network-runtime/node-store-contract.d.ts +0 -49
  318. package/dist/network-runtime/pair-route-contract.d.ts +0 -100
  319. package/dist/network-runtime/peer-capabilities.d.ts +0 -10
  320. package/dist/network-runtime/peer-principal-ref.d.ts +0 -9
  321. package/dist/network-runtime/peer-state-machine.d.ts +0 -70
  322. package/dist/network-runtime/protocol-schemas.d.ts +0 -328
  323. package/dist/network-runtime/runtime-bootstrap-contract.d.ts +0 -81
  324. package/dist/outlook/desktop-session.d.ts +0 -68
  325. package/dist/policy.d.ts +0 -43
  326. package/dist/providers/brave.d.ts +0 -10
  327. package/dist/providers/duckduckgo.d.ts +0 -18
  328. package/dist/providers/exa.d.ts +0 -10
  329. package/dist/providers/firecrawl.d.ts +0 -10
  330. package/dist/providers/index.d.ts +0 -8
  331. package/dist/providers/jina.d.ts +0 -10
  332. package/dist/providers/router.d.ts +0 -21
  333. package/dist/providers/search-provider.d.ts +0 -35
  334. package/dist/providers/tavily.d.ts +0 -10
  335. package/dist/pty-cf6pmvx6.js +0 -1
  336. package/dist/quip/desktop-session.d.ts +0 -69
  337. package/dist/registry/index.d.ts +0 -1
  338. package/dist/registry/registry.d.ts +0 -156
  339. package/dist/runtime-socket-local-control-client.d.ts +0 -10
  340. package/dist/security/dns-normalization.d.ts +0 -6
  341. package/dist/security/dns-pinning.d.ts +0 -27
  342. package/dist/security/external-content.d.ts +0 -40
  343. package/dist/security/ssrf.d.ts +0 -40
  344. package/dist/slack/desktop-session.d.ts +0 -69
  345. package/dist/tool-factory.d.ts +0 -46
  346. package/dist/types.d.ts +0 -1192
  347. package/dist/utils/retry.d.ts +0 -11
  348. package/dist/utils/safe-parse-json.d.ts +0 -26
  349. package/dist/utils/url.d.ts +0 -10
  350. package/dist-cjs/ask-user-interaction.d.ts +0 -10
  351. package/dist-cjs/cache/web-cache.d.ts +0 -52
  352. package/dist-cjs/definitions/arion.d.ts +0 -8
  353. package/dist-cjs/definitions/browser/browser.d.ts +0 -2
  354. package/dist-cjs/definitions/browser/index.d.ts +0 -1
  355. package/dist-cjs/definitions/browser/pw-downloads.d.ts +0 -13
  356. package/dist-cjs/definitions/browser/pw-interactions.d.ts +0 -78
  357. package/dist-cjs/definitions/browser/pw-responses.d.ts +0 -28
  358. package/dist-cjs/definitions/browser/pw-session.d.ts +0 -65
  359. package/dist-cjs/definitions/browser/pw-shared.d.ts +0 -22
  360. package/dist-cjs/definitions/browser/pw-snapshot.d.ts +0 -34
  361. package/dist-cjs/definitions/browser/pw-state.d.ts +0 -22
  362. package/dist-cjs/definitions/browser/types.d.ts +0 -277
  363. package/dist-cjs/definitions/code-intelligence.d.ts +0 -8
  364. package/dist-cjs/definitions/core.d.ts +0 -47
  365. package/dist-cjs/definitions/delegation.d.ts +0 -11
  366. package/dist-cjs/definitions/deploy.d.ts +0 -15
  367. package/dist-cjs/definitions/filesystem.d.ts +0 -9
  368. package/dist-cjs/definitions/frg.d.ts +0 -3
  369. package/dist-cjs/definitions/memory.d.ts +0 -8
  370. package/dist-cjs/definitions/messaging.d.ts +0 -11
  371. package/dist-cjs/definitions/meta.d.ts +0 -11
  372. package/dist-cjs/definitions/network.d.ts +0 -11
  373. package/dist-cjs/definitions/outlook.d.ts +0 -2
  374. package/dist-cjs/definitions/patch/apply-patch.d.ts +0 -11
  375. package/dist-cjs/definitions/patch/fuzzy-match.d.ts +0 -10
  376. package/dist-cjs/definitions/patch/patch-parser.d.ts +0 -50
  377. package/dist-cjs/definitions/patch/sandbox-paths.d.ts +0 -18
  378. package/dist-cjs/definitions/process/index.d.ts +0 -1
  379. package/dist-cjs/definitions/process/process-registry.d.ts +0 -67
  380. package/dist-cjs/definitions/process/process.d.ts +0 -9
  381. package/dist-cjs/definitions/process/pty-keys.d.ts +0 -13
  382. package/dist-cjs/definitions/process/session-slug.d.ts +0 -1
  383. package/dist-cjs/definitions/quip.d.ts +0 -2
  384. package/dist-cjs/definitions/search.d.ts +0 -9
  385. package/dist-cjs/definitions/session-history.d.ts +0 -11
  386. package/dist-cjs/definitions/shell.d.ts +0 -8
  387. package/dist-cjs/definitions/slack.d.ts +0 -2
  388. package/dist-cjs/definitions/web.d.ts +0 -8
  389. package/dist-cjs/executors/apply-patch.d.ts +0 -51
  390. package/dist-cjs/executors/arion.d.ts +0 -50
  391. package/dist-cjs/executors/code-intelligence.d.ts +0 -138
  392. package/dist-cjs/executors/deploy.d.ts +0 -169
  393. package/dist-cjs/executors/filesystem.d.ts +0 -150
  394. package/dist-cjs/executors/frg-freshness.d.ts +0 -93
  395. package/dist-cjs/executors/frg.d.ts +0 -27
  396. package/dist-cjs/executors/learning-meta.d.ts +0 -87
  397. package/dist-cjs/executors/lsp-client.d.ts +0 -38
  398. package/dist-cjs/executors/memory.d.ts +0 -203
  399. package/dist-cjs/executors/meta.d.ts +0 -73
  400. package/dist-cjs/executors/process-registry.d.ts +0 -98
  401. package/dist-cjs/executors/pty-session-store.d.ts +0 -14
  402. package/dist-cjs/executors/pty.d.ts +0 -133
  403. package/dist-cjs/executors/restart.d.ts +0 -13
  404. package/dist-cjs/executors/search-freshness.d.ts +0 -50
  405. package/dist-cjs/executors/search-types.d.ts +0 -52
  406. package/dist-cjs/executors/search.d.ts +0 -11
  407. package/dist-cjs/executors/self-diagnose.d.ts +0 -89
  408. package/dist-cjs/executors/session-history.d.ts +0 -75
  409. package/dist-cjs/executors/shell-safety.d.ts +0 -27
  410. package/dist-cjs/executors/shell.d.ts +0 -168
  411. package/dist-cjs/executors/utils.d.ts +0 -20
  412. package/dist-cjs/executors/web.d.ts +0 -89
  413. package/dist-cjs/extraction/content-extraction.d.ts +0 -48
  414. package/dist-cjs/extraction/index.d.ts +0 -4
  415. package/dist-cjs/headless-control-contract.d.ts +0 -3182
  416. package/dist-cjs/index.d.ts +0 -62
  417. package/dist-cjs/local-control-http-auth.d.ts +0 -2
  418. package/dist-cjs/mcp/client.d.ts +0 -68
  419. package/dist-cjs/mcp/connection.d.ts +0 -54
  420. package/dist-cjs/mcp/index.d.ts +0 -10
  421. package/dist-cjs/mcp/jsonrpc.d.ts +0 -36
  422. package/dist-cjs/mcp/types.d.ts +0 -178
  423. package/dist-cjs/network-control-adapter.d.ts +0 -4
  424. package/dist-cjs/network-runtime/address-types.d.ts +0 -201
  425. package/dist-cjs/network-runtime/db-owner-fencing.d.ts +0 -43
  426. package/dist-cjs/network-runtime/delivery-receipts.d.ts +0 -117
  427. package/dist-cjs/network-runtime/direct-endpoint-authority.d.ts +0 -8
  428. package/dist-cjs/network-runtime/index.d.ts +0 -24
  429. package/dist-cjs/network-runtime/local-control-contract.d.ts +0 -758
  430. package/dist-cjs/network-runtime/node-store-contract.d.ts +0 -49
  431. package/dist-cjs/network-runtime/pair-route-contract.d.ts +0 -100
  432. package/dist-cjs/network-runtime/peer-capabilities.d.ts +0 -10
  433. package/dist-cjs/network-runtime/peer-principal-ref.d.ts +0 -9
  434. package/dist-cjs/network-runtime/peer-state-machine.d.ts +0 -70
  435. package/dist-cjs/network-runtime/protocol-schemas.d.ts +0 -328
  436. package/dist-cjs/network-runtime/runtime-bootstrap-contract.d.ts +0 -81
  437. package/dist-cjs/outlook/desktop-session.d.ts +0 -68
  438. package/dist-cjs/policy.d.ts +0 -43
  439. package/dist-cjs/providers/brave.d.ts +0 -10
  440. package/dist-cjs/providers/duckduckgo.d.ts +0 -18
  441. package/dist-cjs/providers/exa.d.ts +0 -10
  442. package/dist-cjs/providers/firecrawl.d.ts +0 -10
  443. package/dist-cjs/providers/jina.d.ts +0 -10
  444. package/dist-cjs/providers/router.d.ts +0 -21
  445. package/dist-cjs/providers/search-provider.d.ts +0 -35
  446. package/dist-cjs/providers/tavily.d.ts +0 -10
  447. package/dist-cjs/quip/desktop-session.d.ts +0 -69
  448. package/dist-cjs/registry/registry.d.ts +0 -156
  449. package/dist-cjs/runtime-socket-local-control-client.d.ts +0 -10
  450. package/dist-cjs/security/dns-normalization.d.ts +0 -6
  451. package/dist-cjs/security/dns-pinning.d.ts +0 -27
  452. package/dist-cjs/security/external-content.d.ts +0 -40
  453. package/dist-cjs/security/ssrf.d.ts +0 -40
  454. package/dist-cjs/slack/desktop-session.d.ts +0 -69
  455. package/dist-cjs/tool-factory.d.ts +0 -46
  456. package/dist-cjs/types.d.ts +0 -1192
  457. package/dist-cjs/utils/retry.d.ts +0 -11
  458. package/dist-cjs/utils/safe-parse-json.d.ts +0 -26
  459. package/dist-cjs/utils/url.d.ts +0 -10
@@ -0,0 +1,626 @@
1
+ /**
2
+ * Messaging tool definitions
3
+ *
4
+ * Tools: send_message, check_messages, search_messages, get_thread (4 tools)
5
+ *
6
+ * Inter-agent messaging for arions, workers, and leaders.
7
+ * All tools use context.messageStore (injected by runner when Memoria is available).
8
+ * When the message store isn't wired, tools return a clear error.
9
+ */
10
+ import crypto from "node:crypto";
11
+ import { z } from "zod";
12
+ import { tool } from "../tool-factory.js";
13
+ import { canonicalizeDeliveryReceipt, InboxAddressSchema } from "../network-runtime/index.js";
14
+ const SENDER_INBOX_METADATA_KEY = "senderInbox";
15
+ /**
16
+ * Resolve the local inbox address from ToolContext.
17
+ *
18
+ * Throws instead of returning null — a missing inbox address is a wiring bug
19
+ * (the entrypoint failed to set nodeId), not a user error. Silent message
20
+ * drops are structurally impossible: tools either route correctly or crash loudly.
21
+ */
22
+ function resolveInboxAddress(context) {
23
+ if (context.inboxAddress) {
24
+ return context.inboxAddress;
25
+ }
26
+ if (context.nodeId) {
27
+ return { kind: "node", nodeId: context.nodeId };
28
+ }
29
+ throw new Error("Inbox address not available: neither context.inboxAddress nor context.nodeId is set. " +
30
+ "The entrypoint must wire nodeId into ToolContext (via RunOptions.nodeId or direct inboxAddress). " +
31
+ "This is a wiring bug — check tool-executor.ts and RunSession.toRunOptions().");
32
+ }
33
+ /**
34
+ * Resolve ALL inbox addresses the caller should see.
35
+ *
36
+ * When the runner is an attached client ({kind: "client", clientId}), remote
37
+ * peer messages still land in the node inbox ({kind: "node", nodeId}). The TUI
38
+ * status bar already polls both — this helper lets the read tools do the same
39
+ * so the LLM sees everything the user sees.
40
+ */
41
+ function resolveAllInboxAddresses(context) {
42
+ const primary = resolveInboxAddress(context);
43
+ if (primary.kind === "client" && context.nodeId) {
44
+ return [primary, { kind: "node", nodeId: context.nodeId }];
45
+ }
46
+ return [primary];
47
+ }
48
+ function resolveSenderIdentity(context, inboxAddress) {
49
+ const senderType = context.arion
50
+ ? "arion"
51
+ : (context.senderType ?? "leader");
52
+ if (context.arion) {
53
+ return {
54
+ id: context.arion.id,
55
+ name: context.arion.name,
56
+ type: senderType,
57
+ };
58
+ }
59
+ return {
60
+ id: context.nodeId ??
61
+ (inboxAddress.kind === "client" ? inboxAddress.clientId : inboxAddress.nodeId),
62
+ name: "ARIA",
63
+ type: senderType,
64
+ };
65
+ }
66
+ async function listAttachedClients(context) {
67
+ return Promise.resolve(context.networkControl?.listAttachedClients?.() ?? []);
68
+ }
69
+ function buildUnknownRecipientError(context, recipientRef) {
70
+ const localRecipientHint = context.manager
71
+ ? "registered local mailbox id or arion name"
72
+ : "registered local mailbox id or alias";
73
+ const sameHomeHint = context.networkControl?.listAttachedClients
74
+ ? "exact same-home clientId from list_clients"
75
+ : "exact same-home clientId";
76
+ return (`Unknown recipient "${recipientRef}". ` +
77
+ `send_message requires an exact recipient identity: ${localRecipientHint}, exact remote nodeId, or ${sameHomeHint}.`);
78
+ }
79
+ async function resolveManagedLocalRecipient(context, recipientRef) {
80
+ const manager = context.manager;
81
+ if (!manager) {
82
+ return null;
83
+ }
84
+ const [directByName, listed] = await Promise.all([
85
+ manager.get(recipientRef).catch(() => null),
86
+ manager.list().catch(() => []),
87
+ ]);
88
+ const exactMatch = directByName ??
89
+ listed.find((candidate) => candidate.id === recipientRef || candidate.name === recipientRef) ??
90
+ null;
91
+ if (!exactMatch) {
92
+ return null;
93
+ }
94
+ return {
95
+ kind: "local",
96
+ mailboxId: exactMatch.id,
97
+ recipientName: exactMatch.name,
98
+ };
99
+ }
100
+ function extractSenderInboxFromMetadata(metadata) {
101
+ if (!metadata) {
102
+ return undefined;
103
+ }
104
+ try {
105
+ const parsed = JSON.parse(metadata);
106
+ if (!(SENDER_INBOX_METADATA_KEY in parsed)) {
107
+ return undefined;
108
+ }
109
+ return InboxAddressSchema.parse(parsed[SENDER_INBOX_METADATA_KEY]);
110
+ }
111
+ catch {
112
+ return undefined;
113
+ }
114
+ }
115
+ async function resolveRecipientFromReplyTarget(context, replyTo, inboxAddress) {
116
+ if (typeof context.messageStore?.getMessageForInbox !== "function") {
117
+ return {
118
+ ok: false,
119
+ error: "Reply routing is unavailable: the message store cannot resolve inbox-scoped message ids.",
120
+ };
121
+ }
122
+ const original = context.messageStore.getMessageForInbox(inboxAddress, replyTo);
123
+ if (!original) {
124
+ return {
125
+ ok: false,
126
+ error: `Cannot reply to message "${replyTo}" because it is not present in the current inbox.`,
127
+ };
128
+ }
129
+ const senderInbox = extractSenderInboxFromMetadata(original.metadata);
130
+ if (senderInbox?.kind === "client") {
131
+ return {
132
+ ok: true,
133
+ recipient: {
134
+ kind: "client",
135
+ clientId: senderInbox.clientId,
136
+ recipientName: original.sender_name,
137
+ self: inboxAddress.kind === "client" && senderInbox.clientId === inboxAddress.clientId,
138
+ },
139
+ };
140
+ }
141
+ return resolveRecipientIdentity(context, original.sender_id, inboxAddress);
142
+ }
143
+ async function resolveRecipientIdentity(context, recipientRef, inboxAddress) {
144
+ const localMailbox = context.mailbox;
145
+ const peers = context.networkControl?.listPeers() ?? [];
146
+ const attachedClients = await listAttachedClients(context);
147
+ const exactClient = attachedClients.find((client) => client.clientId === recipientRef);
148
+ if (exactClient) {
149
+ return {
150
+ ok: true,
151
+ recipient: {
152
+ kind: "client",
153
+ clientId: exactClient.clientId,
154
+ recipientName: exactClient.displayLabel.trim() || exactClient.clientId,
155
+ self: exactClient.self,
156
+ },
157
+ };
158
+ }
159
+ const exactPeer = peers.find((peer) => peer.nodeId === recipientRef);
160
+ if (exactPeer) {
161
+ if (exactPeer.routeOwnership === "superseded" ||
162
+ exactPeer.deliveryReadiness === "cannot_address") {
163
+ return {
164
+ ok: false,
165
+ error: `Peer "${recipientRef}" is not currently addressable` +
166
+ (exactPeer.routeOwnership === "superseded"
167
+ ? " because its direct route claim has been superseded."
168
+ : "."),
169
+ };
170
+ }
171
+ return {
172
+ ok: true,
173
+ recipient: {
174
+ kind: "remote",
175
+ nodeId: exactPeer.nodeId,
176
+ recipientName: exactPeer.displayNameSnapshot ?? exactPeer.nodeId,
177
+ },
178
+ };
179
+ }
180
+ const hasLocalRecipientId = typeof localMailbox?.has === "function" && localMailbox.has(recipientRef);
181
+ if (hasLocalRecipientId) {
182
+ return {
183
+ ok: true,
184
+ recipient: {
185
+ kind: "local",
186
+ mailboxId: recipientRef,
187
+ recipientName: recipientRef,
188
+ },
189
+ };
190
+ }
191
+ const hasLocalRecipientAlias = typeof localMailbox?.hasByName === "function" && localMailbox.hasByName(recipientRef);
192
+ if (hasLocalRecipientAlias) {
193
+ const canonicalLocalRecipientId = typeof localMailbox?.resolveId === "function"
194
+ ? localMailbox.resolveId(recipientRef)
195
+ : undefined;
196
+ if (!canonicalLocalRecipientId) {
197
+ return {
198
+ ok: false,
199
+ error: `Registered local alias "${recipientRef}" is missing a canonical mailbox id`,
200
+ };
201
+ }
202
+ return {
203
+ ok: true,
204
+ recipient: {
205
+ kind: "local",
206
+ mailboxId: canonicalLocalRecipientId,
207
+ recipientName: recipientRef,
208
+ },
209
+ };
210
+ }
211
+ const managedLocalRecipient = await resolveManagedLocalRecipient(context, recipientRef);
212
+ if (managedLocalRecipient) {
213
+ return {
214
+ ok: true,
215
+ recipient: managedLocalRecipient,
216
+ };
217
+ }
218
+ // Resolve by display name — allows @mentioning peers by name instead of nodeId.
219
+ const recipientRefLower = recipientRef.toLowerCase().replace(/^@/, "");
220
+ const displayMatches = peers.filter((peer) => peer.displayNameSnapshot?.toLowerCase() === recipientRefLower ||
221
+ peer.displayNameSnapshot?.toLowerCase() === recipientRef.toLowerCase());
222
+ if (displayMatches.length > 1) {
223
+ return { ok: false, error: `Ambiguous peer display name "${recipientRef}"` };
224
+ }
225
+ if (displayMatches.length === 1) {
226
+ const matchedPeer = displayMatches[0];
227
+ if (matchedPeer.routeOwnership === "superseded" ||
228
+ matchedPeer.deliveryReadiness === "cannot_address") {
229
+ return {
230
+ ok: false,
231
+ error: `Peer "${matchedPeer.displayNameSnapshot}" is not currently addressable.`,
232
+ };
233
+ }
234
+ return {
235
+ ok: true,
236
+ recipient: {
237
+ kind: "remote",
238
+ nodeId: matchedPeer.nodeId,
239
+ recipientName: matchedPeer.displayNameSnapshot ?? matchedPeer.nodeId,
240
+ },
241
+ };
242
+ }
243
+ const clientDisplayMatches = attachedClients.filter((client) => client.displayLabel?.toLowerCase() === recipientRefLower ||
244
+ client.displayLabel?.toLowerCase() === recipientRef.toLowerCase());
245
+ if (clientDisplayMatches.length > 1) {
246
+ return { ok: false, error: `Ambiguous same-home client label "${recipientRef}"` };
247
+ }
248
+ if (clientDisplayMatches.length === 1) {
249
+ const matchedClient = clientDisplayMatches[0];
250
+ return {
251
+ ok: true,
252
+ recipient: {
253
+ kind: "client",
254
+ clientId: matchedClient.clientId,
255
+ recipientName: matchedClient.displayLabel?.trim() || matchedClient.clientId,
256
+ self: matchedClient.self,
257
+ },
258
+ };
259
+ }
260
+ if (inboxAddress.kind === "client") {
261
+ return {
262
+ ok: false,
263
+ error: buildUnknownRecipientError(context, recipientRef),
264
+ };
265
+ }
266
+ return {
267
+ ok: true,
268
+ recipient: {
269
+ kind: "local",
270
+ mailboxId: recipientRef,
271
+ recipientName: recipientRef,
272
+ },
273
+ };
274
+ }
275
+ /**
276
+ * Send a message to any agent (arion, worker, or leader).
277
+ * Messages are persisted and can be threaded via replyTo or correlated via correlationId.
278
+ */
279
+ const send_message = tool({
280
+ name: "send_message",
281
+ description: "Send a message to any agent (arion, worker, or leader). " +
282
+ "Use @name or display name to address peers and clients (e.g. @vm1, @local-machine), " +
283
+ "or use an exact nodeId/clientId for precision. " +
284
+ "When replying to a received message, prefer replyTo and omit to so the tool routes back to the original sender automatically. " +
285
+ "Messages are persisted and can be threaded via replyTo or correlated via correlationId.",
286
+ parameters: z
287
+ .object({
288
+ to: z
289
+ .string()
290
+ .optional()
291
+ .describe("Recipient: @name or display name of a peer/client (e.g. @vm1, @local-machine), " +
292
+ "or exact nodeId/clientId for precision"),
293
+ type: z
294
+ .enum([
295
+ "quest",
296
+ "quest_update",
297
+ "progress",
298
+ "finding",
299
+ "question",
300
+ "answer",
301
+ "review_request",
302
+ "review_result",
303
+ "approval",
304
+ "directive",
305
+ "context",
306
+ "announcement",
307
+ "error",
308
+ ])
309
+ .describe("Message type"),
310
+ content: z.string().describe("Message content"),
311
+ replyTo: z
312
+ .string()
313
+ .optional()
314
+ .describe("Message ID to reply to. When provided without to, the tool replies to the original sender automatically."),
315
+ correlationId: z
316
+ .string()
317
+ .optional()
318
+ .describe("Correlation ID for sub-thread conversations within a quest"),
319
+ questId: z
320
+ .string()
321
+ .optional()
322
+ .describe("Quest ID this message belongs to (e.g. quest_abc123)"),
323
+ priority: z
324
+ .number()
325
+ .min(0)
326
+ .max(4)
327
+ .optional()
328
+ .describe("Priority: 0=critical, 2=normal (default), 4=backlog"),
329
+ })
330
+ .superRefine((input, ctx) => {
331
+ if (!input.to && !input.replyTo) {
332
+ ctx.addIssue({
333
+ code: z.ZodIssueCode.custom,
334
+ path: ["to"],
335
+ message: 'Either "to" or "replyTo" is required.',
336
+ });
337
+ }
338
+ }),
339
+ category: "messaging",
340
+ riskLevel: "moderate",
341
+ isReadOnly: false,
342
+ execute: async (input, context) => {
343
+ if (!context.messageStore) {
344
+ return {
345
+ success: false,
346
+ message: "Message store not available. Messaging requires Memoria.",
347
+ };
348
+ }
349
+ const inboxAddress = resolveInboxAddress(context);
350
+ const recipient = input.to && input.to.trim().length > 0
351
+ ? await resolveRecipientIdentity(context, input.to, inboxAddress)
352
+ : input.replyTo
353
+ ? await resolveRecipientFromReplyTarget(context, input.replyTo, inboxAddress)
354
+ : { ok: false, error: 'Either "to" or "replyTo" is required.' };
355
+ if (!recipient.ok) {
356
+ return {
357
+ success: false,
358
+ message: recipient.error,
359
+ };
360
+ }
361
+ if (recipient.recipient.kind === "client" && recipient.recipient.self) {
362
+ return {
363
+ success: false,
364
+ message: "Cannot send a same-home message to yourself.",
365
+ };
366
+ }
367
+ const recipientId = recipient.recipient.kind === "remote"
368
+ ? recipient.recipient.nodeId
369
+ : recipient.recipient.kind === "client"
370
+ ? recipient.recipient.clientId
371
+ : recipient.recipient.mailboxId;
372
+ const sender = resolveSenderIdentity(context, inboxAddress);
373
+ const resolvedTargetLabel = input.to ?? recipient.recipient.recipientName;
374
+ const msg = {
375
+ id: crypto.randomUUID(),
376
+ version: 1,
377
+ sender,
378
+ recipient: { id: recipientId, name: recipient.recipient.recipientName },
379
+ replyTo: input.replyTo,
380
+ correlationId: input.correlationId,
381
+ questId: input.questId,
382
+ type: input.type,
383
+ content: input.content,
384
+ metadata: inboxAddress.kind === "client"
385
+ ? {
386
+ [SENDER_INBOX_METADATA_KEY]: inboxAddress,
387
+ }
388
+ : undefined,
389
+ timestamp: Date.now(),
390
+ priority: (input.priority ?? 2),
391
+ ...(recipient.recipient.kind === "client"
392
+ ? {
393
+ recipientInbox: {
394
+ kind: "client",
395
+ clientId: recipient.recipient.clientId,
396
+ },
397
+ }
398
+ : {}),
399
+ };
400
+ // Route through Mailbox if available (handles delivery + persistence)
401
+ if (context.mailbox) {
402
+ try {
403
+ const receipt = canonicalizeDeliveryReceipt(await context.mailbox.sendDurable(msg));
404
+ const receiptSummary = receipt.deliveryState === "queued_for_route"
405
+ ? `accepted and queued for route establishment`
406
+ : receipt.deliveryState === "dispatching"
407
+ ? `sent and awaiting remote acknowledgement`
408
+ : receipt.delivered
409
+ ? `delivered`
410
+ : `sent`;
411
+ const routeSummary = receipt.sessionState
412
+ ? ` session=${receipt.sessionState}, delivery=${receipt.deliveryReadiness ?? "unknown"}`
413
+ : "";
414
+ const reasonSummary = receipt.queuedReason ? ` reason=${receipt.queuedReason}` : "";
415
+ return {
416
+ success: true,
417
+ message: `Message ${receiptSummary} for "${resolvedTargetLabel}" via ${receipt.transport}` +
418
+ `${routeSummary}${reasonSummary} (type: ${input.type}, id: ${msg.id})`,
419
+ data: {
420
+ id: msg.id,
421
+ to: recipientId,
422
+ type: input.type,
423
+ delivered: receipt.delivered,
424
+ queued: receipt.queued,
425
+ transport: receipt.transport,
426
+ accepted: receipt.accepted ?? true,
427
+ deliveryState: receipt.deliveryState,
428
+ sessionState: receipt.sessionState,
429
+ deliveryReadiness: receipt.deliveryReadiness,
430
+ queuedReason: receipt.queuedReason,
431
+ },
432
+ };
433
+ }
434
+ catch (e) {
435
+ // Fail closed for known remote peers — a local fallback is not delivery.
436
+ if (recipient.recipient.kind === "remote") {
437
+ context.messageStore.store(msg, "sent", inboxAddress);
438
+ return {
439
+ success: false,
440
+ message: `Message delivery failed for "${resolvedTargetLabel}": ${e.message}`,
441
+ data: {
442
+ id: msg.id,
443
+ to: recipient.recipient.nodeId,
444
+ type: input.type,
445
+ delivered: false,
446
+ },
447
+ };
448
+ }
449
+ // Local fallback only makes sense when no remote peer principal was resolved.
450
+ context.messageStore.store(msg, "sent", inboxAddress);
451
+ return {
452
+ success: true,
453
+ message: `Message stored locally for "${resolvedTargetLabel}" but delivery failed: ${e.message}`,
454
+ data: { id: msg.id, to: recipientId, type: input.type, delivered: false },
455
+ };
456
+ }
457
+ }
458
+ // No Mailbox — store locally only (single-process mode)
459
+ context.messageStore.store(msg, "sent", inboxAddress);
460
+ return {
461
+ success: true,
462
+ message: `Message sent to "${resolvedTargetLabel}" (type: ${input.type}, id: ${msg.id})`,
463
+ data: { id: msg.id, to: recipientId, type: input.type, delivered: false },
464
+ };
465
+ },
466
+ });
467
+ /**
468
+ * Check your message inbox.
469
+ * Returns unread messages by default, with optional filters.
470
+ */
471
+ const check_messages = tool({
472
+ name: "check_messages",
473
+ description: "Check your message inbox. Returns unread messages by default, with optional filters.",
474
+ parameters: z.object({
475
+ unreadOnly: z.boolean().optional().describe("Only show unread messages (default: true)"),
476
+ from: z.string().optional().describe("Filter by sender name"),
477
+ type: z.string().optional().describe("Filter by message type"),
478
+ correlationId: z.string().optional().describe("Filter by correlation ID"),
479
+ limit: z.number().optional().describe("Max messages to return (default: 20)"),
480
+ }),
481
+ category: "messaging",
482
+ riskLevel: "safe",
483
+ isReadOnly: true,
484
+ execute: async (input, context) => {
485
+ if (!context.messageStore) {
486
+ return { success: false, message: "Message store not available." };
487
+ }
488
+ const inboxAddresses = resolveAllInboxAddresses(context);
489
+ const unreadOnly = input.unreadOnly ?? true;
490
+ const limit = input.limit ?? 20;
491
+ if (unreadOnly) {
492
+ const seen = new Set();
493
+ const messages = inboxAddresses
494
+ .flatMap((addr) => context.messageStore.getUnreadForInbox(addr, limit))
495
+ .filter((m) => {
496
+ if (seen.has(m.id))
497
+ return false;
498
+ seen.add(m.id);
499
+ return true;
500
+ })
501
+ .slice(0, limit);
502
+ if (messages.length === 0) {
503
+ return { success: true, message: "No unread messages.", data: { messages: [] } };
504
+ }
505
+ // Auto-mark as read
506
+ context.messageStore.markRead(messages.map((m) => m.id));
507
+ return {
508
+ success: true,
509
+ message: `${messages.length} message(s) received`,
510
+ data: { messages },
511
+ };
512
+ }
513
+ // Search with filters
514
+ const seen = new Set();
515
+ const messages = inboxAddresses
516
+ .flatMap((addr) => context.messageStore.searchInbox(addr, "", {
517
+ from: input.from,
518
+ type: input.type,
519
+ correlationId: input.correlationId,
520
+ limit,
521
+ }))
522
+ .filter((m) => {
523
+ if (seen.has(m.id))
524
+ return false;
525
+ seen.add(m.id);
526
+ return true;
527
+ })
528
+ .slice(0, limit);
529
+ return {
530
+ success: true,
531
+ message: `${messages.length} message(s) found`,
532
+ data: { messages },
533
+ };
534
+ },
535
+ });
536
+ /**
537
+ * Search message history by content with optional filters.
538
+ */
539
+ const search_messages = tool({
540
+ name: "search_messages",
541
+ description: "Search message history by content with optional filters.",
542
+ parameters: z.object({
543
+ query: z.string().describe("Search text (matched against message content)"),
544
+ from: z.string().optional().describe("Filter by sender name"),
545
+ type: z.string().optional().describe("Filter by message type"),
546
+ correlationId: z.string().optional().describe("Filter by correlation ID"),
547
+ after: z.number().optional().describe("Only messages after this timestamp (epoch ms)"),
548
+ limit: z.number().optional().describe("Max results (default: 20)"),
549
+ }),
550
+ category: "messaging",
551
+ riskLevel: "safe",
552
+ isReadOnly: true,
553
+ execute: async (input, context) => {
554
+ if (!context.messageStore) {
555
+ return { success: false, message: "Message store not available." };
556
+ }
557
+ const inboxAddresses = resolveAllInboxAddresses(context);
558
+ const limit = input.limit ?? 20;
559
+ const seen = new Set();
560
+ const messages = inboxAddresses
561
+ .flatMap((addr) => context.messageStore.searchInbox(addr, input.query, {
562
+ from: input.from,
563
+ type: input.type,
564
+ correlationId: input.correlationId,
565
+ after: input.after,
566
+ limit,
567
+ }))
568
+ .filter((m) => {
569
+ if (seen.has(m.id))
570
+ return false;
571
+ seen.add(m.id);
572
+ return true;
573
+ })
574
+ .slice(0, limit);
575
+ return {
576
+ success: true,
577
+ message: `${messages.length} message(s) found`,
578
+ data: { messages },
579
+ };
580
+ },
581
+ });
582
+ /**
583
+ * Reconstruct a conversation thread from any message ID in the chain.
584
+ * Follows replyTo links to build the full thread.
585
+ */
586
+ const get_thread = tool({
587
+ name: "get_thread",
588
+ description: "Reconstruct a conversation thread from any message ID in the chain. Follows replyTo links to build the full thread.",
589
+ parameters: z.object({
590
+ messageId: z.string().describe("Any message ID in the thread"),
591
+ }),
592
+ category: "messaging",
593
+ riskLevel: "safe",
594
+ isReadOnly: true,
595
+ execute: async (input, context) => {
596
+ if (!context.messageStore) {
597
+ return { success: false, message: "Message store not available." };
598
+ }
599
+ const inboxAddresses = resolveAllInboxAddresses(context);
600
+ const seen = new Set();
601
+ const thread = inboxAddresses
602
+ .flatMap((addr) => context.messageStore.getThreadForInbox(addr, input.messageId))
603
+ .filter((m) => {
604
+ if (seen.has(m.id))
605
+ return false;
606
+ seen.add(m.id);
607
+ return true;
608
+ });
609
+ if (thread.length === 0) {
610
+ return { success: false, message: `No thread found for message ${input.messageId}` };
611
+ }
612
+ return {
613
+ success: true,
614
+ message: `Thread with ${thread.length} message(s)`,
615
+ data: { thread },
616
+ };
617
+ },
618
+ });
619
+ /** Messaging tool definitions (4) */
620
+ export const MESSAGING_TOOL_DEFINITIONS = [
621
+ send_message,
622
+ check_messages,
623
+ search_messages,
624
+ get_thread,
625
+ ];
626
+ //# sourceMappingURL=messaging.js.map