@vibesdotdev/external 0.0.0-stage → 1.0.0-rc.0

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 (1004) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +68 -2
  3. package/REFERENCE.md +217 -0
  4. package/dist/acp/index.d.ts +28 -0
  5. package/dist/acp/index.d.ts.map +1 -0
  6. package/dist/acp/index.js +31 -0
  7. package/dist/acp/index.js.map +1 -0
  8. package/dist/ambient/agent-roster-heartbeat.d.ts +67 -0
  9. package/dist/ambient/agent-roster-heartbeat.d.ts.map +1 -0
  10. package/dist/ambient/agent-roster-heartbeat.js +257 -0
  11. package/dist/ambient/agent-roster-heartbeat.js.map +1 -0
  12. package/dist/ambient/attempt.d.ts +19 -0
  13. package/dist/ambient/attempt.d.ts.map +1 -0
  14. package/dist/ambient/attempt.js +39 -0
  15. package/dist/ambient/attempt.js.map +1 -0
  16. package/dist/ambient/cloud-agent-roster-provider.impl.d.ts +13 -0
  17. package/dist/ambient/cloud-agent-roster-provider.impl.d.ts.map +1 -0
  18. package/dist/ambient/cloud-agent-roster-provider.impl.js +71 -0
  19. package/dist/ambient/cloud-agent-roster-provider.impl.js.map +1 -0
  20. package/dist/ambient/cloud-authenticated-json.d.ts +69 -0
  21. package/dist/ambient/cloud-authenticated-json.d.ts.map +1 -0
  22. package/dist/ambient/cloud-authenticated-json.js +108 -0
  23. package/dist/ambient/cloud-authenticated-json.js.map +1 -0
  24. package/dist/ambient/cloud-touch-projection.impl.d.ts +74 -0
  25. package/dist/ambient/cloud-touch-projection.impl.d.ts.map +1 -0
  26. package/dist/ambient/cloud-touch-projection.impl.js +225 -0
  27. package/dist/ambient/cloud-touch-projection.impl.js.map +1 -0
  28. package/dist/ambient/collaboration-settings.d.ts +50 -0
  29. package/dist/ambient/collaboration-settings.d.ts.map +1 -0
  30. package/dist/ambient/collaboration-settings.js +57 -0
  31. package/dist/ambient/collaboration-settings.js.map +1 -0
  32. package/dist/ambient/collision-notice.d.ts +41 -0
  33. package/dist/ambient/collision-notice.d.ts.map +1 -0
  34. package/dist/ambient/collision-notice.js +104 -0
  35. package/dist/ambient/collision-notice.js.map +1 -0
  36. package/dist/ambient/default-collision-filter.impl.d.ts +19 -0
  37. package/dist/ambient/default-collision-filter.impl.d.ts.map +1 -0
  38. package/dist/ambient/default-collision-filter.impl.js +53 -0
  39. package/dist/ambient/default-collision-filter.impl.js.map +1 -0
  40. package/dist/ambient/default-notice-formatter.impl.d.ts +4 -0
  41. package/dist/ambient/default-notice-formatter.impl.d.ts.map +1 -0
  42. package/dist/ambient/default-notice-formatter.impl.js +38 -0
  43. package/dist/ambient/default-notice-formatter.impl.js.map +1 -0
  44. package/dist/ambient/file-access-ambient-drain.impl.d.ts +21 -0
  45. package/dist/ambient/file-access-ambient-drain.impl.d.ts.map +1 -0
  46. package/dist/ambient/file-access-ambient-drain.impl.js +53 -0
  47. package/dist/ambient/file-access-ambient-drain.impl.js.map +1 -0
  48. package/dist/ambient/file-access-ambient-drain.subscription.descriptor.d.ts +27 -0
  49. package/dist/ambient/file-access-ambient-drain.subscription.descriptor.d.ts.map +1 -0
  50. package/dist/ambient/file-access-ambient-drain.subscription.descriptor.js +27 -0
  51. package/dist/ambient/file-access-ambient-drain.subscription.descriptor.js.map +1 -0
  52. package/dist/ambient/file-access-ambient-fs.impl.d.ts +45 -0
  53. package/dist/ambient/file-access-ambient-fs.impl.d.ts.map +1 -0
  54. package/dist/ambient/file-access-ambient-fs.impl.js +243 -0
  55. package/dist/ambient/file-access-ambient-fs.impl.js.map +1 -0
  56. package/dist/ambient/file-access-ambient-fs.subscription.descriptor.d.ts +32 -0
  57. package/dist/ambient/file-access-ambient-fs.subscription.descriptor.d.ts.map +1 -0
  58. package/dist/ambient/file-access-ambient-fs.subscription.descriptor.js +39 -0
  59. package/dist/ambient/file-access-ambient-fs.subscription.descriptor.js.map +1 -0
  60. package/dist/ambient/file-access-ambient.impl.d.ts +32 -0
  61. package/dist/ambient/file-access-ambient.impl.d.ts.map +1 -0
  62. package/dist/ambient/file-access-ambient.impl.js +231 -0
  63. package/dist/ambient/file-access-ambient.impl.js.map +1 -0
  64. package/dist/ambient/file-access-ambient.subscription.descriptor.d.ts +31 -0
  65. package/dist/ambient/file-access-ambient.subscription.descriptor.d.ts.map +1 -0
  66. package/dist/ambient/file-access-ambient.subscription.descriptor.js +31 -0
  67. package/dist/ambient/file-access-ambient.subscription.descriptor.js.map +1 -0
  68. package/dist/ambient/file-access-shared.d.ts +48 -0
  69. package/dist/ambient/file-access-shared.d.ts.map +1 -0
  70. package/dist/ambient/file-access-shared.js +59 -0
  71. package/dist/ambient/file-access-shared.js.map +1 -0
  72. package/dist/ambient/message-transport.impl.d.ts +47 -0
  73. package/dist/ambient/message-transport.impl.d.ts.map +1 -0
  74. package/dist/ambient/message-transport.impl.js +300 -0
  75. package/dist/ambient/message-transport.impl.js.map +1 -0
  76. package/dist/ambient/pending-notices.d.ts +11 -0
  77. package/dist/ambient/pending-notices.d.ts.map +1 -0
  78. package/dist/ambient/pending-notices.js +24 -0
  79. package/dist/ambient/pending-notices.js.map +1 -0
  80. package/dist/ambient/subsystem-overlap.impl.d.ts +60 -0
  81. package/dist/ambient/subsystem-overlap.impl.d.ts.map +1 -0
  82. package/dist/ambient/subsystem-overlap.impl.js +127 -0
  83. package/dist/ambient/subsystem-overlap.impl.js.map +1 -0
  84. package/dist/cli/dev.external.hooks-install.descriptor.d.ts +7 -0
  85. package/dist/cli/dev.external.hooks-install.descriptor.d.ts.map +1 -0
  86. package/dist/cli/dev.external.hooks-install.descriptor.js +27 -0
  87. package/dist/cli/dev.external.hooks-install.descriptor.js.map +1 -0
  88. package/dist/cli/dev.external.hooks-install.impl.d.ts +9 -0
  89. package/dist/cli/dev.external.hooks-install.impl.d.ts.map +1 -0
  90. package/dist/cli/dev.external.hooks-install.impl.js +57 -0
  91. package/dist/cli/dev.external.hooks-install.impl.js.map +1 -0
  92. package/dist/cli/dev.external.hooks-list.descriptor.d.ts +7 -0
  93. package/dist/cli/dev.external.hooks-list.descriptor.d.ts.map +1 -0
  94. package/dist/cli/dev.external.hooks-list.descriptor.js +16 -0
  95. package/dist/cli/dev.external.hooks-list.descriptor.js.map +1 -0
  96. package/dist/cli/dev.external.hooks-list.impl.d.ts +3 -0
  97. package/dist/cli/dev.external.hooks-list.impl.d.ts.map +1 -0
  98. package/dist/cli/dev.external.hooks-list.impl.js +68 -0
  99. package/dist/cli/dev.external.hooks-list.impl.js.map +1 -0
  100. package/dist/cli/dev.external.hooks-uninstall.descriptor.d.ts +7 -0
  101. package/dist/cli/dev.external.hooks-uninstall.descriptor.d.ts.map +1 -0
  102. package/dist/cli/dev.external.hooks-uninstall.descriptor.js +30 -0
  103. package/dist/cli/dev.external.hooks-uninstall.descriptor.js.map +1 -0
  104. package/dist/cli/dev.external.hooks-uninstall.impl.d.ts +9 -0
  105. package/dist/cli/dev.external.hooks-uninstall.impl.d.ts.map +1 -0
  106. package/dist/cli/dev.external.hooks-uninstall.impl.js +59 -0
  107. package/dist/cli/dev.external.hooks-uninstall.impl.js.map +1 -0
  108. package/dist/cli/dev.external.hooks.call.descriptor.d.ts +12 -0
  109. package/dist/cli/dev.external.hooks.call.descriptor.d.ts.map +1 -0
  110. package/dist/cli/dev.external.hooks.call.descriptor.js +51 -0
  111. package/dist/cli/dev.external.hooks.call.descriptor.js.map +1 -0
  112. package/dist/cli/dev.external.hooks.call.impl.d.ts +6 -0
  113. package/dist/cli/dev.external.hooks.call.impl.d.ts.map +1 -0
  114. package/dist/cli/dev.external.hooks.call.impl.js +162 -0
  115. package/dist/cli/dev.external.hooks.call.impl.js.map +1 -0
  116. package/dist/cli/dev.external.hooks.descriptor.d.ts +9 -0
  117. package/dist/cli/dev.external.hooks.descriptor.d.ts.map +1 -0
  118. package/dist/cli/dev.external.hooks.descriptor.js +17 -0
  119. package/dist/cli/dev.external.hooks.descriptor.js.map +1 -0
  120. package/dist/cli/dev.external.launch.descriptor.d.ts +7 -0
  121. package/dist/cli/dev.external.launch.descriptor.d.ts.map +1 -0
  122. package/dist/cli/dev.external.launch.descriptor.js +31 -0
  123. package/dist/cli/dev.external.launch.descriptor.js.map +1 -0
  124. package/dist/cli/dev.external.launch.impl.d.ts +17 -0
  125. package/dist/cli/dev.external.launch.impl.d.ts.map +1 -0
  126. package/dist/cli/dev.external.launch.impl.js +137 -0
  127. package/dist/cli/dev.external.launch.impl.js.map +1 -0
  128. package/dist/cli/dev.external.presets-apply.descriptor.d.ts +7 -0
  129. package/dist/cli/dev.external.presets-apply.descriptor.d.ts.map +1 -0
  130. package/dist/cli/dev.external.presets-apply.descriptor.js +36 -0
  131. package/dist/cli/dev.external.presets-apply.descriptor.js.map +1 -0
  132. package/dist/cli/dev.external.presets-apply.impl.d.ts +3 -0
  133. package/dist/cli/dev.external.presets-apply.impl.d.ts.map +1 -0
  134. package/dist/cli/dev.external.presets-apply.impl.js +119 -0
  135. package/dist/cli/dev.external.presets-apply.impl.js.map +1 -0
  136. package/dist/cli/dev.external.presets-list.descriptor.d.ts +7 -0
  137. package/dist/cli/dev.external.presets-list.descriptor.d.ts.map +1 -0
  138. package/dist/cli/dev.external.presets-list.descriptor.js +21 -0
  139. package/dist/cli/dev.external.presets-list.descriptor.js.map +1 -0
  140. package/dist/cli/dev.external.presets-list.impl.d.ts +3 -0
  141. package/dist/cli/dev.external.presets-list.impl.d.ts.map +1 -0
  142. package/dist/cli/dev.external.presets-list.impl.js +33 -0
  143. package/dist/cli/dev.external.presets-list.impl.js.map +1 -0
  144. package/dist/cli/dev.external.presets-show.descriptor.d.ts +7 -0
  145. package/dist/cli/dev.external.presets-show.descriptor.d.ts.map +1 -0
  146. package/dist/cli/dev.external.presets-show.descriptor.js +29 -0
  147. package/dist/cli/dev.external.presets-show.descriptor.js.map +1 -0
  148. package/dist/cli/dev.external.presets-show.impl.d.ts +7 -0
  149. package/dist/cli/dev.external.presets-show.impl.d.ts.map +1 -0
  150. package/dist/cli/dev.external.presets-show.impl.js +39 -0
  151. package/dist/cli/dev.external.presets-show.impl.js.map +1 -0
  152. package/dist/cli/dev.external.presets.descriptor.d.ts +7 -0
  153. package/dist/cli/dev.external.presets.descriptor.d.ts.map +1 -0
  154. package/dist/cli/dev.external.presets.descriptor.js +15 -0
  155. package/dist/cli/dev.external.presets.descriptor.js.map +1 -0
  156. package/dist/cli/dev.external.setup.descriptor.d.ts +7 -0
  157. package/dist/cli/dev.external.setup.descriptor.d.ts.map +1 -0
  158. package/dist/cli/dev.external.setup.descriptor.js +29 -0
  159. package/dist/cli/dev.external.setup.descriptor.js.map +1 -0
  160. package/dist/cli/dev.external.setup.impl.d.ts +3 -0
  161. package/dist/cli/dev.external.setup.impl.d.ts.map +1 -0
  162. package/dist/cli/dev.external.setup.impl.js +129 -0
  163. package/dist/cli/dev.external.setup.impl.js.map +1 -0
  164. package/dist/cli/dev.external.skills-generate.descriptor.d.ts +7 -0
  165. package/dist/cli/dev.external.skills-generate.descriptor.d.ts.map +1 -0
  166. package/dist/cli/dev.external.skills-generate.descriptor.js +43 -0
  167. package/dist/cli/dev.external.skills-generate.descriptor.js.map +1 -0
  168. package/dist/cli/dev.external.skills-generate.impl.consumer.d.ts +3 -0
  169. package/dist/cli/dev.external.skills-generate.impl.consumer.d.ts.map +1 -0
  170. package/dist/cli/dev.external.skills-generate.impl.consumer.js +140 -0
  171. package/dist/cli/dev.external.skills-generate.impl.consumer.js.map +1 -0
  172. package/dist/cli/dev.external.skills.descriptor.d.ts +7 -0
  173. package/dist/cli/dev.external.skills.descriptor.d.ts.map +1 -0
  174. package/dist/cli/dev.external.skills.descriptor.js +15 -0
  175. package/dist/cli/dev.external.skills.descriptor.js.map +1 -0
  176. package/dist/cli/dev.external.status.descriptor.d.ts +7 -0
  177. package/dist/cli/dev.external.status.descriptor.d.ts.map +1 -0
  178. package/dist/cli/dev.external.status.descriptor.js +16 -0
  179. package/dist/cli/dev.external.status.descriptor.js.map +1 -0
  180. package/dist/cli/dev.external.status.impl.d.ts +24 -0
  181. package/dist/cli/dev.external.status.impl.d.ts.map +1 -0
  182. package/dist/cli/dev.external.status.impl.js +165 -0
  183. package/dist/cli/dev.external.status.impl.js.map +1 -0
  184. package/dist/cli/launch/launch.cli-group.descriptor.d.ts +4 -0
  185. package/dist/cli/launch/launch.cli-group.descriptor.d.ts.map +1 -0
  186. package/dist/cli/launch/launch.cli-group.descriptor.js +12 -0
  187. package/dist/cli/launch/launch.cli-group.descriptor.js.map +1 -0
  188. package/dist/cli/launch/launch.harness.impl.consumer.d.ts +6 -0
  189. package/dist/cli/launch/launch.harness.impl.consumer.d.ts.map +1 -0
  190. package/dist/cli/launch/launch.harness.impl.consumer.js +55 -0
  191. package/dist/cli/launch/launch.harness.impl.consumer.js.map +1 -0
  192. package/dist/cli/launch/launch.list.descriptor.d.ts +4 -0
  193. package/dist/cli/launch/launch.list.descriptor.d.ts.map +1 -0
  194. package/dist/cli/launch/launch.list.descriptor.js +13 -0
  195. package/dist/cli/launch/launch.list.descriptor.js.map +1 -0
  196. package/dist/cli/launch/launch.list.impl.consumer.d.ts +7 -0
  197. package/dist/cli/launch/launch.list.impl.consumer.d.ts.map +1 -0
  198. package/dist/cli/launch/launch.list.impl.consumer.js +26 -0
  199. package/dist/cli/launch/launch.list.impl.consumer.js.map +1 -0
  200. package/dist/cli/launch/launch.logs.descriptor.d.ts +4 -0
  201. package/dist/cli/launch/launch.logs.descriptor.d.ts.map +1 -0
  202. package/dist/cli/launch/launch.logs.descriptor.js +30 -0
  203. package/dist/cli/launch/launch.logs.descriptor.js.map +1 -0
  204. package/dist/cli/launch/launch.logs.impl.consumer.d.ts +7 -0
  205. package/dist/cli/launch/launch.logs.impl.consumer.d.ts.map +1 -0
  206. package/dist/cli/launch/launch.logs.impl.consumer.js +78 -0
  207. package/dist/cli/launch/launch.logs.impl.consumer.js.map +1 -0
  208. package/dist/cli/launch/launch.status.descriptor.d.ts +4 -0
  209. package/dist/cli/launch/launch.status.descriptor.d.ts.map +1 -0
  210. package/dist/cli/launch/launch.status.descriptor.js +21 -0
  211. package/dist/cli/launch/launch.status.descriptor.js.map +1 -0
  212. package/dist/cli/launch/launch.status.impl.consumer.d.ts +7 -0
  213. package/dist/cli/launch/launch.status.impl.consumer.d.ts.map +1 -0
  214. package/dist/cli/launch/launch.status.impl.consumer.js +69 -0
  215. package/dist/cli/launch/launch.status.impl.consumer.js.map +1 -0
  216. package/dist/cli/plugin.d.ts +4 -0
  217. package/dist/cli/plugin.d.ts.map +1 -0
  218. package/dist/cli/plugin.js +76 -0
  219. package/dist/cli/plugin.js.map +1 -0
  220. package/dist/cli/runtime-projection.d.ts +34 -0
  221. package/dist/cli/runtime-projection.d.ts.map +1 -0
  222. package/dist/cli/runtime-projection.js +272 -0
  223. package/dist/cli/runtime-projection.js.map +1 -0
  224. package/dist/cli/stdio.d.ts +15 -0
  225. package/dist/cli/stdio.d.ts.map +1 -0
  226. package/dist/cli/stdio.js +15 -0
  227. package/dist/cli/stdio.js.map +1 -0
  228. package/dist/cli/who.descriptor.d.ts +16 -0
  229. package/dist/cli/who.descriptor.d.ts.map +1 -0
  230. package/dist/cli/who.descriptor.js +38 -0
  231. package/dist/cli/who.descriptor.js.map +1 -0
  232. package/dist/cli/who.impl.d.ts +16 -0
  233. package/dist/cli/who.impl.d.ts.map +1 -0
  234. package/dist/cli/who.impl.js +127 -0
  235. package/dist/cli/who.impl.js.map +1 -0
  236. package/dist/client/external-client.d.ts +423 -0
  237. package/dist/client/external-client.d.ts.map +1 -0
  238. package/dist/client/external-client.js +979 -0
  239. package/dist/client/external-client.js.map +1 -0
  240. package/dist/client/index.d.ts +9 -0
  241. package/dist/client/index.d.ts.map +1 -0
  242. package/dist/client/index.js +8 -0
  243. package/dist/client/index.js.map +1 -0
  244. package/dist/client/lifecycle.d.ts +25 -0
  245. package/dist/client/lifecycle.d.ts.map +1 -0
  246. package/dist/client/lifecycle.js +134 -0
  247. package/dist/client/lifecycle.js.map +1 -0
  248. package/dist/config/binary-detection.d.ts +26 -0
  249. package/dist/config/binary-detection.d.ts.map +1 -0
  250. package/dist/config/binary-detection.js +105 -0
  251. package/dist/config/binary-detection.js.map +1 -0
  252. package/dist/config/external.config.descriptor.d.ts +11 -0
  253. package/dist/config/external.config.descriptor.d.ts.map +1 -0
  254. package/dist/config/external.config.descriptor.js +41 -0
  255. package/dist/config/external.config.descriptor.js.map +1 -0
  256. package/dist/config/index.d.ts +10 -0
  257. package/dist/config/index.d.ts.map +1 -0
  258. package/dist/config/index.js +10 -0
  259. package/dist/config/index.js.map +1 -0
  260. package/dist/config/manifest.d.ts +4696 -0
  261. package/dist/config/manifest.d.ts.map +1 -0
  262. package/dist/config/manifest.js +210 -0
  263. package/dist/config/manifest.js.map +1 -0
  264. package/dist/config/read.d.ts +13 -0
  265. package/dist/config/read.d.ts.map +1 -0
  266. package/dist/config/read.js +20 -0
  267. package/dist/config/read.js.map +1 -0
  268. package/dist/consumer.d.ts +15 -0
  269. package/dist/consumer.d.ts.map +1 -0
  270. package/dist/consumer.js +15 -0
  271. package/dist/consumer.js.map +1 -0
  272. package/dist/detection/base.d.ts +71 -0
  273. package/dist/detection/base.d.ts.map +1 -0
  274. package/dist/detection/base.js +115 -0
  275. package/dist/detection/base.js.map +1 -0
  276. package/dist/detection/command-probe.d.ts +43 -0
  277. package/dist/detection/command-probe.d.ts.map +1 -0
  278. package/dist/detection/command-probe.js +75 -0
  279. package/dist/detection/command-probe.js.map +1 -0
  280. package/dist/detection/config-document.d.ts +31 -0
  281. package/dist/detection/config-document.d.ts.map +1 -0
  282. package/dist/detection/config-document.js +138 -0
  283. package/dist/detection/config-document.js.map +1 -0
  284. package/dist/detection/index.d.ts +11 -0
  285. package/dist/detection/index.d.ts.map +1 -0
  286. package/dist/detection/index.js +13 -0
  287. package/dist/detection/index.js.map +1 -0
  288. package/dist/detection/manifest-detector-helpers.d.ts +45 -0
  289. package/dist/detection/manifest-detector-helpers.d.ts.map +1 -0
  290. package/dist/detection/manifest-detector-helpers.js +198 -0
  291. package/dist/detection/manifest-detector-helpers.js.map +1 -0
  292. package/dist/detection/manifest-detector.d.ts +34 -0
  293. package/dist/detection/manifest-detector.d.ts.map +1 -0
  294. package/dist/detection/manifest-detector.js +123 -0
  295. package/dist/detection/manifest-detector.js.map +1 -0
  296. package/dist/detection/service.d.ts +99 -0
  297. package/dist/detection/service.d.ts.map +1 -0
  298. package/dist/detection/service.js +124 -0
  299. package/dist/detection/service.js.map +1 -0
  300. package/dist/detection/types.d.ts +113 -0
  301. package/dist/detection/types.d.ts.map +1 -0
  302. package/dist/detection/types.js +30 -0
  303. package/dist/detection/types.js.map +1 -0
  304. package/dist/dev.external.descriptor.d.ts +9 -0
  305. package/dist/dev.external.descriptor.d.ts.map +1 -0
  306. package/dist/dev.external.descriptor.js +17 -0
  307. package/dist/dev.external.descriptor.js.map +1 -0
  308. package/dist/docs/external.ambient.docs.descriptor.d.ts +4 -0
  309. package/dist/docs/external.ambient.docs.descriptor.d.ts.map +1 -0
  310. package/dist/docs/external.ambient.docs.descriptor.js +109 -0
  311. package/dist/docs/external.ambient.docs.descriptor.js.map +1 -0
  312. package/dist/external-adapter/descriptors.d.ts +133 -0
  313. package/dist/external-adapter/descriptors.d.ts.map +1 -0
  314. package/dist/external-adapter/descriptors.js +70 -0
  315. package/dist/external-adapter/descriptors.js.map +1 -0
  316. package/dist/external-adapter/implementations.d.ts +13 -0
  317. package/dist/external-adapter/implementations.d.ts.map +1 -0
  318. package/dist/external-adapter/implementations.js +97 -0
  319. package/dist/external-adapter/implementations.js.map +1 -0
  320. package/dist/external-adapter/schemas/adapter.d.ts +66 -0
  321. package/dist/external-adapter/schemas/adapter.d.ts.map +1 -0
  322. package/dist/external-adapter/schemas/adapter.js +55 -0
  323. package/dist/external-adapter/schemas/adapter.js.map +1 -0
  324. package/dist/external-tool/impl/default-tool.d.ts +201 -0
  325. package/dist/external-tool/impl/default-tool.d.ts.map +1 -0
  326. package/dist/external-tool/impl/default-tool.js +243 -0
  327. package/dist/external-tool/impl/default-tool.js.map +1 -0
  328. package/dist/external-tool/interfaces/tool.d.ts +102 -0
  329. package/dist/external-tool/interfaces/tool.d.ts.map +1 -0
  330. package/dist/external-tool/interfaces/tool.js +2 -0
  331. package/dist/external-tool/interfaces/tool.js.map +1 -0
  332. package/dist/external-tool/loader.d.ts +5 -0
  333. package/dist/external-tool/loader.d.ts.map +1 -0
  334. package/dist/external-tool/loader.js +8 -0
  335. package/dist/external-tool/loader.js.map +1 -0
  336. package/dist/external-tool/path-template.d.ts +54 -0
  337. package/dist/external-tool/path-template.d.ts.map +1 -0
  338. package/dist/external-tool/path-template.js +65 -0
  339. package/dist/external-tool/path-template.js.map +1 -0
  340. package/dist/external-tool/runtime.d.ts +38 -0
  341. package/dist/external-tool/runtime.d.ts.map +1 -0
  342. package/dist/external-tool/runtime.js +89 -0
  343. package/dist/external-tool/runtime.js.map +1 -0
  344. package/dist/external-tool/schemas/tool.d.ts +269 -0
  345. package/dist/external-tool/schemas/tool.d.ts.map +1 -0
  346. package/dist/external-tool/schemas/tool.js +77 -0
  347. package/dist/external-tool/schemas/tool.js.map +1 -0
  348. package/dist/external.plugin.d.ts +4 -0
  349. package/dist/external.plugin.d.ts.map +1 -0
  350. package/dist/external.plugin.js +184 -0
  351. package/dist/external.plugin.js.map +1 -0
  352. package/dist/harness/agent-host-scope.d.ts +18 -0
  353. package/dist/harness/agent-host-scope.d.ts.map +1 -0
  354. package/dist/harness/agent-host-scope.js +30 -0
  355. package/dist/harness/agent-host-scope.js.map +1 -0
  356. package/dist/harness/agent-host-settings.d.ts +6 -0
  357. package/dist/harness/agent-host-settings.d.ts.map +1 -0
  358. package/dist/harness/agent-host-settings.js +18 -0
  359. package/dist/harness/agent-host-settings.js.map +1 -0
  360. package/dist/harness/agent-host.config.descriptor.d.ts +6 -0
  361. package/dist/harness/agent-host.config.descriptor.d.ts.map +1 -0
  362. package/dist/harness/agent-host.config.descriptor.js +22 -0
  363. package/dist/harness/agent-host.config.descriptor.js.map +1 -0
  364. package/dist/harness/agent-host.d.ts +98 -0
  365. package/dist/harness/agent-host.d.ts.map +1 -0
  366. package/dist/harness/agent-host.js +201 -0
  367. package/dist/harness/agent-host.js.map +1 -0
  368. package/dist/harness/command-arguments.d.ts +54 -0
  369. package/dist/harness/command-arguments.d.ts.map +1 -0
  370. package/dist/harness/command-arguments.js +113 -0
  371. package/dist/harness/command-arguments.js.map +1 -0
  372. package/dist/harness/command-execution.d.ts +20 -0
  373. package/dist/harness/command-execution.d.ts.map +1 -0
  374. package/dist/harness/command-execution.js +78 -0
  375. package/dist/harness/command-execution.js.map +1 -0
  376. package/dist/harness/command-output.d.ts +59 -0
  377. package/dist/harness/command-output.d.ts.map +1 -0
  378. package/dist/harness/command-output.js +173 -0
  379. package/dist/harness/command-output.js.map +1 -0
  380. package/dist/harness/execution-queue.d.ts +14 -0
  381. package/dist/harness/execution-queue.d.ts.map +1 -0
  382. package/dist/harness/execution-queue.js +23 -0
  383. package/dist/harness/execution-queue.js.map +1 -0
  384. package/dist/harness/index.d.ts +15 -0
  385. package/dist/harness/index.d.ts.map +1 -0
  386. package/dist/harness/index.js +12 -0
  387. package/dist/harness/index.js.map +1 -0
  388. package/dist/harness/live-tools.d.ts +130 -0
  389. package/dist/harness/live-tools.d.ts.map +1 -0
  390. package/dist/harness/live-tools.js +257 -0
  391. package/dist/harness/live-tools.js.map +1 -0
  392. package/dist/harness/managed-block.d.ts +34 -0
  393. package/dist/harness/managed-block.d.ts.map +1 -0
  394. package/dist/harness/managed-block.js +66 -0
  395. package/dist/harness/managed-block.js.map +1 -0
  396. package/dist/harness/markers.d.ts +22 -0
  397. package/dist/harness/markers.d.ts.map +1 -0
  398. package/dist/harness/markers.js +28 -0
  399. package/dist/harness/markers.js.map +1 -0
  400. package/dist/harness/node.d.ts +6 -0
  401. package/dist/harness/node.d.ts.map +1 -0
  402. package/dist/harness/node.js +6 -0
  403. package/dist/harness/node.js.map +1 -0
  404. package/dist/harness/prompt.d.ts +54 -0
  405. package/dist/harness/prompt.d.ts.map +1 -0
  406. package/dist/harness/prompt.js +78 -0
  407. package/dist/harness/prompt.js.map +1 -0
  408. package/dist/harness/prompts/index.d.ts +113 -0
  409. package/dist/harness/prompts/index.d.ts.map +1 -0
  410. package/dist/harness/prompts/index.js +5 -0
  411. package/dist/harness/prompts/index.js.map +1 -0
  412. package/dist/harness/prompts/static-briefing-note.prompt.descriptor.d.ts +114 -0
  413. package/dist/harness/prompts/static-briefing-note.prompt.descriptor.d.ts.map +1 -0
  414. package/dist/harness/prompts/static-briefing-note.prompt.descriptor.js +17 -0
  415. package/dist/harness/prompts/static-briefing-note.prompt.descriptor.js.map +1 -0
  416. package/dist/harness/prompts/system-prompt.prompt.descriptor.d.ts +114 -0
  417. package/dist/harness/prompts/system-prompt.prompt.descriptor.d.ts.map +1 -0
  418. package/dist/harness/prompts/system-prompt.prompt.descriptor.js +35 -0
  419. package/dist/harness/prompts/system-prompt.prompt.descriptor.js.map +1 -0
  420. package/dist/harness/role-prompt.d.ts +12 -0
  421. package/dist/harness/role-prompt.d.ts.map +1 -0
  422. package/dist/harness/role-prompt.js +24 -0
  423. package/dist/harness/role-prompt.js.map +1 -0
  424. package/dist/harness/runtime-transport.d.ts +89 -0
  425. package/dist/harness/runtime-transport.d.ts.map +1 -0
  426. package/dist/harness/runtime-transport.js +356 -0
  427. package/dist/harness/runtime-transport.js.map +1 -0
  428. package/dist/harness/schemas/agent-host.d.ts +142 -0
  429. package/dist/harness/schemas/agent-host.d.ts.map +1 -0
  430. package/dist/harness/schemas/agent-host.js +26 -0
  431. package/dist/harness/schemas/agent-host.js.map +1 -0
  432. package/dist/harness/stdio-sink.d.ts +35 -0
  433. package/dist/harness/stdio-sink.d.ts.map +1 -0
  434. package/dist/harness/stdio-sink.js +34 -0
  435. package/dist/harness/stdio-sink.js.map +1 -0
  436. package/dist/harness/strip-undefined.d.ts +9 -0
  437. package/dist/harness/strip-undefined.d.ts.map +1 -0
  438. package/dist/harness/strip-undefined.js +11 -0
  439. package/dist/harness/strip-undefined.js.map +1 -0
  440. package/dist/harness/tool-projection.d.ts +130 -0
  441. package/dist/harness/tool-projection.d.ts.map +1 -0
  442. package/dist/harness/tool-projection.js +195 -0
  443. package/dist/harness/tool-projection.js.map +1 -0
  444. package/dist/harness/validation-errors.d.ts +11 -0
  445. package/dist/harness/validation-errors.d.ts.map +1 -0
  446. package/dist/harness/validation-errors.js +32 -0
  447. package/dist/harness/validation-errors.js.map +1 -0
  448. package/dist/hooks/bounded-payload.d.ts +39 -0
  449. package/dist/hooks/bounded-payload.d.ts.map +1 -0
  450. package/dist/hooks/bounded-payload.js +70 -0
  451. package/dist/hooks/bounded-payload.js.map +1 -0
  452. package/dist/hooks/bridge.d.ts +34 -0
  453. package/dist/hooks/bridge.d.ts.map +1 -0
  454. package/dist/hooks/bridge.js +86 -0
  455. package/dist/hooks/bridge.js.map +1 -0
  456. package/dist/hooks/call.d.ts +298 -0
  457. package/dist/hooks/call.d.ts.map +1 -0
  458. package/dist/hooks/call.js +1550 -0
  459. package/dist/hooks/call.js.map +1 -0
  460. package/dist/hooks/consumer.d.ts +7 -0
  461. package/dist/hooks/consumer.d.ts.map +1 -0
  462. package/dist/hooks/consumer.js +5 -0
  463. package/dist/hooks/consumer.js.map +1 -0
  464. package/dist/hooks/continuity.d.ts +155 -0
  465. package/dist/hooks/continuity.d.ts.map +1 -0
  466. package/dist/hooks/continuity.js +187 -0
  467. package/dist/hooks/continuity.js.map +1 -0
  468. package/dist/hooks/dispatch-script.d.ts +27 -0
  469. package/dist/hooks/dispatch-script.d.ts.map +1 -0
  470. package/dist/hooks/dispatch-script.js +77 -0
  471. package/dist/hooks/dispatch-script.js.map +1 -0
  472. package/dist/hooks/edit-targets.d.ts +23 -0
  473. package/dist/hooks/edit-targets.d.ts.map +1 -0
  474. package/dist/hooks/edit-targets.js +74 -0
  475. package/dist/hooks/edit-targets.js.map +1 -0
  476. package/dist/hooks/hook-delivery.d.ts +21 -0
  477. package/dist/hooks/hook-delivery.d.ts.map +1 -0
  478. package/dist/hooks/hook-delivery.js +87 -0
  479. package/dist/hooks/hook-delivery.js.map +1 -0
  480. package/dist/hooks/hook-seat.d.ts +37 -0
  481. package/dist/hooks/hook-seat.d.ts.map +1 -0
  482. package/dist/hooks/hook-seat.js +59 -0
  483. package/dist/hooks/hook-seat.js.map +1 -0
  484. package/dist/hooks/index.d.ts +9 -0
  485. package/dist/hooks/index.d.ts.map +1 -0
  486. package/dist/hooks/index.js +8 -0
  487. package/dist/hooks/index.js.map +1 -0
  488. package/dist/hooks/native-edit-guard.d.ts +25 -0
  489. package/dist/hooks/native-edit-guard.d.ts.map +1 -0
  490. package/dist/hooks/native-edit-guard.js +33 -0
  491. package/dist/hooks/native-edit-guard.js.map +1 -0
  492. package/dist/hooks/native-edit-locks.d.ts +54 -0
  493. package/dist/hooks/native-edit-locks.d.ts.map +1 -0
  494. package/dist/hooks/native-edit-locks.js +98 -0
  495. package/dist/hooks/native-edit-locks.js.map +1 -0
  496. package/dist/hooks/resolve-event.d.ts +13 -0
  497. package/dist/hooks/resolve-event.d.ts.map +1 -0
  498. package/dist/hooks/resolve-event.js +32 -0
  499. package/dist/hooks/resolve-event.js.map +1 -0
  500. package/dist/hooks/review-state.d.ts +22 -0
  501. package/dist/hooks/review-state.d.ts.map +1 -0
  502. package/dist/hooks/review-state.js +57 -0
  503. package/dist/hooks/review-state.js.map +1 -0
  504. package/dist/hooks/runtime.d.ts +146 -0
  505. package/dist/hooks/runtime.d.ts.map +1 -0
  506. package/dist/hooks/runtime.js +83 -0
  507. package/dist/hooks/runtime.js.map +1 -0
  508. package/dist/hooks/self-review.d.ts +14 -0
  509. package/dist/hooks/self-review.d.ts.map +1 -0
  510. package/dist/hooks/self-review.js +28 -0
  511. package/dist/hooks/self-review.js.map +1 -0
  512. package/dist/index.d.ts +41 -0
  513. package/dist/index.d.ts.map +1 -0
  514. package/dist/index.js +33 -0
  515. package/dist/index.js.map +1 -0
  516. package/dist/ingest/logging/subagent-completions.output.descriptor.d.ts +4 -0
  517. package/dist/ingest/logging/subagent-completions.output.descriptor.d.ts.map +1 -0
  518. package/dist/ingest/logging/subagent-completions.output.descriptor.js +22 -0
  519. package/dist/ingest/logging/subagent-completions.output.descriptor.js.map +1 -0
  520. package/dist/ingest/logging/success-patterns.output.descriptor.d.ts +4 -0
  521. package/dist/ingest/logging/success-patterns.output.descriptor.d.ts.map +1 -0
  522. package/dist/ingest/logging/success-patterns.output.descriptor.js +22 -0
  523. package/dist/ingest/logging/success-patterns.output.descriptor.js.map +1 -0
  524. package/dist/ingest/logging/tool-use.output.descriptor.d.ts +4 -0
  525. package/dist/ingest/logging/tool-use.output.descriptor.d.ts.map +1 -0
  526. package/dist/ingest/logging/tool-use.output.descriptor.js +22 -0
  527. package/dist/ingest/logging/tool-use.output.descriptor.js.map +1 -0
  528. package/dist/ingest/resolve-log-paths.d.ts +16 -0
  529. package/dist/ingest/resolve-log-paths.d.ts.map +1 -0
  530. package/dist/ingest/resolve-log-paths.js +43 -0
  531. package/dist/ingest/resolve-log-paths.js.map +1 -0
  532. package/dist/ingest/schemas.d.ts +43 -0
  533. package/dist/ingest/schemas.d.ts.map +1 -0
  534. package/dist/ingest/schemas.js +46 -0
  535. package/dist/ingest/schemas.js.map +1 -0
  536. package/dist/jsonrpc/client.d.ts +129 -0
  537. package/dist/jsonrpc/client.d.ts.map +1 -0
  538. package/dist/jsonrpc/client.js +553 -0
  539. package/dist/jsonrpc/client.js.map +1 -0
  540. package/dist/jsonrpc/envelope.d.ts +37 -0
  541. package/dist/jsonrpc/envelope.d.ts.map +1 -0
  542. package/dist/jsonrpc/envelope.js +46 -0
  543. package/dist/jsonrpc/envelope.js.map +1 -0
  544. package/dist/jsonrpc/errors.d.ts +28 -0
  545. package/dist/jsonrpc/errors.d.ts.map +1 -0
  546. package/dist/jsonrpc/errors.js +110 -0
  547. package/dist/jsonrpc/errors.js.map +1 -0
  548. package/dist/jsonrpc/framing.d.ts +35 -0
  549. package/dist/jsonrpc/framing.d.ts.map +1 -0
  550. package/dist/jsonrpc/framing.js +134 -0
  551. package/dist/jsonrpc/framing.js.map +1 -0
  552. package/dist/jsonrpc/index.d.ts +11 -0
  553. package/dist/jsonrpc/index.d.ts.map +1 -0
  554. package/dist/jsonrpc/index.js +11 -0
  555. package/dist/jsonrpc/index.js.map +1 -0
  556. package/dist/jsonrpc/outcome.d.ts +25 -0
  557. package/dist/jsonrpc/outcome.d.ts.map +1 -0
  558. package/dist/jsonrpc/outcome.js +32 -0
  559. package/dist/jsonrpc/outcome.js.map +1 -0
  560. package/dist/jsonrpc/queue.d.ts +30 -0
  561. package/dist/jsonrpc/queue.d.ts.map +1 -0
  562. package/dist/jsonrpc/queue.js +113 -0
  563. package/dist/jsonrpc/queue.js.map +1 -0
  564. package/dist/jsonrpc/schemas.d.ts +74 -0
  565. package/dist/jsonrpc/schemas.d.ts.map +1 -0
  566. package/dist/jsonrpc/schemas.js +65 -0
  567. package/dist/jsonrpc/schemas.js.map +1 -0
  568. package/dist/launch/consumer/execute.d.ts +5 -0
  569. package/dist/launch/consumer/execute.d.ts.map +1 -0
  570. package/dist/launch/consumer/execute.js +358 -0
  571. package/dist/launch/consumer/execute.js.map +1 -0
  572. package/dist/launch/consumer/paths.d.ts +15 -0
  573. package/dist/launch/consumer/paths.d.ts.map +1 -0
  574. package/dist/launch/consumer/paths.js +18 -0
  575. package/dist/launch/consumer/paths.js.map +1 -0
  576. package/dist/launch/consumer/prepare.d.ts +25 -0
  577. package/dist/launch/consumer/prepare.d.ts.map +1 -0
  578. package/dist/launch/consumer/prepare.js +158 -0
  579. package/dist/launch/consumer/prepare.js.map +1 -0
  580. package/dist/launch/consumer/prompt.d.ts +18 -0
  581. package/dist/launch/consumer/prompt.d.ts.map +1 -0
  582. package/dist/launch/consumer/prompt.js +45 -0
  583. package/dist/launch/consumer/prompt.js.map +1 -0
  584. package/dist/launch/consumer/rotate-logs.d.ts +23 -0
  585. package/dist/launch/consumer/rotate-logs.d.ts.map +1 -0
  586. package/dist/launch/consumer/rotate-logs.js +43 -0
  587. package/dist/launch/consumer/rotate-logs.js.map +1 -0
  588. package/dist/launch/consumer/spawn.d.ts +38 -0
  589. package/dist/launch/consumer/spawn.d.ts.map +1 -0
  590. package/dist/launch/consumer/spawn.js +82 -0
  591. package/dist/launch/consumer/spawn.js.map +1 -0
  592. package/dist/launch/consumer/state-rows.d.ts +41 -0
  593. package/dist/launch/consumer/state-rows.d.ts.map +1 -0
  594. package/dist/launch/consumer/state-rows.js +78 -0
  595. package/dist/launch/consumer/state-rows.js.map +1 -0
  596. package/dist/launch/consumer/store.d.ts +139 -0
  597. package/dist/launch/consumer/store.d.ts.map +1 -0
  598. package/dist/launch/consumer/store.js +495 -0
  599. package/dist/launch/consumer/store.js.map +1 -0
  600. package/dist/launch/index.d.ts +5 -0
  601. package/dist/launch/index.d.ts.map +1 -0
  602. package/dist/launch/index.js +3 -0
  603. package/dist/launch/index.js.map +1 -0
  604. package/dist/launch/resolve.d.ts +9 -0
  605. package/dist/launch/resolve.d.ts.map +1 -0
  606. package/dist/launch/resolve.js +139 -0
  607. package/dist/launch/resolve.js.map +1 -0
  608. package/dist/launch/schemas.d.ts +289 -0
  609. package/dist/launch/schemas.d.ts.map +1 -0
  610. package/dist/launch/schemas.js +154 -0
  611. package/dist/launch/schemas.js.map +1 -0
  612. package/dist/launch/task-executor/external-harness.descriptor.d.ts +6 -0
  613. package/dist/launch/task-executor/external-harness.descriptor.d.ts.map +1 -0
  614. package/dist/launch/task-executor/external-harness.descriptor.js +13 -0
  615. package/dist/launch/task-executor/external-harness.descriptor.js.map +1 -0
  616. package/dist/launch/task-executor/external-harness.impl.consumer.d.ts +17 -0
  617. package/dist/launch/task-executor/external-harness.impl.consumer.d.ts.map +1 -0
  618. package/dist/launch/task-executor/external-harness.impl.consumer.js +151 -0
  619. package/dist/launch/task-executor/external-harness.impl.consumer.js.map +1 -0
  620. package/dist/launch/task-executor/isolated-workspace.d.ts +3 -0
  621. package/dist/launch/task-executor/isolated-workspace.d.ts.map +1 -0
  622. package/dist/launch/task-executor/isolated-workspace.js +3 -0
  623. package/dist/launch/task-executor/isolated-workspace.js.map +1 -0
  624. package/dist/launch/task-executor/session-locks.d.ts +28 -0
  625. package/dist/launch/task-executor/session-locks.d.ts.map +1 -0
  626. package/dist/launch/task-executor/session-locks.js +50 -0
  627. package/dist/launch/task-executor/session-locks.js.map +1 -0
  628. package/dist/pack/adapter-codegen.d.ts +38 -0
  629. package/dist/pack/adapter-codegen.d.ts.map +1 -0
  630. package/dist/pack/adapter-codegen.js +70 -0
  631. package/dist/pack/adapter-codegen.js.map +1 -0
  632. package/dist/pack/build.d.ts +48 -0
  633. package/dist/pack/build.d.ts.map +1 -0
  634. package/dist/pack/build.js +171 -0
  635. package/dist/pack/build.js.map +1 -0
  636. package/dist/pack/emitters/hooks.d.ts +14 -0
  637. package/dist/pack/emitters/hooks.d.ts.map +1 -0
  638. package/dist/pack/emitters/hooks.js +15 -0
  639. package/dist/pack/emitters/hooks.js.map +1 -0
  640. package/dist/pack/emitters/json.d.ts +10 -0
  641. package/dist/pack/emitters/json.d.ts.map +1 -0
  642. package/dist/pack/emitters/json.js +17 -0
  643. package/dist/pack/emitters/json.js.map +1 -0
  644. package/dist/pack/emitters/registry.d.ts +22 -0
  645. package/dist/pack/emitters/registry.d.ts.map +1 -0
  646. package/dist/pack/emitters/registry.js +38 -0
  647. package/dist/pack/emitters/registry.js.map +1 -0
  648. package/dist/pack/emitters/toml.d.ts +8 -0
  649. package/dist/pack/emitters/toml.d.ts.map +1 -0
  650. package/dist/pack/emitters/toml.js +28 -0
  651. package/dist/pack/emitters/toml.js.map +1 -0
  652. package/dist/pack/emitters/yaml.d.ts +8 -0
  653. package/dist/pack/emitters/yaml.d.ts.map +1 -0
  654. package/dist/pack/emitters/yaml.js +27 -0
  655. package/dist/pack/emitters/yaml.js.map +1 -0
  656. package/dist/pack/index.d.ts +11 -0
  657. package/dist/pack/index.d.ts.map +1 -0
  658. package/dist/pack/index.js +11 -0
  659. package/dist/pack/index.js.map +1 -0
  660. package/dist/pack/mcp.d.ts +28 -0
  661. package/dist/pack/mcp.d.ts.map +1 -0
  662. package/dist/pack/mcp.js +70 -0
  663. package/dist/pack/mcp.js.map +1 -0
  664. package/dist/pack/persist.d.ts +28 -0
  665. package/dist/pack/persist.d.ts.map +1 -0
  666. package/dist/pack/persist.js +35 -0
  667. package/dist/pack/persist.js.map +1 -0
  668. package/dist/pack/schema.d.ts +126 -0
  669. package/dist/pack/schema.d.ts.map +1 -0
  670. package/dist/pack/schema.js +56 -0
  671. package/dist/pack/schema.js.map +1 -0
  672. package/dist/plugins/index.d.ts +512 -0
  673. package/dist/plugins/index.d.ts.map +1 -0
  674. package/dist/plugins/index.js +25 -0
  675. package/dist/plugins/index.js.map +1 -0
  676. package/dist/plugins/installers/config-file.d.ts +21 -0
  677. package/dist/plugins/installers/config-file.d.ts.map +1 -0
  678. package/dist/plugins/installers/config-file.js +48 -0
  679. package/dist/plugins/installers/config-file.js.map +1 -0
  680. package/dist/plugins/installers/config-value.d.ts +35 -0
  681. package/dist/plugins/installers/config-value.d.ts.map +1 -0
  682. package/dist/plugins/installers/config-value.js +52 -0
  683. package/dist/plugins/installers/config-value.js.map +1 -0
  684. package/dist/plugins/installers/hooks/index.d.ts +9 -0
  685. package/dist/plugins/installers/hooks/index.d.ts.map +1 -0
  686. package/dist/plugins/installers/hooks/index.js +12 -0
  687. package/dist/plugins/installers/hooks/index.js.map +1 -0
  688. package/dist/plugins/installers/hooks/scoped-paths.d.ts +24 -0
  689. package/dist/plugins/installers/hooks/scoped-paths.d.ts.map +1 -0
  690. package/dist/plugins/installers/hooks/scoped-paths.js +80 -0
  691. package/dist/plugins/installers/hooks/scoped-paths.js.map +1 -0
  692. package/dist/plugins/installers/hooks/settings-registration.d.ts +79 -0
  693. package/dist/plugins/installers/hooks/settings-registration.d.ts.map +1 -0
  694. package/dist/plugins/installers/hooks/settings-registration.js +125 -0
  695. package/dist/plugins/installers/hooks/settings-registration.js.map +1 -0
  696. package/dist/plugins/installers/hooks/shell-installer.d.ts +21 -0
  697. package/dist/plugins/installers/hooks/shell-installer.d.ts.map +1 -0
  698. package/dist/plugins/installers/hooks/shell-installer.js +298 -0
  699. package/dist/plugins/installers/hooks/shell-installer.js.map +1 -0
  700. package/dist/plugins/installers/hooks/uninstall-backup.d.ts +19 -0
  701. package/dist/plugins/installers/hooks/uninstall-backup.d.ts.map +1 -0
  702. package/dist/plugins/installers/hooks/uninstall-backup.js +20 -0
  703. package/dist/plugins/installers/hooks/uninstall-backup.js.map +1 -0
  704. package/dist/plugins/installers/index.d.ts +58 -0
  705. package/dist/plugins/installers/index.d.ts.map +1 -0
  706. package/dist/plugins/installers/index.js +303 -0
  707. package/dist/plugins/installers/index.js.map +1 -0
  708. package/dist/plugins/installers/mcp/environment.d.ts +180 -0
  709. package/dist/plugins/installers/mcp/environment.d.ts.map +1 -0
  710. package/dist/plugins/installers/mcp/environment.js +314 -0
  711. package/dist/plugins/installers/mcp/environment.js.map +1 -0
  712. package/dist/plugins/installers/mcp/index.d.ts +9 -0
  713. package/dist/plugins/installers/mcp/index.d.ts.map +1 -0
  714. package/dist/plugins/installers/mcp/index.js +11 -0
  715. package/dist/plugins/installers/mcp/index.js.map +1 -0
  716. package/dist/plugins/installers/mcp/json-installer.d.ts +18 -0
  717. package/dist/plugins/installers/mcp/json-installer.d.ts.map +1 -0
  718. package/dist/plugins/installers/mcp/json-installer.js +155 -0
  719. package/dist/plugins/installers/mcp/json-installer.js.map +1 -0
  720. package/dist/plugins/installers/mcp/json-paths.d.ts +13 -0
  721. package/dist/plugins/installers/mcp/json-paths.d.ts.map +1 -0
  722. package/dist/plugins/installers/mcp/json-paths.js +130 -0
  723. package/dist/plugins/installers/mcp/json-paths.js.map +1 -0
  724. package/dist/plugins/installers/mcp/serve-identity.d.ts +19 -0
  725. package/dist/plugins/installers/mcp/serve-identity.d.ts.map +1 -0
  726. package/dist/plugins/installers/mcp/serve-identity.js +31 -0
  727. package/dist/plugins/installers/mcp/serve-identity.js.map +1 -0
  728. package/dist/plugins/installers/mcp/server-config.d.ts +20 -0
  729. package/dist/plugins/installers/mcp/server-config.d.ts.map +1 -0
  730. package/dist/plugins/installers/mcp/server-config.js +64 -0
  731. package/dist/plugins/installers/mcp/server-config.js.map +1 -0
  732. package/dist/plugins/installers/mcp/toml-installer.d.ts +41 -0
  733. package/dist/plugins/installers/mcp/toml-installer.d.ts.map +1 -0
  734. package/dist/plugins/installers/mcp/toml-installer.js +407 -0
  735. package/dist/plugins/installers/mcp/toml-installer.js.map +1 -0
  736. package/dist/plugins/installers/mcp/yaml-installer.d.ts +22 -0
  737. package/dist/plugins/installers/mcp/yaml-installer.d.ts.map +1 -0
  738. package/dist/plugins/installers/mcp/yaml-installer.js +156 -0
  739. package/dist/plugins/installers/mcp/yaml-installer.js.map +1 -0
  740. package/dist/plugins/installers/runtime.d.ts +42 -0
  741. package/dist/plugins/installers/runtime.d.ts.map +1 -0
  742. package/dist/plugins/installers/runtime.js +56 -0
  743. package/dist/plugins/installers/runtime.js.map +1 -0
  744. package/dist/plugins/installers/types.d.ts +306 -0
  745. package/dist/plugins/installers/types.d.ts.map +1 -0
  746. package/dist/plugins/installers/types.js +40 -0
  747. package/dist/plugins/installers/types.js.map +1 -0
  748. package/dist/plugins/schemas/index.d.ts +6 -0
  749. package/dist/plugins/schemas/index.d.ts.map +1 -0
  750. package/dist/plugins/schemas/index.js +5 -0
  751. package/dist/plugins/schemas/index.js.map +1 -0
  752. package/dist/plugins/schemas/manifest.d.ts +527 -0
  753. package/dist/plugins/schemas/manifest.d.ts.map +1 -0
  754. package/dist/plugins/schemas/manifest.js +355 -0
  755. package/dist/plugins/schemas/manifest.js.map +1 -0
  756. package/dist/plugins/tools/index.d.ts +12 -0
  757. package/dist/plugins/tools/index.d.ts.map +1 -0
  758. package/dist/plugins/tools/index.js +19 -0
  759. package/dist/plugins/tools/index.js.map +1 -0
  760. package/dist/presets/executor.d.ts +20 -0
  761. package/dist/presets/executor.d.ts.map +1 -0
  762. package/dist/presets/executor.js +629 -0
  763. package/dist/presets/executor.js.map +1 -0
  764. package/dist/presets/file-backup.d.ts +66 -0
  765. package/dist/presets/file-backup.d.ts.map +1 -0
  766. package/dist/presets/file-backup.js +108 -0
  767. package/dist/presets/file-backup.js.map +1 -0
  768. package/dist/presets/index.d.ts +11 -0
  769. package/dist/presets/index.d.ts.map +1 -0
  770. package/dist/presets/index.js +10 -0
  771. package/dist/presets/index.js.map +1 -0
  772. package/dist/presets/resolve.d.ts +32 -0
  773. package/dist/presets/resolve.d.ts.map +1 -0
  774. package/dist/presets/resolve.js +49 -0
  775. package/dist/presets/resolve.js.map +1 -0
  776. package/dist/presets/runtime.d.ts +21 -0
  777. package/dist/presets/runtime.d.ts.map +1 -0
  778. package/dist/presets/runtime.js +115 -0
  779. package/dist/presets/runtime.js.map +1 -0
  780. package/dist/projection/attestation.d.ts +43 -0
  781. package/dist/projection/attestation.d.ts.map +1 -0
  782. package/dist/projection/attestation.js +59 -0
  783. package/dist/projection/attestation.js.map +1 -0
  784. package/dist/runtime/agent-roster-provider.d.ts +75 -0
  785. package/dist/runtime/agent-roster-provider.d.ts.map +1 -0
  786. package/dist/runtime/agent-roster-provider.js +30 -0
  787. package/dist/runtime/agent-roster-provider.js.map +1 -0
  788. package/dist/runtime/external-surface-projector.d.ts +37 -0
  789. package/dist/runtime/external-surface-projector.d.ts.map +1 -0
  790. package/dist/runtime/external-surface-projector.js +21 -0
  791. package/dist/runtime/external-surface-projector.js.map +1 -0
  792. package/dist/runtime/lifecycle-task.d.ts +54 -0
  793. package/dist/runtime/lifecycle-task.d.ts.map +1 -0
  794. package/dist/runtime/lifecycle-task.js +106 -0
  795. package/dist/runtime/lifecycle-task.js.map +1 -0
  796. package/dist/runtime.d.ts +496 -0
  797. package/dist/runtime.d.ts.map +1 -0
  798. package/dist/runtime.js +168 -0
  799. package/dist/runtime.js.map +1 -0
  800. package/dist/schemas/agent-message.d.ts +136 -0
  801. package/dist/schemas/agent-message.d.ts.map +1 -0
  802. package/dist/schemas/agent-message.js +131 -0
  803. package/dist/schemas/agent-message.js.map +1 -0
  804. package/dist/schemas/agent-roster.d.ts +50 -0
  805. package/dist/schemas/agent-roster.d.ts.map +1 -0
  806. package/dist/schemas/agent-roster.js +52 -0
  807. package/dist/schemas/agent-roster.js.map +1 -0
  808. package/dist/schemas/collision.d.ts +109 -0
  809. package/dist/schemas/collision.d.ts.map +1 -0
  810. package/dist/schemas/collision.js +71 -0
  811. package/dist/schemas/collision.js.map +1 -0
  812. package/dist/schemas/context-summary.d.ts +225 -0
  813. package/dist/schemas/context-summary.d.ts.map +1 -0
  814. package/dist/schemas/context-summary.js +117 -0
  815. package/dist/schemas/context-summary.js.map +1 -0
  816. package/dist/schemas/file-access.d.ts +176 -0
  817. package/dist/schemas/file-access.d.ts.map +1 -0
  818. package/dist/schemas/file-access.js +139 -0
  819. package/dist/schemas/file-access.js.map +1 -0
  820. package/dist/schemas/hooks.d.ts +170 -0
  821. package/dist/schemas/hooks.d.ts.map +1 -0
  822. package/dist/schemas/hooks.js +171 -0
  823. package/dist/schemas/hooks.js.map +1 -0
  824. package/dist/schemas/index.d.ts +19 -0
  825. package/dist/schemas/index.d.ts.map +1 -0
  826. package/dist/schemas/index.js +17 -0
  827. package/dist/schemas/index.js.map +1 -0
  828. package/dist/schemas/path-identity.d.ts +44 -0
  829. package/dist/schemas/path-identity.d.ts.map +1 -0
  830. package/dist/schemas/path-identity.js +93 -0
  831. package/dist/schemas/path-identity.js.map +1 -0
  832. package/dist/schemas/pending-notice.d.ts +13 -0
  833. package/dist/schemas/pending-notice.d.ts.map +1 -0
  834. package/dist/schemas/pending-notice.js +5 -0
  835. package/dist/schemas/pending-notice.js.map +1 -0
  836. package/dist/schemas/presets.d.ts +1239 -0
  837. package/dist/schemas/presets.d.ts.map +1 -0
  838. package/dist/schemas/presets.js +270 -0
  839. package/dist/schemas/presets.js.map +1 -0
  840. package/dist/schemas/roster.d.ts +96 -0
  841. package/dist/schemas/roster.d.ts.map +1 -0
  842. package/dist/schemas/roster.js +310 -0
  843. package/dist/schemas/roster.js.map +1 -0
  844. package/dist/schemas/tiers.d.ts +95 -0
  845. package/dist/schemas/tiers.d.ts.map +1 -0
  846. package/dist/schemas/tiers.js +143 -0
  847. package/dist/schemas/tiers.js.map +1 -0
  848. package/dist/schemas/touch-identity.d.ts +25 -0
  849. package/dist/schemas/touch-identity.d.ts.map +1 -0
  850. package/dist/schemas/touch-identity.js +16 -0
  851. package/dist/schemas/touch-identity.js.map +1 -0
  852. package/dist/schemas/touch-projection.d.ts +157 -0
  853. package/dist/schemas/touch-projection.d.ts.map +1 -0
  854. package/dist/schemas/touch-projection.js +100 -0
  855. package/dist/schemas/touch-projection.js.map +1 -0
  856. package/dist/session-capability.d.ts +88 -0
  857. package/dist/session-capability.d.ts.map +1 -0
  858. package/dist/session-capability.js +28 -0
  859. package/dist/session-capability.js.map +1 -0
  860. package/dist/setup/index.d.ts +9 -0
  861. package/dist/setup/index.d.ts.map +1 -0
  862. package/dist/setup/index.js +8 -0
  863. package/dist/setup/index.js.map +1 -0
  864. package/dist/setup/steps/detect-tools.d.ts +9 -0
  865. package/dist/setup/steps/detect-tools.d.ts.map +1 -0
  866. package/dist/setup/steps/detect-tools.js +120 -0
  867. package/dist/setup/steps/detect-tools.js.map +1 -0
  868. package/dist/setup/steps/index.d.ts +11 -0
  869. package/dist/setup/steps/index.d.ts.map +1 -0
  870. package/dist/setup/steps/index.js +11 -0
  871. package/dist/setup/steps/index.js.map +1 -0
  872. package/dist/setup/steps/install-helpers.d.ts +9 -0
  873. package/dist/setup/steps/install-helpers.d.ts.map +1 -0
  874. package/dist/setup/steps/install-helpers.js +29 -0
  875. package/dist/setup/steps/install-helpers.js.map +1 -0
  876. package/dist/setup/steps/install.d.ts +11 -0
  877. package/dist/setup/steps/install.d.ts.map +1 -0
  878. package/dist/setup/steps/install.js +143 -0
  879. package/dist/setup/steps/install.js.map +1 -0
  880. package/dist/setup/steps/select-location.d.ts +8 -0
  881. package/dist/setup/steps/select-location.d.ts.map +1 -0
  882. package/dist/setup/steps/select-location.js +55 -0
  883. package/dist/setup/steps/select-location.js.map +1 -0
  884. package/dist/setup/steps/select-targets.d.ts +8 -0
  885. package/dist/setup/steps/select-targets.d.ts.map +1 -0
  886. package/dist/setup/steps/select-targets.js +53 -0
  887. package/dist/setup/steps/select-targets.js.map +1 -0
  888. package/dist/setup/steps/select-tiers.d.ts +8 -0
  889. package/dist/setup/steps/select-tiers.d.ts.map +1 -0
  890. package/dist/setup/steps/select-tiers.js +124 -0
  891. package/dist/setup/steps/select-tiers.js.map +1 -0
  892. package/dist/setup/types.d.ts +128 -0
  893. package/dist/setup/types.d.ts.map +1 -0
  894. package/dist/setup/types.js +28 -0
  895. package/dist/setup/types.js.map +1 -0
  896. package/dist/setup/wizard.d.ts +25 -0
  897. package/dist/setup/wizard.d.ts.map +1 -0
  898. package/dist/setup/wizard.js +182 -0
  899. package/dist/setup/wizard.js.map +1 -0
  900. package/dist/storage/agent-message.record.descriptor.d.ts +43 -0
  901. package/dist/storage/agent-message.record.descriptor.d.ts.map +1 -0
  902. package/dist/storage/agent-message.record.descriptor.js +72 -0
  903. package/dist/storage/agent-message.record.descriptor.js.map +1 -0
  904. package/dist/storage/file-access.record.descriptor.d.ts +104 -0
  905. package/dist/storage/file-access.record.descriptor.d.ts.map +1 -0
  906. package/dist/storage/file-access.record.descriptor.js +370 -0
  907. package/dist/storage/file-access.record.descriptor.js.map +1 -0
  908. package/dist/storage/touch-identity.d.ts +43 -0
  909. package/dist/storage/touch-identity.d.ts.map +1 -0
  910. package/dist/storage/touch-identity.js +155 -0
  911. package/dist/storage/touch-identity.js.map +1 -0
  912. package/dist/svelte/external-svelte.plugin.d.ts +39 -0
  913. package/dist/svelte/external-svelte.plugin.d.ts.map +1 -0
  914. package/dist/svelte/external-svelte.plugin.js +25 -0
  915. package/dist/svelte/index.d.ts +11 -0
  916. package/dist/svelte/index.d.ts.map +1 -0
  917. package/dist/svelte/index.js +10 -0
  918. package/dist/svelte/styles.css +8 -0
  919. package/dist/svelte/tool-widgets/ExternalToolCard.svelte +71 -0
  920. package/dist/svelte/tool-widgets/ExternalToolCard.svelte.d.ts +5 -0
  921. package/dist/svelte/tool-widgets/ExternalToolCard.svelte.d.ts.map +1 -0
  922. package/dist/svelte/tool-widgets/index.d.ts +3 -0
  923. package/dist/svelte/tool-widgets/index.d.ts.map +1 -0
  924. package/dist/svelte/tool-widgets/index.js +2 -0
  925. package/dist/svelte/tool-widgets/summary.d.ts +27 -0
  926. package/dist/svelte/tool-widgets/summary.d.ts.map +1 -0
  927. package/dist/svelte/tool-widgets/summary.js +198 -0
  928. package/dist/tools/index.d.ts +3 -0
  929. package/dist/tools/index.d.ts.map +1 -0
  930. package/dist/tools/index.js +2 -0
  931. package/dist/tools/index.js.map +1 -0
  932. package/dist/tools/unified/action-descriptors.d.ts +185 -0
  933. package/dist/tools/unified/action-descriptors.d.ts.map +1 -0
  934. package/dist/tools/unified/action-descriptors.js +10 -0
  935. package/dist/tools/unified/action-descriptors.js.map +1 -0
  936. package/dist/tools/unified/action-input.d.ts +7 -0
  937. package/dist/tools/unified/action-input.d.ts.map +1 -0
  938. package/dist/tools/unified/action-input.js +13 -0
  939. package/dist/tools/unified/action-input.js.map +1 -0
  940. package/dist/tools/unified/actions.d.ts +10 -0
  941. package/dist/tools/unified/actions.d.ts.map +1 -0
  942. package/dist/tools/unified/actions.js +26 -0
  943. package/dist/tools/unified/actions.js.map +1 -0
  944. package/dist/tools/unified/external.descriptor.d.ts +30 -0
  945. package/dist/tools/unified/external.descriptor.d.ts.map +1 -0
  946. package/dist/tools/unified/external.descriptor.js +27 -0
  947. package/dist/tools/unified/external.descriptor.js.map +1 -0
  948. package/dist/tools/unified/external.impl.consumer.d.ts +8 -0
  949. package/dist/tools/unified/external.impl.consumer.d.ts.map +1 -0
  950. package/dist/tools/unified/external.impl.consumer.js +38 -0
  951. package/dist/tools/unified/external.impl.consumer.js.map +1 -0
  952. package/dist/tools/unified/handlers/context-summary.d.ts +4 -0
  953. package/dist/tools/unified/handlers/context-summary.d.ts.map +1 -0
  954. package/dist/tools/unified/handlers/context-summary.js +271 -0
  955. package/dist/tools/unified/handlers/context-summary.js.map +1 -0
  956. package/dist/tools/unified/handlers/file-access-list.d.ts +4 -0
  957. package/dist/tools/unified/handlers/file-access-list.d.ts.map +1 -0
  958. package/dist/tools/unified/handlers/file-access-list.js +39 -0
  959. package/dist/tools/unified/handlers/file-access-list.js.map +1 -0
  960. package/dist/tools/unified/handlers/file-access-track.d.ts +4 -0
  961. package/dist/tools/unified/handlers/file-access-track.d.ts.map +1 -0
  962. package/dist/tools/unified/handlers/file-access-track.js +34 -0
  963. package/dist/tools/unified/handlers/file-access-track.js.map +1 -0
  964. package/dist/tools/unified/handlers/hook-call.d.ts +23 -0
  965. package/dist/tools/unified/handlers/hook-call.d.ts.map +1 -0
  966. package/dist/tools/unified/handlers/hook-call.js +86 -0
  967. package/dist/tools/unified/handlers/hook-call.js.map +1 -0
  968. package/dist/tools/unified/handlers/hook-generator.d.ts +4 -0
  969. package/dist/tools/unified/handlers/hook-generator.d.ts.map +1 -0
  970. package/dist/tools/unified/handlers/hook-generator.js +37 -0
  971. package/dist/tools/unified/handlers/hook-generator.js.map +1 -0
  972. package/dist/tools/unified/handlers/signal.d.ts +22 -0
  973. package/dist/tools/unified/handlers/signal.d.ts.map +1 -0
  974. package/dist/tools/unified/handlers/signal.js +114 -0
  975. package/dist/tools/unified/handlers/signal.js.map +1 -0
  976. package/dist/tools/unified/index.d.ts +6 -0
  977. package/dist/tools/unified/index.d.ts.map +1 -0
  978. package/dist/tools/unified/index.js +6 -0
  979. package/dist/tools/unified/index.js.map +1 -0
  980. package/dist/tools/unified/install/handler.d.ts +4 -0
  981. package/dist/tools/unified/install/handler.d.ts.map +1 -0
  982. package/dist/tools/unified/install/handler.js +17 -0
  983. package/dist/tools/unified/install/handler.js.map +1 -0
  984. package/dist/tools/unified/runtime.d.ts +35 -0
  985. package/dist/tools/unified/runtime.d.ts.map +1 -0
  986. package/dist/tools/unified/runtime.js +23 -0
  987. package/dist/tools/unified/runtime.js.map +1 -0
  988. package/dist/tools/unified/schemas.d.ts +160 -0
  989. package/dist/tools/unified/schemas.d.ts.map +1 -0
  990. package/dist/tools/unified/schemas.js +139 -0
  991. package/dist/tools/unified/schemas.js.map +1 -0
  992. package/dist/utils/fs-absence.d.ts +22 -0
  993. package/dist/utils/fs-absence.d.ts.map +1 -0
  994. package/dist/utils/fs-absence.js +37 -0
  995. package/dist/utils/fs-absence.js.map +1 -0
  996. package/dist/utils/runtime-fs.d.ts +37 -0
  997. package/dist/utils/runtime-fs.d.ts.map +1 -0
  998. package/dist/utils/runtime-fs.js +100 -0
  999. package/dist/utils/runtime-fs.js.map +1 -0
  1000. package/dist/utils/toml.d.ts +26 -0
  1001. package/dist/utils/toml.d.ts.map +1 -0
  1002. package/dist/utils/toml.js +415 -0
  1003. package/dist/utils/toml.js.map +1 -0
  1004. package/package.json +263 -4
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Default `external/collision-filter`.
3
+ *
4
+ * Decides which peer touches are worth a line in the agent's context. Swap this
5
+ * descriptor to widen (directory-level), narrow (same-symbol), or apply a house
6
+ * policy — without forking the touch stream.
7
+ *
8
+ * The read (`ExternalClient.whoElseTouched`) has already applied the structural
9
+ * rules: other sessions only, same workspace, inside the window, one entry per
10
+ * peer. This filter is the LAST word before a notice is rendered, and its job
11
+ * is to be conservative.
12
+ *
13
+ * A filter may only REMOVE or REORDER. Fabricating a peer here would make the
14
+ * notice lie, and there is no enforcement anywhere in this design to catch it.
15
+ */
16
+ /**
17
+ * A pure `read` by another agent is not interesting enough to spend context on.
18
+ *
19
+ * Two agents READING the same file is the normal state of a healthy repo — it
20
+ * is not a collision, and reporting it would bury the signal that matters
21
+ * (someone is CHANGING a file under you) in constant chatter.
22
+ */
23
+ const REPORTABLE_OPERATIONS = new Set(['edit', 'write', 'delete']);
24
+ export const defaultCollisionFilter = {
25
+ filter(candidates, context) {
26
+ return candidates
27
+ .filter((peer) => {
28
+ // Defensive: the read already excludes self, but a swapped-in
29
+ // read must not be able to make an agent report itself.
30
+ if (peer.sessionId === context.sessionId)
31
+ return false;
32
+ // Only changes are worth interrupting for.
33
+ if (!REPORTABLE_OPERATIONS.has(peer.operation))
34
+ return false;
35
+ // Defensive re-check of the window: `since` is authoritative and
36
+ // a stale candidate must never survive a filter swap.
37
+ if (peer.timestamp < context.since)
38
+ return false;
39
+ // Different worktree is not a collision. Only excludes when both
40
+ // sides declared a workspace — an unknown workspace is not
41
+ // evidence of a mismatch.
42
+ if (context.workspaceRoot &&
43
+ peer.workspaceRoot &&
44
+ peer.workspaceRoot !== context.workspaceRoot) {
45
+ return false;
46
+ }
47
+ return true;
48
+ })
49
+ .sort((a, b) => a.ageMs - b.ageMs);
50
+ }
51
+ };
52
+ export default defaultCollisionFilter;
53
+ //# sourceMappingURL=default-collision-filter.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-collision-filter.impl.js","sourceRoot":"","sources":["../../src/ambient/default-collision-filter.impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,sBAAsB,GAAkC;IACpE,MAAM,CAAC,UAAuB,EAAE,OAA+B;QAC9D,OAAO,UAAU;aACf,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAChB,8DAA8D;YAC9D,wDAAwD;YACxD,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS;gBAAE,OAAO,KAAK,CAAC;YAEvD,2CAA2C;YAC3C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBAAE,OAAO,KAAK,CAAC;YAE7D,iEAAiE;YACjE,sDAAsD;YACtD,IAAI,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK;gBAAE,OAAO,KAAK,CAAC;YAEjD,iEAAiE;YACjE,2DAA2D;YAC3D,0BAA0B;YAC1B,IACC,OAAO,CAAC,aAAa;gBACrB,IAAI,CAAC,aAAa;gBAClB,IAAI,CAAC,aAAa,KAAK,OAAO,CAAC,aAAa,EAC3C,CAAC;gBACF,OAAO,KAAK,CAAC;YACd,CAAC;YAED,OAAO,IAAI,CAAC;QACb,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;CACD,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { NoticeFormatterImplementation } from '../schemas/collision.ts';
2
+ export declare const defaultNoticeFormatter: NoticeFormatterImplementation;
3
+ export default defaultNoticeFormatter;
4
+ //# sourceMappingURL=default-notice-formatter.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-notice-formatter.impl.d.ts","sourceRoot":"","sources":["../../src/ambient/default-notice-formatter.impl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,6BAA6B,EAE7B,MAAM,yBAAyB,CAAC;AAcjC,eAAO,MAAM,sBAAsB,EAAE,6BA6BpC,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
@@ -0,0 +1,38 @@
1
+ function shortSession(sessionId) {
2
+ return sessionId.slice(0, 8);
3
+ }
4
+ function humanAge(ageMs) {
5
+ const seconds = Math.floor(ageMs / 1000);
6
+ if (seconds < 45)
7
+ return 'now';
8
+ const minutes = Math.round(seconds / 60);
9
+ if (minutes < 60)
10
+ return `${Math.max(1, minutes)}m`;
11
+ return `${Math.round(minutes / 60)}h`;
12
+ }
13
+ export const defaultNoticeFormatter = {
14
+ format(peers, context) {
15
+ if (peers.length === 0)
16
+ return null;
17
+ const shown = peers.slice(0, Math.max(1, context.cap));
18
+ const hidden = peers.length - shown.length;
19
+ const ids = shown
20
+ .map((p) => {
21
+ const id = shortSession(p.sessionId);
22
+ return p.workItemTitle ? `${id} "${p.workItemTitle}"` : id;
23
+ })
24
+ .join(', ');
25
+ const tail = hidden > 0 ? ` +${hidden}` : '';
26
+ const machines = new Set(shown.map((p) => p.machineName).filter(Boolean));
27
+ const machine = machines.size === 1
28
+ ? ` ${[...machines][0]}`
29
+ : machines.size > 1
30
+ ? ` ${machines.size} machines`
31
+ : '';
32
+ const youngest = Math.min(...shown.map((p) => p.ageMs));
33
+ const noun = peers.length === 1 ? 'other editing' : 'others editing';
34
+ return `Heads up — ${peers.length} ${noun} this file (${machine.trim() || 'unknown'}, ${humanAge(youngest)}): ${ids}${tail}`;
35
+ }
36
+ };
37
+ export default defaultNoticeFormatter;
38
+ //# sourceMappingURL=default-notice-formatter.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-notice-formatter.impl.js","sourceRoot":"","sources":["../../src/ambient/default-notice-formatter.impl.ts"],"names":[],"mappings":"AAMA,SAAS,YAAY,CAAC,SAAiB;IACtC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IACzC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC;IACpD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAkC;IACpE,MAAM,CAAC,KAAkB,EAAE,OAA+B;QACzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAE3C,MAAM,GAAG,GAAG,KAAK;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACrC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7C,MAAM,QAAQ,GAAG,IAAI,GAAG,CACvB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAC/C,CAAC;QACF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,KAAK,CAAC;YAClC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;YACxB,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;gBAClB,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,WAAW;gBAC9B,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAExD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACrE,OAAO,cAAc,KAAK,CAAC,MAAM,IAAI,IAAI,eAAe,OAAO,CAAC,IAAI,EAAE,IAAI,SAAS,KAAK,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC;IAC9H,CAAC;CACD,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Ambient notice drain handler.
3
+ *
4
+ * Drains the pending-notices queue (filled by the filesystem watcher
5
+ * handler) into the tool result of whatever MCP tool the agent just
6
+ * called. This is the delivery path for agents that never use
7
+ * `workspace-fs` — the notice appears on their next `brain pulse`,
8
+ * `session status`, `knowledge search`, etc.
9
+ *
10
+ * SILENT WHEN ALONE: if the queue is empty (no pending notices), this
11
+ * handler is a no-op — resolve session ID, check a Map, return. Zero
12
+ * added bytes to the tool result.
13
+ *
14
+ * SAFE TO INJECT: the result must be a mutable object (not an array,
15
+ * not a primitive). `applyLines` checks this and bails if not.
16
+ */
17
+ declare const _default: {
18
+ handle(payload: unknown): Promise<void>;
19
+ };
20
+ export default _default;
21
+ //# sourceMappingURL=file-access-ambient-drain.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-access-ambient-drain.impl.d.ts","sourceRoot":"","sources":["../../src/ambient/file-access-ambient-drain.impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;oBAkBoB,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;;AAD9C,wBAuBE"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Ambient notice drain handler.
3
+ *
4
+ * Drains the pending-notices queue (filled by the filesystem watcher
5
+ * handler) into the tool result of whatever MCP tool the agent just
6
+ * called. This is the delivery path for agents that never use
7
+ * `workspace-fs` — the notice appears on their next `brain pulse`,
8
+ * `session status`, `knowledge search`, etc.
9
+ *
10
+ * SILENT WHEN ALONE: if the queue is empty (no pending notices), this
11
+ * handler is a no-op — resolve session ID, check a Map, return. Zero
12
+ * added bytes to the tool result.
13
+ *
14
+ * SAFE TO INJECT: the result must be a mutable object (not an array,
15
+ * not a primitive). `applyLines` checks this and bails if not.
16
+ */
17
+ import * as z from 'zod/v4';
18
+ import { tryGetVibesClient } from '@vibesdotdev/kernel/client';
19
+ import { drainPending } from "./pending-notices.js";
20
+ import { AnnotatableToolResultSchema, ToolAfterExecuteEventSchema, resolveAmbientSessionId } from "./file-access-shared.js";
21
+ // Hook dispatch renders stdout before the outer tool result is annotated.
22
+ const HookDispatchSchema = z.object({ action: z.literal('hook-call') });
23
+ export default {
24
+ async handle(payload) {
25
+ const parsedEvent = ToolAfterExecuteEventSchema.safeParse(payload);
26
+ if (!parsedEvent.success)
27
+ return;
28
+ const event = parsedEvent.data;
29
+ if (!event.runtime)
30
+ return;
31
+ if (event.toolId === 'external' && HookDispatchSchema.safeParse(event.input).success)
32
+ return;
33
+ const runtime = event.runtime;
34
+ const sessionId = await resolveAmbientSessionId(runtime);
35
+ if (!sessionId)
36
+ return;
37
+ if (tryGetVibesClient('external', runtime)?.ambientDeliveryDeferred(sessionId))
38
+ return;
39
+ // Consume only when the result can carry the notice to the caller.
40
+ const parsedResult = AnnotatableToolResultSchema.safeParse(event.result);
41
+ if (!parsedResult.success)
42
+ return;
43
+ const result = parsedResult.data;
44
+ const pending = drainPending(runtime, sessionId);
45
+ if (!pending)
46
+ return;
47
+ if (pending.notice)
48
+ result.notice = [pending.notice, result.notice].filter(Boolean).join('\n');
49
+ if (pending.messages)
50
+ result.messages = [pending.messages, result.messages].filter(Boolean).join('\n');
51
+ }
52
+ };
53
+ //# sourceMappingURL=file-access-ambient-drain.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-access-ambient-drain.impl.js","sourceRoot":"","sources":["../../src/ambient/file-access-ambient-drain.impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAI/D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACN,2BAA2B,EAC3B,2BAA2B,EAC3B,uBAAuB,EACvB,MAAM,yBAAyB,CAAC;AAEjC,0EAA0E;AAC1E,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAExE,eAAe;IACd,KAAK,CAAC,MAAM,CAAC,OAAgB;QAC5B,MAAM,WAAW,GAAG,2BAA2B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,OAAO;YAAE,OAAO;QACjC,MAAM,KAAK,GAA0B,WAAW,CAAC,IAAI,CAAC;QACtD,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,OAAO;QAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO;YAAE,OAAO;QAE7F,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,iBAAiB,CAAiB,UAAU,EAAE,OAAO,CAAC,EAAE,uBAAuB,CAAC,SAAS,CAAC;YAAE,OAAO;QAEvG,mEAAmE;QACnE,MAAM,YAAY,GAAG,2BAA2B,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzE,IAAI,CAAC,YAAY,CAAC,OAAO;YAAE,OAAO;QAClC,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC;QACjC,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,OAAO,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/F,IAAI,OAAO,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxG,CAAC;CACD,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Ambient notice drain subscription.
3
+ *
4
+ * Fires on EVERY `tools.tool.afterExecute` (no toolId filter) to drain the
5
+ * pending-notices queue filled by the filesystem watcher handler. The
6
+ * notice/message lands in whatever tool result the agent receives next —
7
+ * `brain pulse`, `session status`, `knowledge search`, anything — not
8
+ * waiting for a `workspace-fs` call that may never come.
9
+ *
10
+ * The queue is per-session and in-memory. If it is empty (the common case
11
+ * for a solo agent), this handler is a no-op: resolve session ID, check a
12
+ * Map, return. Zero added bytes.
13
+ *
14
+ * See docs/architecture/AMBIENT-AGENT-AWARENESS.md.
15
+ */
16
+ declare const _default: {
17
+ kind: "runtime/subscription";
18
+ id: string;
19
+ name: string;
20
+ description: string;
21
+ event: string;
22
+ handler: string;
23
+ handlerType: string;
24
+ enabled: true;
25
+ };
26
+ export default _default;
27
+ //# sourceMappingURL=file-access-ambient-drain.subscription.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-access-ambient-drain.subscription.descriptor.d.ts","sourceRoot":"","sources":["../../src/ambient/file-access-ambient-drain.subscription.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;AAIH,wBAUG"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Ambient notice drain subscription.
3
+ *
4
+ * Fires on EVERY `tools.tool.afterExecute` (no toolId filter) to drain the
5
+ * pending-notices queue filled by the filesystem watcher handler. The
6
+ * notice/message lands in whatever tool result the agent receives next —
7
+ * `brain pulse`, `session status`, `knowledge search`, anything — not
8
+ * waiting for a `workspace-fs` call that may never come.
9
+ *
10
+ * The queue is per-session and in-memory. If it is empty (the common case
11
+ * for a solo agent), this handler is a no-op: resolve session ID, check a
12
+ * Map, return. Zero added bytes.
13
+ *
14
+ * See docs/architecture/AMBIENT-AGENT-AWARENESS.md.
15
+ */
16
+ import { createRuntimeAsset } from '@vibesdotdev/kernel';
17
+ export default createRuntimeAsset({
18
+ kind: 'runtime/subscription',
19
+ id: 'external.file-access.ambient-drain',
20
+ name: 'Ambient Notice Drain',
21
+ description: 'Drains pending collision notices and messages from the filesystem watcher queue into the next tool result',
22
+ event: 'tools.tool.afterExecute',
23
+ handler: 'inline',
24
+ handlerType: 'inline',
25
+ enabled: true
26
+ });
27
+ //# sourceMappingURL=file-access-ambient-drain.subscription.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-access-ambient-drain.subscription.descriptor.js","sourceRoot":"","sources":["../../src/ambient/file-access-ambient-drain.subscription.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,eAAe,kBAAkB,CAAC;IACjC,IAAI,EAAE,sBAAsB;IAC5B,EAAE,EAAE,oCAAoC;IACxC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACV,2GAA2G;IAC5G,KAAK,EAAE,yBAAyB;IAChC,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,QAAQ;IACrB,OAAO,EAAE,IAAI;CACb,CAAC,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Ambient file-touch handler — filesystem watcher source.
3
+ *
4
+ * RECORDS touches AND fills a pending-notices queue when a collision is
5
+ * detected. The filesystem watcher fires 500ms after the edit (debounced),
6
+ * so there is no tool result to mutate — the notice is queued and the
7
+ * drain subscription (on ANY `tools.tool.afterExecute`) injects it into
8
+ * the next tool result the agent receives.
9
+ *
10
+ * WHAT THIS CLOSES: an agent using native `edit`/`write`/`bash` records
11
+ * nothing under the tool-only subscription. With this handler, the OS
12
+ * watcher sees those edits, records them, checks for peers, and queues
13
+ * a notice for delivery on the agent's next MCP tool call.
14
+ *
15
+ * NOISE FILTER: the OS watcher fires on build artifacts, lock files, git
16
+ * metadata — all of which would pollute the touch record and cause false
17
+ * collision notices. Those paths are filtered out before recording.
18
+ *
19
+ * Same invariants as the tool handler: never fail, never block, degrade to
20
+ * silence.
21
+ */
22
+ /**
23
+ * Paths that are not agent file touches and would cause false collision
24
+ * notices if recorded. The OS watcher fires on ALL changes; this filter
25
+ * keeps the touch record about source files, not build byproducts.
26
+ *
27
+ * EVERY PATTERN HERE IS LOAD-BEARING, and the cost of a gap is not a few
28
+ * spurious rows. On 2026-08-21 a single `external.db` held 3,182,962 rows of
29
+ * which 3,181,876 — 99.97% — were watcher events for `.bun-build` scratch
30
+ * files. That was 5.6GB in one database (plus 1.2GB in a second), on a volume
31
+ * that had reached 100% capacity. Real tool calls accounted for 1,086 rows.
32
+ *
33
+ * The gap existed because the directory patterns below assume build output
34
+ * lands in a build DIRECTORY. Bun writes its scratch files to the workspace
35
+ * ROOT as `.<hash>-00000000.bun-build`, so `dist/`, `build/`, `.turbo/` and
36
+ * friends all miss them. When adding a build tool, check where it writes its
37
+ * temporary files, not just its output.
38
+ */
39
+ export declare const NOISE_PATTERNS: readonly RegExp[];
40
+ export declare function isNoisePath(path: string): boolean;
41
+ declare const _default: {
42
+ handle(payload: unknown): Promise<void>;
43
+ };
44
+ export default _default;
45
+ //# sourceMappingURL=file-access-ambient-fs.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-access-ambient-fs.impl.d.ts","sourceRoot":"","sources":["../../src/ambient/file-access-ambient-fs.impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AA+BH;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAqB3C,CAAC;AAEF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD;;oBAsBsB,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;;AAD9C,wBA8IE"}
@@ -0,0 +1,243 @@
1
+ /**
2
+ * Ambient file-touch handler — filesystem watcher source.
3
+ *
4
+ * RECORDS touches AND fills a pending-notices queue when a collision is
5
+ * detected. The filesystem watcher fires 500ms after the edit (debounced),
6
+ * so there is no tool result to mutate — the notice is queued and the
7
+ * drain subscription (on ANY `tools.tool.afterExecute`) injects it into
8
+ * the next tool result the agent receives.
9
+ *
10
+ * WHAT THIS CLOSES: an agent using native `edit`/`write`/`bash` records
11
+ * nothing under the tool-only subscription. With this handler, the OS
12
+ * watcher sees those edits, records them, checks for peers, and queues
13
+ * a notice for delivery on the agent's next MCP tool call.
14
+ *
15
+ * NOISE FILTER: the OS watcher fires on build artifacts, lock files, git
16
+ * metadata — all of which would pollute the touch record and cause false
17
+ * collision notices. Those paths are filtered out before recording.
18
+ *
19
+ * Same invariants as the tool handler: never fail, never block, degrade to
20
+ * silence.
21
+ */
22
+ import * as z from 'zod/v4';
23
+ import { CapabilityError } from '@vibesdotdev/kernel';
24
+ import { CollisionFilterSchema, DEFAULT_PEER_CAP, DEFAULT_RECENCY_WINDOW_MS, NoticeFormatterSchema } from "../schemas/collision.js";
25
+ import { resolveTouchIdentity } from "../storage/touch-identity.js";
26
+ import { canonicalTouchPath, isTouchPathInsideWorkspace } from "../schemas/path-identity.js";
27
+ import { resolveTouchProjection, toProjectedTouch } from "./cloud-touch-projection.impl.js";
28
+ import { resolveMessageTransport } from "./message-transport.impl.js";
29
+ import { MESSAGE_DELIVERY_CAP, formatMessages } from "../schemas/agent-message.js";
30
+ import { defaultCollisionFilter } from "./default-collision-filter.impl.js";
31
+ import { defaultNoticeFormatter } from "./default-notice-formatter.impl.js";
32
+ import { setPending } from "./pending-notices.js";
33
+ import { resolveAmbientFileAccessClient, resolveAmbientImpl, resolveAmbientSessionId } from "./file-access-shared.js";
34
+ import { attempt, withBudget } from "./attempt.js";
35
+ /**
36
+ * Paths that are not agent file touches and would cause false collision
37
+ * notices if recorded. The OS watcher fires on ALL changes; this filter
38
+ * keeps the touch record about source files, not build byproducts.
39
+ *
40
+ * EVERY PATTERN HERE IS LOAD-BEARING, and the cost of a gap is not a few
41
+ * spurious rows. On 2026-08-21 a single `external.db` held 3,182,962 rows of
42
+ * which 3,181,876 — 99.97% — were watcher events for `.bun-build` scratch
43
+ * files. That was 5.6GB in one database (plus 1.2GB in a second), on a volume
44
+ * that had reached 100% capacity. Real tool calls accounted for 1,086 rows.
45
+ *
46
+ * The gap existed because the directory patterns below assume build output
47
+ * lands in a build DIRECTORY. Bun writes its scratch files to the workspace
48
+ * ROOT as `.<hash>-00000000.bun-build`, so `dist/`, `build/`, `.turbo/` and
49
+ * friends all miss them. When adding a build tool, check where it writes its
50
+ * temporary files, not just its output.
51
+ */
52
+ export const NOISE_PATTERNS = [
53
+ /(^|\/)dist\//,
54
+ /(^|\/)\.svelte-kit\//,
55
+ /(^|\/)node_modules\//,
56
+ /(^|\/)\.git\//,
57
+ /(^|\/)\.vibes\//,
58
+ /(^|\/)\.turbo\//,
59
+ /(^|\/)__pycache__\//,
60
+ /(^|\/)\.next\//,
61
+ /(^|\/)build\//,
62
+ /(^|\/)\.cache\//,
63
+ /(^|\/)\.claude\//,
64
+ /(^|\/)\.agents\//,
65
+ /(^|\/)\.opencode\//,
66
+ /(^|\/)\.wrangler\//,
67
+ /(^|\/)\.vite\//,
68
+ /bun\.lockb?$/,
69
+ /\.DS_Store$/,
70
+ /\.(log|tmp|swp)$/,
71
+ // Build scratch, written to the workspace root rather than a build dir.
72
+ /\.bun-build$/
73
+ ];
74
+ export function isNoisePath(path) {
75
+ return NOISE_PATTERNS.some((p) => p.test(path));
76
+ }
77
+ /** fs actions that represent a CHANGE worth checking for collisions. */
78
+ /**
79
+ * The filesystem-watch event this handler records: the changed paths plus the
80
+ * runtime that publishes them. The runtime itself is only proven an object
81
+ * here — its surface is the publisher's contract, read through the shared
82
+ * resolvers below.
83
+ */
84
+ const WatchEventSchema = z.object({
85
+ paths: z.array(z.unknown()).optional(),
86
+ reason: z.string().optional(),
87
+ runtime: z.custom((value) => value instanceof Object).optional()
88
+ });
89
+ /** A usable path candidate from the watch batch. */
90
+ function isString(value) {
91
+ return typeof value === 'string';
92
+ }
93
+ export default {
94
+ async handle(payload) {
95
+ const parsed = WatchEventSchema.safeParse(payload);
96
+ if (!parsed.success)
97
+ return;
98
+ const event = parsed.data;
99
+ if (!event.paths || event.paths.length === 0)
100
+ return;
101
+ if (!event.runtime) {
102
+ // Publishers hand the runtime with the event; without it this recorder cannot act (there is no
103
+ // runtime to log through either), so it refuses: the hook dispatcher reports the typed failure.
104
+ throw new CapabilityError('The filesystem watch event carried no runtime; the touch cannot be recorded.', 'INVALID_INPUT', {
105
+ reason: 'watch-event-runtime-missing',
106
+ details: { paths: event.paths.length }
107
+ });
108
+ }
109
+ const paths = event.paths.filter(isString).filter((p) => p.length > 0);
110
+ if (paths.length === 0)
111
+ return;
112
+ const runtime = event.runtime;
113
+ const [sessionId, client] = await Promise.all([
114
+ resolveAmbientSessionId(runtime),
115
+ resolveAmbientFileAccessClient(runtime)
116
+ ]);
117
+ if (!sessionId || !client)
118
+ return;
119
+ const identityOutcome = await attempt(runtime, () => resolveTouchIdentity(runtime));
120
+ const identity = identityOutcome.ok ? identityOutcome.value : {};
121
+ // The watcher is workspace awareness, not a machine-wide activity log.
122
+ // Refuse to record when its root is unknown, repair the missing-leading-
123
+ // slash form some providers emit, and drop anything outside the bound
124
+ // checkout before local persistence or cloud projection.
125
+ const canonicalPaths = [
126
+ ...new Set(paths
127
+ .filter((path) => isTouchPathInsideWorkspace(path, identity.workspaceRoot))
128
+ .map((path) => canonicalTouchPath(path, identity.workspaceRoot))
129
+ .filter((path) => !isNoisePath(path)))
130
+ ];
131
+ if (canonicalPaths.length === 0)
132
+ return;
133
+ // 1. RECORD locally — fire-and-forget.
134
+ void Promise.all(canonicalPaths.map((filePath) => attempt(runtime, () => client.trackFileAccess({
135
+ sessionId,
136
+ filePath,
137
+ operation: 'edit',
138
+ toolName: 'filesystem-watcher',
139
+ ...identity
140
+ }))));
141
+ // 2. PROJECT outward for cross-machine visibility.
142
+ void attempt(runtime, async () => {
143
+ const projection = await resolveTouchProjection(runtime);
144
+ const now = new Date();
145
+ projection.project(canonicalPaths.map((filePath) => toProjectedTouch({
146
+ sessionId,
147
+ filePath,
148
+ operation: 'edit',
149
+ timestamp: now,
150
+ machineId: identity.machineId,
151
+ machineName: identity.machineName,
152
+ participantId: identity.participantId,
153
+ participantSlug: identity.participantSlug,
154
+ workspaceRoot: identity.workspaceRoot,
155
+ gitBranch: identity.gitBranch,
156
+ workItemId: identity.workItemId,
157
+ workItemTitle: identity.workItemTitle
158
+ })));
159
+ });
160
+ // 3. CHECK FOR COLLISIONS — if another session touched the same path
161
+ // recently, queue a notice for delivery on the next tool call. Only
162
+ // the primary path (first in the batch) to respect the noise budget.
163
+ const primary = canonicalPaths[0];
164
+ if (!primary)
165
+ return;
166
+ await withBudget(runtime, attempt(runtime, async () => {
167
+ const peers = await collectPeers(runtime, client, {
168
+ sessionId,
169
+ filePath: primary,
170
+ workspaceRoot: identity.workspaceRoot
171
+ });
172
+ if (peers.length === 0)
173
+ return;
174
+ const formatter = await resolveAmbientImpl(runtime, 'external/notice-formatter', NoticeFormatterSchema, defaultNoticeFormatter);
175
+ const lineOutcome = await attempt(runtime, async () => formatter.format(peers, {
176
+ filePath: primary,
177
+ cap: DEFAULT_PEER_CAP,
178
+ now: new Date()
179
+ }));
180
+ const line = lineOutcome.ok ? lineOutcome.value : undefined;
181
+ if (!line)
182
+ return;
183
+ setPending(runtime, sessionId, { notice: line });
184
+ }), 300, 'ambient-fs-budget');
185
+ // 4. CLAIM MESSAGES — anything addressed to this session. Queue for
186
+ // delivery on the next tool call.
187
+ await withBudget(runtime, attempt(runtime, async () => {
188
+ const transport = await resolveMessageTransport(runtime);
189
+ const claimed = await transport.claim({
190
+ sessionId,
191
+ workspaceRoot: identity.workspaceRoot,
192
+ filePaths: canonicalPaths,
193
+ limit: MESSAGE_DELIVERY_CAP
194
+ });
195
+ const messageLine = formatMessages(claimed, MESSAGE_DELIVERY_CAP);
196
+ if (messageLine) {
197
+ setPending(runtime, sessionId, { messages: messageLine });
198
+ }
199
+ }), 300, 'ambient-fs-budget');
200
+ }
201
+ };
202
+ async function collectPeers(runtime, client, input) {
203
+ const now = new Date();
204
+ const since = new Date(now.getTime() - DEFAULT_RECENCY_WINDOW_MS);
205
+ const [localOutcome, remoteOutcome] = await Promise.all([
206
+ attempt(runtime, () => client.whoElseTouched({
207
+ filePath: input.filePath,
208
+ workspaceRoot: input.workspaceRoot,
209
+ excludeSessionId: input.sessionId,
210
+ since,
211
+ limit: DEFAULT_PEER_CAP + 5
212
+ })),
213
+ attempt(runtime, async () => {
214
+ const projection = await resolveTouchProjection(runtime);
215
+ return projection.peersForPath({
216
+ filePath: input.filePath,
217
+ workspaceRoot: input.workspaceRoot,
218
+ excludeSessionId: input.sessionId,
219
+ since,
220
+ limit: DEFAULT_PEER_CAP + 5
221
+ });
222
+ })
223
+ ]);
224
+ const bySession = new Map();
225
+ const local = localOutcome.ok ? localOutcome.value : [];
226
+ const remote = remoteOutcome.ok ? remoteOutcome.value : [];
227
+ for (const peer of remote)
228
+ bySession.set(peer.sessionId, peer);
229
+ for (const peer of local)
230
+ bySession.set(peer.sessionId, peer);
231
+ const candidates = Array.from(bySession.values());
232
+ if (candidates.length === 0)
233
+ return [];
234
+ const filter = await resolveAmbientImpl(runtime, 'external/collision-filter', CollisionFilterSchema, defaultCollisionFilter);
235
+ const filterOutcome = await attempt(runtime, async () => filter.filter(candidates, {
236
+ sessionId: input.sessionId,
237
+ workspaceRoot: input.workspaceRoot,
238
+ since,
239
+ now
240
+ }));
241
+ return filterOutcome.ok ? filterOutcome.value : [];
242
+ }
243
+ //# sourceMappingURL=file-access-ambient-fs.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-access-ambient-fs.impl.js","sourceRoot":"","sources":["../../src/ambient/file-access-ambient-fs.impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAqB,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EACN,qBAAqB,EACrB,gBAAgB,EAChB,yBAAyB,EACzB,qBAAqB,EAErB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EACN,kBAAkB,EAClB,0BAA0B,EAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC5F,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EACN,8BAA8B,EAC9B,kBAAkB,EAClB,uBAAuB,EAEvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEnD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAsB;IAChD,cAAc;IACd,sBAAsB;IACtB,sBAAsB;IACtB,eAAe;IACf,iBAAiB;IACjB,iBAAiB;IACjB,qBAAqB;IACrB,gBAAgB;IAChB,eAAe;IACf,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,gBAAgB;IAChB,cAAc;IACd,aAAa;IACb,kBAAkB;IAClB,wEAAwE;IACxE,cAAc;CACd,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,IAAY;IACvC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,wEAAwE;AAExE;;;;;GAKG;AACH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAe,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,YAAY,MAAM,CAAC,CAAC,QAAQ,EAAE;CAC9E,CAAC,CAAC;AAEH,oDAAoD;AACpD,SAAS,QAAQ,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;AAClC,CAAC;AAED,eAAe;IACd,KAAK,CAAC,MAAM,CAAC,OAAgB;QAC5B,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAErD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACpB,+FAA+F;YAC/F,gGAAgG;YAChG,MAAM,IAAI,eAAe,CAAC,8EAA8E,EAAE,eAAe,EAAE;gBAC1H,MAAM,EAAE,6BAA6B;gBACrC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;aACtC,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE/B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAE9B,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC7C,uBAAuB,CAAC,OAAO,CAAC;YAChC,8BAA8B,CAAC,OAAO,CAAC;SACvC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM;YAAE,OAAO;QAElC,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;QACpF,MAAM,QAAQ,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,uEAAuE;QACvE,yEAAyE;QACzE,sEAAsE;QACtE,yDAAyD;QACzD,MAAM,cAAc,GAAG;YACtB,GAAG,IAAI,GAAG,CACT,KAAK;iBACH,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,0BAA0B,CAAC,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;iBAC1E,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;iBAC/D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CACtC;SACD,CAAC;QACF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAExC,uCAAuC;QACvC,KAAK,OAAO,CAAC,GAAG,CACf,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC/B,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,CACrB,MAAM,CAAC,eAAe,CAAC;YACtB,SAAS;YACT,QAAQ;YACR,SAAS,EAAE,MAAM;YACjB,QAAQ,EAAE,oBAAoB;YAC9B,GAAG,QAAQ;SACX,CAAC,CACF,CACD,CACD,CAAC;QAEF,mDAAmD;QACnD,KAAK,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;YAChC,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACzD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,UAAU,CAAC,OAAO,CACjB,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC/B,gBAAgB,CAAC;gBAChB,SAAS;gBACT,QAAQ;gBACR,SAAS,EAAE,MAAM;gBACjB,SAAS,EAAE,GAAG;gBACf,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,eAAe,EAAE,QAAQ,CAAC,eAAe;gBACzC,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC5B,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,aAAa,EAAE,QAAQ,CAAC,aAAa;aACrC,CAAC,CACF,CACD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,qEAAqE;QACrE,oEAAoE;QACpE,qEAAqE;QACrE,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,UAAU,CACf,OAAO,EACP,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;YAC3B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE;gBACjD,SAAS;gBACT,QAAQ,EAAE,OAAO;gBACjB,aAAa,EAAE,QAAQ,CAAC,aAAa;aACrC,CAAC,CAAC;YACH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAE/B,MAAM,SAAS,GAAG,MAAM,kBAAkB,CACzC,OAAO,EACP,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,CACtB,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CACrD,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE;gBACvB,QAAQ,EAAE,OAAO;gBACjB,GAAG,EAAE,gBAAgB;gBACrB,GAAG,EAAE,IAAI,IAAI,EAAE;aACf,CAAC,CACF,CAAC;YACF,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,IAAI,CAAC,IAAI;gBAAE,OAAO;YAElB,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,EACF,GAAG,EACH,mBAAmB,CACnB,CAAC;QAEF,oEAAoE;QACpE,kCAAkC;QAClC,MAAM,UAAU,CACf,OAAO,EACP,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;YAC3B,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC;gBACrC,SAAS;gBACT,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,SAAS,EAAE,cAAc;gBACzB,KAAK,EAAE,oBAAoB;aAC3B,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;YAClE,IAAI,WAAW,EAAE,CAAC;gBACjB,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;YAC3D,CAAC;QACF,CAAC,CAAC,EACF,GAAG,EACH,mBAAmB,CACnB,CAAC;IACH,CAAC;CACD,CAAC;AAEF,KAAK,UAAU,YAAY,CAC1B,OAAqB,EACrB,MAA+B,EAC/B,KAAsE;IAEtE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,yBAAyB,CAAC,CAAC;IAElE,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvD,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,CACrB,MAAM,CAAC,cAAc,CAAC;YACrB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,gBAAgB,EAAE,KAAK,CAAC,SAAS;YACjC,KAAK;YACL,KAAK,EAAE,gBAAgB,GAAG,CAAC;SAC3B,CAAC,CACF;QACD,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;YAC3B,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACzD,OAAO,UAAU,CAAC,YAAY,CAAC;gBAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,gBAAgB,EAAE,KAAK,CAAC,SAAS;gBACjC,KAAK;gBACL,KAAK,EAAE,gBAAgB,GAAG,CAAC;aAC3B,CAAC,CAAC;QACJ,CAAC,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC/C,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,KAAK,MAAM,IAAI,IAAI,MAAM;QAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC/D,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAE9D,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAClD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,MAAM,MAAM,GAAG,MAAM,kBAAkB,CACtC,OAAO,EACP,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,CACtB,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CACvD,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;QACzB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,KAAK;QACL,GAAG;KACH,CAAC,CACF,CAAC;IACF,OAAO,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACpD,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Ambient file-touch subscription — filesystem watcher source.
3
+ *
4
+ * The sibling `external.file-access.ambient` subscription fires on
5
+ * `tools.tool.afterExecute` filtered to `workspace-fs` — it only sees MCP
6
+ * workspace-fs tool calls. An agent using native `edit`/`write`/`bash`
7
+ * records nothing, which is exactly the case for most MCP client agents.
8
+ *
9
+ * When explicitly enabled, this subscription records watcher touches and queues
10
+ * notices/messages for the next observable tool or hook response.
11
+ *
12
+ * Disabled in production: Workspace must drop gone paths and exclude .vibes/
13
+ * before re-enablement. A watcher event is no guarantee of universal native-edit
14
+ * coverage. Disposable fixtures enable this descriptor before runtime wiring.
15
+ *
16
+ * See docs/architecture/AMBIENT-AGENT-AWARENESS.md.
17
+ */
18
+ declare const _default: {
19
+ kind: "runtime/subscription";
20
+ id: string;
21
+ name: string;
22
+ description: string;
23
+ event: string;
24
+ handler: string;
25
+ handlerType: string;
26
+ filter: {
27
+ reason: string;
28
+ };
29
+ enabled: false;
30
+ };
31
+ export default _default;
32
+ //# sourceMappingURL=file-access-ambient-fs.subscription.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-access-ambient-fs.subscription.descriptor.d.ts","sourceRoot":"","sources":["../../src/ambient/file-access-ambient-fs.subscription.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;;;AAIH,wBAoBG"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Ambient file-touch subscription — filesystem watcher source.
3
+ *
4
+ * The sibling `external.file-access.ambient` subscription fires on
5
+ * `tools.tool.afterExecute` filtered to `workspace-fs` — it only sees MCP
6
+ * workspace-fs tool calls. An agent using native `edit`/`write`/`bash`
7
+ * records nothing, which is exactly the case for most MCP client agents.
8
+ *
9
+ * When explicitly enabled, this subscription records watcher touches and queues
10
+ * notices/messages for the next observable tool or hook response.
11
+ *
12
+ * Disabled in production: Workspace must drop gone paths and exclude .vibes/
13
+ * before re-enablement. A watcher event is no guarantee of universal native-edit
14
+ * coverage. Disposable fixtures enable this descriptor before runtime wiring.
15
+ *
16
+ * See docs/architecture/AMBIENT-AGENT-AWARENESS.md.
17
+ */
18
+ import { createRuntimeAsset } from '@vibesdotdev/kernel';
19
+ export default createRuntimeAsset({
20
+ kind: 'runtime/subscription',
21
+ id: 'external.file-access.ambient-fs',
22
+ name: 'Ambient File Touch (Filesystem Watcher)',
23
+ description: 'Records file changes seen by the OS-level workspace watcher so native/external edits participate in collision awareness',
24
+ event: 'filesystem.fragment.invalidate',
25
+ handler: 'inline',
26
+ handlerType: 'inline',
27
+ filter: {
28
+ reason: 'watch'
29
+ },
30
+ // Disabled 2026-10-05 00:08 UTC (coordinator stop-gap, Drew-directed): a full-tree watcher pass persisted
31
+ // as ~100k file_accesses inserts held the shared MCP host's thread.
32
+ //
33
+ // Re-enabled by the watcher fix (d6669da30), then disabled again 2026-10-05 05:45 UTC
34
+ // (coordinator stop-gap): the watcher still publishes paths whose stat fails with
35
+ // ENOENT, .vibes/ is inside the watched tree, and the daemon crash-looped. It
36
+ // returns once the watcher drops gone paths and ignores .vibes/ (workspace owner).
37
+ enabled: false
38
+ });
39
+ //# sourceMappingURL=file-access-ambient-fs.subscription.descriptor.js.map