@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,257 @@
1
+ /** Resolve and publish the current runtime's agent-session identity. */
2
+ import * as z from 'zod/v4';
3
+ import { CaughtFailureSchema, isCapabilityError } from '@vibesdotdev/kernel';
4
+ import { ACCOUNT_AGENT_ROSTER_PROVIDER_ID, AGENT_ROSTER_PROVIDER_QUALIFIER, AGENT_ROSTER_UNAUTHORIZED_REASON, EXTERNAL_AGENT_ROSTER_PROVIDER_KIND } from "../runtime/agent-roster-provider.js";
5
+ import { resolveTouchIdentity } from "../storage/touch-identity.js";
6
+ import { attempt } from "./attempt.js";
7
+ const HeartbeatMetadataSchema = z.object({
8
+ agentId: z.unknown().optional(),
9
+ modelId: z.unknown().optional(),
10
+ providerId: z.unknown().optional(),
11
+ clientInfo: z.unknown().optional(),
12
+ externalToolId: z.unknown().optional(),
13
+ name: z.unknown().optional(),
14
+ workItemTitle: z.unknown().optional()
15
+ });
16
+ const AgentsReaderSchema = z.custom((value) => value instanceof Object &&
17
+ (!('definitions' in value) || Object(value).definitions instanceof Object));
18
+ const AiReaderSchema = z.custom((value) => value instanceof Object &&
19
+ (!('models' in value) || Object(value).models instanceof Object));
20
+ function nonEmpty(value) {
21
+ const parsed = z.string().trim().min(1).safeParse(value);
22
+ return parsed.success ? parsed.data : undefined;
23
+ }
24
+ function record(value) {
25
+ const parsed = HeartbeatMetadataSchema.safeParse(value);
26
+ return parsed.success ? parsed.data : {};
27
+ }
28
+ async function enrichConfiguredModel(runtime, agentId, modelId, providerId) {
29
+ let resolvedModelId = modelId;
30
+ let resolvedProviderId = providerId;
31
+ if (!resolvedModelId) {
32
+ const agentsOutcome = await attempt(runtime, async () => AgentsReaderSchema.parse(await runtime.query('runtime/client').withId('agents').resolve()));
33
+ const definitions = agentsOutcome.ok ? agentsOutcome.value.definitions : undefined;
34
+ if (definitions) {
35
+ const modelOutcome = await attempt(runtime, () => definitions.get(agentId));
36
+ if (modelOutcome.ok)
37
+ resolvedModelId = nonEmpty(modelOutcome.value?.modelId);
38
+ }
39
+ }
40
+ const modelIdForProvider = resolvedModelId;
41
+ if (modelIdForProvider && !resolvedProviderId) {
42
+ const aiOutcome = await attempt(runtime, async () => AiReaderSchema.parse(await runtime.query('runtime/client').withId('ai').resolve()));
43
+ const models = aiOutcome.ok ? aiOutcome.value.models : undefined;
44
+ if (models) {
45
+ const modelOutcome = await attempt(runtime, () => models.get(modelIdForProvider));
46
+ if (modelOutcome.ok) {
47
+ resolvedProviderId = nonEmpty(modelOutcome.value?.descriptor?.providerId);
48
+ }
49
+ }
50
+ }
51
+ return { modelId: resolvedModelId, providerId: resolvedProviderId };
52
+ }
53
+ /**
54
+ * Build the portable heartbeat from runtime/session facts.
55
+ *
56
+ * Provider/model are never guessed from a brand name. A harness may report
57
+ * them via participant/client metadata or runtime env; configured Vibes agents
58
+ * can be enriched from the Agents + AI clients. Otherwise the wire carries
59
+ * explicit nulls and `vibes who` renders `unreported`.
60
+ */
61
+ export async function resolveCurrentAgentSessionAnnouncement(runtime, now = new Date()) {
62
+ const managerOutcome = await attempt(runtime, () => runtime.context('session/manager'));
63
+ if (!managerOutcome.ok)
64
+ return null;
65
+ const manager = managerOutcome.value;
66
+ if (!manager)
67
+ return null;
68
+ // Identity is the active invocation's actor, never a declared qualifier.
69
+ const actor = runtime.scope.actor ?? {};
70
+ let sessionId = nonEmpty(actor.sessionId) ?? nonEmpty(manager.activeSessionId);
71
+ if (!sessionId) {
72
+ const defaultSessionOutcome = await attempt(runtime, async () => manager.getDefaultActiveSession
73
+ ? nonEmpty(await manager.getDefaultActiveSession())
74
+ : undefined);
75
+ if (defaultSessionOutcome.ok)
76
+ sessionId = defaultSessionOutcome.value;
77
+ }
78
+ if (!sessionId || !manager.getSession)
79
+ return null;
80
+ const sessionOutcome = await attempt(runtime, () => manager.getSession(sessionId));
81
+ if (!sessionOutcome.ok)
82
+ return null;
83
+ const session = sessionOutcome.value;
84
+ if (!session)
85
+ return null;
86
+ const participantId = nonEmpty(actor.participantId) ?? nonEmpty(session.ownerParticipant);
87
+ let participant;
88
+ if (participantId && manager.getParticipant) {
89
+ const participantOutcome = await attempt(runtime, () => manager.getParticipant(participantId));
90
+ if (participantOutcome.ok)
91
+ participant = participantOutcome.value;
92
+ }
93
+ const participantMetadata = record(participant?.metadata);
94
+ const clientInfo = record(participantMetadata.clientInfo);
95
+ const sessionMetadata = record(session.metadata);
96
+ const agentId = nonEmpty(participantMetadata.agentId) ??
97
+ nonEmpty(clientInfo.agentId) ??
98
+ nonEmpty(actor.agentId) ??
99
+ nonEmpty(runtime.getEnv('VIBES_AGENT_ID')) ??
100
+ participantId ??
101
+ sessionId;
102
+ const configured = await enrichConfiguredModel(runtime, agentId, nonEmpty(participantMetadata.modelId) ??
103
+ nonEmpty(clientInfo.modelId) ??
104
+ nonEmpty(runtime.getEnv('VIBES_MODEL_ID')), nonEmpty(participantMetadata.providerId) ??
105
+ nonEmpty(clientInfo.providerId) ??
106
+ nonEmpty(runtime.getEnv('VIBES_PROVIDER_ID')));
107
+ const identityOutcome = await attempt(runtime, () => resolveTouchIdentity(runtime));
108
+ const identity = identityOutcome.ok ? identityOutcome.value : {};
109
+ const started = new Date(session.createdAt);
110
+ if (Number.isNaN(started.getTime()))
111
+ return null;
112
+ return {
113
+ agentId,
114
+ providerId: configured.providerId ?? null,
115
+ modelId: configured.modelId ?? null,
116
+ sessionId: session.id,
117
+ sessionStartedAt: started,
118
+ observedAt: now,
119
+ participantId,
120
+ participantSlug: identity.participantSlug,
121
+ runtimeEnvironment: nonEmpty(clientInfo.externalToolId) ??
122
+ nonEmpty(clientInfo.name) ??
123
+ nonEmpty(runtime.scope.surface) ??
124
+ nonEmpty(runtime.scope.hardware),
125
+ machineId: identity.machineId,
126
+ machineName: identity.machineName,
127
+ workspaceRoot: identity.workspaceRoot,
128
+ gitBranch: identity.gitBranch,
129
+ workItemId: identity.workItemId ?? nonEmpty(session.workItemId),
130
+ workItemTitle: identity.workItemTitle ?? nonEmpty(sessionMetadata.workItemTitle)
131
+ };
132
+ }
133
+ export async function resolveAgentRosterProvider(runtime, providerId) {
134
+ if (runtime.hasKind(EXTERNAL_AGENT_ROSTER_PROVIDER_KIND)) {
135
+ const qualifier = z
136
+ .object({ [AGENT_ROSTER_PROVIDER_QUALIFIER]: z.unknown().optional() })
137
+ .safeParse(runtime.scope.qualifiers);
138
+ const selectedProviderId = nonEmpty(providerId) ??
139
+ nonEmpty(qualifier.success ? qualifier.data[AGENT_ROSTER_PROVIDER_QUALIFIER] : undefined) ??
140
+ ACCOUNT_AGENT_ROSTER_PROVIDER_ID;
141
+ const resolved = await runtime
142
+ .query(EXTERNAL_AGENT_ROSTER_PROVIDER_KIND)
143
+ .withId(selectedProviderId)
144
+ .resolve();
145
+ if (resolved)
146
+ return resolved;
147
+ }
148
+ const { CloudAgentRosterProvider } = await import("./cloud-agent-roster-provider.impl.js");
149
+ const { asCallerBearerRuntime } = await import("./cloud-authenticated-json.js");
150
+ return new CloudAgentRosterProvider(asCallerBearerRuntime(runtime));
151
+ }
152
+ export async function announceCurrentAgentSession(runtime, now = new Date()) {
153
+ const entry = await resolveCurrentAgentSessionAnnouncement(runtime, now);
154
+ if (!entry)
155
+ return null;
156
+ const provider = await resolveAgentRosterProvider(runtime);
157
+ if (provider)
158
+ await provider.announce(entry);
159
+ return entry;
160
+ }
161
+ /**
162
+ * Longest gap the runtime leaves between roster writes while the session is
163
+ * unchanged.
164
+ *
165
+ * The server holds an announcement for its own TTL (15 minutes, see hq-web's
166
+ * `AGENT_ROSTER_TTL_SECONDS`) and expires crashed sessions on read, so staying
167
+ * listed only requires a write comfortably inside that window — not one per
168
+ * tick. This keepalive leaves a 10x margin under the TTL while still sitting
169
+ * under the 3-minute freshness convention used elsewhere for hosts.
170
+ */
171
+ export const AGENT_ROSTER_KEEPALIVE_MS = 90 * 1000;
172
+ /**
173
+ * Everything the roster row carries except the observation timestamp.
174
+ *
175
+ * `observedAt` advances on every tick by construction, so comparing whole
176
+ * entries would report "changed" forever. Two entries with the same fingerprint
177
+ * describe the same session doing the same work, and the later one tells the
178
+ * server nothing it does not already hold.
179
+ */
180
+ export function agentSessionAnnouncementFingerprint(entry) {
181
+ const { observedAt: _observedAt, ...rest } = entry;
182
+ const normalized = Object.entries(rest)
183
+ .filter(([, value]) => value !== undefined)
184
+ .sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0))
185
+ .map(([key, value]) => [key, value instanceof Date ? value.toISOString() : value]);
186
+ return JSON.stringify(normalized);
187
+ }
188
+ /** Whether `failure` is the provider refusing the presented credential. */
189
+ function isRosterRefusal(failure) {
190
+ return isCapabilityError(failure) && failure.reason === AGENT_ROSTER_UNAUTHORIZED_REASON;
191
+ }
192
+ /**
193
+ * A digest naming the credential the runtime presents now, so a refusal can
194
+ * be remembered without holding the credential. A runtime with no bearer, or
195
+ * one whose bearer cannot be resolved, is named by that fact.
196
+ */
197
+ async function presentedCredential(runtime) {
198
+ const { asCallerBearerRuntime, resolveAmbientBearer } = await import("./cloud-authenticated-json.js");
199
+ const outcome = await attempt(runtime, () => resolveAmbientBearer(asCallerBearerRuntime(runtime)), 'roster credential read');
200
+ if (!outcome.ok)
201
+ return 'unresolved';
202
+ if (outcome.value === null)
203
+ return 'none';
204
+ const digest = await crypto.subtle.digest('SHA-256', new TextEncoder().encode(outcome.value));
205
+ return Array.from(new Uint8Array(digest), (byte) => byte.toString(16).padStart(2, '0')).join('');
206
+ }
207
+ /**
208
+ * Announce the current session only when it actually changed, or when the
209
+ * keepalive falls due.
210
+ *
211
+ * Resolution stays local (session manager + model enrichment); only the write
212
+ * crosses the network, so an idle body costs nothing but the resolve it was
213
+ * already doing. Returns the entry when it published, `null` when it had
214
+ * nothing new to say — callers that must publish unconditionally should use
215
+ * `announceCurrentAgentSession`.
216
+ *
217
+ * `signal` is the caller's run: once it aborts (its runtime's disposal began)
218
+ * the announce publishes nothing and rejects with the signal's reason, and a
219
+ * publish in flight is aborted.
220
+ *
221
+ * A provider refusal (`agent-roster-unauthorized`) rejects once; later calls
222
+ * return `null` without publishing until the runtime presents a different
223
+ * credential.
224
+ */
225
+ export async function announceCurrentAgentSessionIfDue(runtime, state, now = new Date(), signal) {
226
+ const entry = await resolveCurrentAgentSessionAnnouncement(runtime, now);
227
+ if (!entry)
228
+ return null;
229
+ const fingerprint = agentSessionAnnouncementFingerprint(entry);
230
+ const keepaliveDueAt = (state.announcedAt ?? 0) + AGENT_ROSTER_KEEPALIVE_MS;
231
+ if (state.fingerprint === fingerprint && now.getTime() < keepaliveDueAt)
232
+ return null;
233
+ if (state.refusedCredential !== undefined) {
234
+ if ((await presentedCredential(runtime)) === state.refusedCredential)
235
+ return null;
236
+ state.refusedCredential = undefined;
237
+ }
238
+ signal?.throwIfAborted();
239
+ const provider = await resolveAgentRosterProvider(runtime);
240
+ signal?.throwIfAborted();
241
+ if (provider) {
242
+ try {
243
+ await provider.announce(entry, { signal });
244
+ }
245
+ catch (error) {
246
+ // Refused once: reported by the caller, then quiet until the
247
+ // credential changes, never retried against the same refusal.
248
+ if (isRosterRefusal(CaughtFailureSchema.parse(error)))
249
+ state.refusedCredential = await presentedCredential(runtime);
250
+ throw error;
251
+ }
252
+ }
253
+ state.fingerprint = fingerprint;
254
+ state.announcedAt = now.getTime();
255
+ return entry;
256
+ }
257
+ //# sourceMappingURL=agent-roster-heartbeat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-roster-heartbeat.js","sourceRoot":"","sources":["../../src/ambient/agent-roster-heartbeat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Shared "never throw into the tool/event path" wrapper for ambient handlers.
3
+ *
4
+ * Ambient work is a declared-optional path: a failure degrades to silence, but
5
+ * the reason is always logged (never swallowed) and travels on the outcome, so
6
+ * a caller that can say more keeps the failure instead of re-reading absence.
7
+ */
8
+ import { type RuntimeRef, type Settled } from '@vibesdotdev/kernel';
9
+ /** Ambient work's value or the failure that was logged before it degraded. */
10
+ export type AttemptOutcome<T> = Settled<T>;
11
+ /** Run `fn`; on failure log the reason and resolve the failure as the outcome. */
12
+ export declare function attempt<T>(runtime: RuntimeRef, fn: () => Promise<T> | T, what?: string): Promise<AttemptOutcome<T>>;
13
+ /**
14
+ * Time-box a promise on the runtime's lifecycle. A budget expiry is the
15
+ * declared degrade-to-silence path (no log line: the budget firing is normal);
16
+ * any other failure is logged with its reason. Both resolve as the outcome.
17
+ */
18
+ export declare function withBudget<T>(runtime: RuntimeRef, promise: Promise<T>, ms: number, reason?: string): Promise<AttemptOutcome<T>>;
19
+ //# sourceMappingURL=attempt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attempt.d.ts","sourceRoot":"","sources":["../../src/ambient/attempt.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAA+C,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGjH,8EAA8E;AAC9E,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3C,kFAAkF;AAClF,wBAAsB,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,SAAiB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CASjI;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,CAAC,EACjC,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,EAAE,EAAE,MAAM,EACV,MAAM,SAAmB,GACvB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAY5B"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Shared "never throw into the tool/event path" wrapper for ambient handlers.
3
+ *
4
+ * Ambient work is a declared-optional path: a failure degrades to silence, but
5
+ * the reason is always logged (never swallowed) and travels on the outcome, so
6
+ * a caller that can say more keeps the failure instead of re-reading absence.
7
+ */
8
+ import { isCapabilityError, settle, valueFreeFailure } from '@vibesdotdev/kernel';
9
+ import { getLogger } from '@vibesdotdev/logging';
10
+ /** Run `fn`; on failure log the reason and resolve the failure as the outcome. */
11
+ export async function attempt(runtime, fn, what = 'ambient work') {
12
+ const outcome = await settle(fn);
13
+ if (!outcome.ok) {
14
+ const failure = outcome.cause;
15
+ getLogger('external.ambient.attempt', runtime).debug(`${what} failed; degrading to silence`, {
16
+ error: valueFreeFailure(failure)
17
+ });
18
+ }
19
+ return outcome;
20
+ }
21
+ /**
22
+ * Time-box a promise on the runtime's lifecycle. A budget expiry is the
23
+ * declared degrade-to-silence path (no log line: the budget firing is normal);
24
+ * any other failure is logged with its reason. Both resolve as the outcome.
25
+ */
26
+ export async function withBudget(runtime, promise, ms, reason = 'ambient-budget') {
27
+ const outcome = await settle(() => runtime.lifecycle.wait(() => promise, { timeoutMs: ms, reason }));
28
+ if (!outcome.ok) {
29
+ const failure = outcome.cause;
30
+ if (failure instanceof Error && isCapabilityError(failure) && failure.reason === 'wait-timeout') {
31
+ return outcome;
32
+ }
33
+ getLogger('external.ambient.attempt', runtime).debug(`${reason} failed; degrading to silence`, {
34
+ error: valueFreeFailure(failure)
35
+ });
36
+ }
37
+ return outcome;
38
+ }
39
+ //# sourceMappingURL=attempt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attempt.js","sourceRoot":"","sources":["../../src/ambient/attempt.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,gBAAgB,EAAiC,MAAM,qBAAqB,CAAC;AACjH,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKjD,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,OAAO,CAAI,OAAmB,EAAE,EAAwB,EAAE,IAAI,GAAG,cAAc;IACpG,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC;IACjC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;QAC9B,SAAS,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,+BAA+B,EAAE;YAC5F,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC;SAChC,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC/B,OAAmB,EACnB,OAAmB,EACnB,EAAU,EACV,MAAM,GAAG,gBAAgB;IAEzB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACrG,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;QAC9B,IAAI,OAAO,YAAY,KAAK,IAAI,iBAAiB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YACjG,OAAO,OAAO,CAAC;QAChB,CAAC;QACD,SAAS,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,MAAM,+BAA+B,EAAE;YAC9F,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC;SAChC,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /** Official account-roster provider; replaceable through the runtime kind. */
2
+ import { type AgentSessionAnnouncement } from '../schemas/agent-roster.ts';
3
+ import { type AgentRosterAnnounceOptions, type AgentRosterProvider } from '../runtime/agent-roster-provider.ts';
4
+ import { type AmbientRuntime } from './cloud-authenticated-json.ts';
5
+ export declare class CloudAgentRosterProvider implements AgentRosterProvider {
6
+ private readonly runtime;
7
+ /** `runtime` is the one whose caller's bearer every request presents. */
8
+ constructor(runtime: AmbientRuntime);
9
+ announce(entry: AgentSessionAnnouncement, options?: AgentRosterAnnounceOptions): Promise<void>;
10
+ list(): Promise<AgentSessionAnnouncement[]>;
11
+ }
12
+ export default CloudAgentRosterProvider;
13
+ //# sourceMappingURL=cloud-agent-roster-provider.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-agent-roster-provider.impl.d.ts","sourceRoot":"","sources":["../../src/ambient/cloud-agent-roster-provider.impl.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAG9E,OAAO,EAGN,KAAK,wBAAwB,EAC7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEN,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACxB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAoCxF,qBAAa,wBAAyB,YAAW,mBAAmB;IAEvD,OAAO,CAAC,QAAQ,CAAC,OAAO;IADpC,yEAAyE;gBAC5C,OAAO,EAAE,cAAc;IAE9C,QAAQ,CAAC,KAAK,EAAE,wBAAwB,EAAE,OAAO,GAAE,0BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC;IAelG,IAAI,IAAI,OAAO,CAAC,wBAAwB,EAAE,CAAC;CAejD;AAED,eAAe,wBAAwB,CAAC"}
@@ -0,0 +1,71 @@
1
+ /** Official account-roster provider; replaceable through the runtime kind. */
2
+ import { CapabilityError } from '@vibesdotdev/kernel';
3
+ import { AccountAgentRosterResponseSchema, AgentSessionAnnouncementSchema } from "../schemas/agent-roster.js";
4
+ import { AGENT_ROSTER_UNAUTHORIZED_REASON } from "../runtime/agent-roster-provider.js";
5
+ import { requestAmbientJson } from "./cloud-authenticated-json.js";
6
+ const ROSTER_PATH = '/api/ambient/roster';
7
+ const READ_TIMEOUT_MS = 2_000;
8
+ const WRITE_TIMEOUT_MS = 2_000;
9
+ function unavailable(operation, status, cause) {
10
+ return new CapabilityError(`Could not ${operation} the account agent roster${status ? ` (HTTP ${status})` : ''}.`, 'UNAVAILABLE', {
11
+ retryable: true,
12
+ cause,
13
+ recoveryHint: 'The account roster provider is configured but unreachable. Restore the linked HQ/provider connection; do not treat a partial local roster as complete.'
14
+ });
15
+ }
16
+ /**
17
+ * The account refused the bearer it was shown (HTTP 401 or 403). The bearer
18
+ * will be refused again until it changes, so this is not retryable.
19
+ */
20
+ function unauthorized(status) {
21
+ return new CapabilityError(`The account agent roster refused this runtime's credential (HTTP ${status}).`, status === 401 ? 'AUTH_REQUIRED' : 'PERMISSION_DENIED', {
22
+ reason: AGENT_ROSTER_UNAUTHORIZED_REASON,
23
+ retryable: false,
24
+ details: { status },
25
+ recoveryHint: 'Sign in again (vibes auth login) so the runtime presents a credential the account accepts.'
26
+ });
27
+ }
28
+ export class CloudAgentRosterProvider {
29
+ runtime;
30
+ /** `runtime` is the one whose caller's bearer every request presents. */
31
+ constructor(runtime) {
32
+ this.runtime = runtime;
33
+ }
34
+ async announce(entry, options = {}) {
35
+ const announcement = AgentSessionAnnouncementSchema.parse(entry);
36
+ const result = await requestAmbientJson(this.runtime, ROSTER_PATH, {
37
+ method: 'POST',
38
+ body: announcement,
39
+ timeoutMs: WRITE_TIMEOUT_MS,
40
+ signal: options.signal
41
+ });
42
+ // An unlinked/local-only runtime has no account provider by design, and a
43
+ // runtime that ended mid-announce has nobody left to announce.
44
+ if (!result.configured || result.cancelled)
45
+ return;
46
+ if (result.status === 401 || result.status === 403)
47
+ throw unauthorized(result.status);
48
+ if (!result.ok)
49
+ throw unavailable('publish', result.status, result.failure);
50
+ }
51
+ async list() {
52
+ const result = await requestAmbientJson(this.runtime, ROSTER_PATH, {
53
+ method: 'GET',
54
+ timeoutMs: READ_TIMEOUT_MS
55
+ });
56
+ if (!result.configured)
57
+ return [];
58
+ if (result.cancelled) {
59
+ throw new CapabilityError('Reading the account agent roster was cancelled: the runtime ended.', 'CANCELLED', {
60
+ reason: 'wait-aborted'
61
+ });
62
+ }
63
+ if (result.status === 401 || result.status === 403)
64
+ throw unauthorized(result.status);
65
+ if (!result.ok)
66
+ throw unavailable('read', result.status, result.failure);
67
+ return AccountAgentRosterResponseSchema.parse(result.body).agents;
68
+ }
69
+ }
70
+ export default CloudAgentRosterProvider;
71
+ //# sourceMappingURL=cloud-agent-roster-provider.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-agent-roster-provider.impl.js","sourceRoot":"","sources":["../../src/ambient/cloud-agent-roster-provider.impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Shared authenticated JSON transport for account-scoped ambient providers.
3
+ *
4
+ * The official HQ origin is one provider, not an architectural dependency:
5
+ * the provider is the host's declared `hq` `infra/service`, so self-hosted and
6
+ * white-label runtimes declare another origin with the same contract (rc04
7
+ * §2.4). A host that composes no service catalog, or declares no `hq`
8
+ * service, is local-only. The credential is the caller's bearer, read through
9
+ * the `auth/caller-bearer` runtime context (auth's `resolveCallerBearer`,
10
+ * chosen by the host's declared capability (rc05 §2.2)): nothing is read from
11
+ * ambient auth env vars. External never imports auth — a public package cannot
12
+ * require an internal one — so the context is consumed structurally, and a
13
+ * host that composes no auth fails closed resolving it.
14
+ */
15
+ import { CapabilityError, type RuntimeRef } from '@vibesdotdev/kernel';
16
+ export declare function ambientProjectionOptedOut(runtime: RuntimeRef): Promise<boolean>;
17
+ /** The runtime an ambient provider is handed: bearer, service, and lifecycle reads. */
18
+ export type AmbientRuntime = RuntimeRef;
19
+ /**
20
+ * The ambient provider's origin: the declared `hq` `infra/service` in the
21
+ * runtime's configured service environment. `null` (local-only) when
22
+ * projection is opted out, or when the host declares no `hq` service. A
23
+ * declared service with no usable origin is a typed failure, never an empty
24
+ * success.
25
+ */
26
+ export declare function resolveAmbientOrigin(runtime: RuntimeRef): Promise<string | null>;
27
+ /**
28
+ * Narrow a runtime handle to what an ambient provider reads: the bearer
29
+ * context, the service query, and lifecycle-owned waits. A handle without
30
+ * them is a composition fault.
31
+ */
32
+ export declare function asCallerBearerRuntime(runtime: RuntimeRef): AmbientRuntime;
33
+ /**
34
+ * The caller's bearer for ambient requests, or `null` when there is none to
35
+ * present: an anonymous request, a signed-out interactive host, a host that
36
+ * declares no environment tier (so no credential can be resolved — the
37
+ * ambient projection is simply unprovisioned there), or a request-principal
38
+ * host outside an invocation (no caller to name). Every other failure is
39
+ * thrown, including a host that composes no auth: it fails closed resolving
40
+ * the context.
41
+ */
42
+ export declare function resolveAmbientBearer(runtime: RuntimeRef): Promise<string | null>;
43
+ /**
44
+ * An ambient request's outcome. `configured: false` means no HQ origin or
45
+ * bearer (declared-optional). `cancelled` means the runtime ended mid-request:
46
+ * a confirmed cancellation, not an unreachable HQ.
47
+ */
48
+ export type AmbientJsonResult = {
49
+ configured: boolean;
50
+ ok: boolean;
51
+ cancelled?: true;
52
+ /** Why a configured request failed to reach HQ (network, timeout), with the original as its cause. */
53
+ failure?: CapabilityError;
54
+ status?: number;
55
+ body?: unknown;
56
+ };
57
+ export declare function requestAmbientJson(runtime: AmbientRuntime, path: string, options: {
58
+ method?: 'GET' | 'POST' | 'DELETE';
59
+ body?: unknown;
60
+ timeoutMs: number;
61
+ /**
62
+ * The caller's run. Once it aborts the request is never sent, or the one
63
+ * in flight is aborted, and the outcome is `cancelled`. A runtime's own
64
+ * disposal does not end a request started while it finalizes, so owned
65
+ * work passes its run's signal here.
66
+ */
67
+ signal?: AbortSignal;
68
+ }): Promise<AmbientJsonResult>;
69
+ //# sourceMappingURL=cloud-authenticated-json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-authenticated-json.d.ts","sourceRoot":"","sources":["../../src/ambient/cloud-authenticated-json.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,eAAe,EAAyC,KAAK,UAAU,EAAuB,MAAM,qBAAqB,CAAC;AASnI,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAErF;AAED,uFAAuF;AACvF,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC;AAExC;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAKtF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,UAAU,GAAG,cAAc,CAOzE;AAaD;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAatF;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,sGAAsG;IACtG,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,wBAAsB,kBAAkB,CACvC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IACR,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB,GACC,OAAO,CAAC,iBAAiB,CAAC,CAwB5B"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Shared authenticated JSON transport for account-scoped ambient providers.
3
+ *
4
+ * The official HQ origin is one provider, not an architectural dependency:
5
+ * the provider is the host's declared `hq` `infra/service`, so self-hosted and
6
+ * white-label runtimes declare another origin with the same contract (rc04
7
+ * §2.4). A host that composes no service catalog, or declares no `hq`
8
+ * service, is local-only. The credential is the caller's bearer, read through
9
+ * the `auth/caller-bearer` runtime context (auth's `resolveCallerBearer`,
10
+ * chosen by the host's declared capability (rc05 §2.2)): nothing is read from
11
+ * ambient auth env vars. External never imports auth — a public package cannot
12
+ * require an internal one — so the context is consumed structurally, and a
13
+ * host that composes no auth fails closed resolving it.
14
+ */
15
+ import { CapabilityError, isCapabilityError, CaughtFailureSchema } from '@vibesdotdev/kernel';
16
+ import { serviceOrigin } from '@vibesdotdev/infra-core/service';
17
+ import { ambientProjectionIsOff } from "../config/read.js";
18
+ export async function ambientProjectionOptedOut(runtime) {
19
+ return ambientProjectionIsOff(runtime);
20
+ }
21
+ /**
22
+ * The ambient provider's origin: the declared `hq` `infra/service` in the
23
+ * runtime's configured service environment. `null` (local-only) when
24
+ * projection is opted out, or when the host declares no `hq` service. A
25
+ * declared service with no usable origin is a typed failure, never an empty
26
+ * success.
27
+ */
28
+ export async function resolveAmbientOrigin(runtime) {
29
+ if (await ambientProjectionIsOff(runtime))
30
+ return null;
31
+ if (!runtime.hasKind('infra/service'))
32
+ return null;
33
+ if (runtime.query('infra/service').withId('hq').descriptors().length === 0)
34
+ return null;
35
+ return (await serviceOrigin(runtime, 'hq')).replace(/\/$/, '');
36
+ }
37
+ /**
38
+ * Narrow a runtime handle to what an ambient provider reads: the bearer
39
+ * context, the service query, and lifecycle-owned waits. A handle without
40
+ * them is a composition fault.
41
+ */
42
+ export function asCallerBearerRuntime(runtime) {
43
+ if (!runtime.context || !runtime.query || !runtime.hasKind || !runtime.lifecycle?.wait) {
44
+ throw new CapabilityError('The ambient provider was handed a runtime without a declared bearer dispatch and service query.', 'INTERNAL', {
45
+ reason: 'runtime-missing'
46
+ });
47
+ }
48
+ return runtime;
49
+ }
50
+ async function attemptAmbientBearer(runtime) {
51
+ try {
52
+ const bearerContext = await runtime.context('auth/caller-bearer');
53
+ return { bearer: await bearerContext.resolve() };
54
+ }
55
+ catch (error) {
56
+ return { failure: CaughtFailureSchema.parse(error) };
57
+ }
58
+ }
59
+ /**
60
+ * The caller's bearer for ambient requests, or `null` when there is none to
61
+ * present: an anonymous request, a signed-out interactive host, a host that
62
+ * declares no environment tier (so no credential can be resolved — the
63
+ * ambient projection is simply unprovisioned there), or a request-principal
64
+ * host outside an invocation (no caller to name). Every other failure is
65
+ * thrown, including a host that composes no auth: it fails closed resolving
66
+ * the context.
67
+ */
68
+ export async function resolveAmbientBearer(runtime) {
69
+ const attempt = await attemptAmbientBearer(runtime);
70
+ if ('bearer' in attempt)
71
+ return attempt.bearer;
72
+ const failure = attempt.failure;
73
+ if (isCapabilityError(failure) &&
74
+ (failure.reason === 'not-signed-in' ||
75
+ failure.reason === 'tier-undeclared' ||
76
+ failure.reason === 'invocation-inactive')) {
77
+ return null;
78
+ }
79
+ throw failure;
80
+ }
81
+ export async function requestAmbientJson(runtime, path, options) {
82
+ const [origin, token] = await Promise.all([resolveAmbientOrigin(runtime), resolveAmbientBearer(runtime)]);
83
+ if (!origin || !token)
84
+ return { configured: false, ok: false };
85
+ const method = options.method ?? 'GET';
86
+ const headers = { accept: 'application/json', authorization: `Bearer ${token}` };
87
+ const init = options.body === undefined
88
+ ? { method, headers }
89
+ : { method, headers: { ...headers, 'content-type': 'application/json' }, body: JSON.stringify(options.body) };
90
+ try {
91
+ const response = await runtime.lifecycle.wait((signal) => fetch(`${origin}${path}`, { ...init, signal }), {
92
+ timeoutMs: options.timeoutMs,
93
+ reason: `ambient-request:${path}`,
94
+ signal: options.signal
95
+ });
96
+ if (!response.ok)
97
+ return { configured: true, ok: false, status: response.status };
98
+ return { configured: true, ok: true, status: response.status, body: await response.json() };
99
+ }
100
+ catch (error) {
101
+ if (error instanceof Error && isCapabilityError(error) && error.code === 'CANCELLED')
102
+ return { configured: true, ok: false, cancelled: true };
103
+ // Declared-optional ambient provider: an unreachable HQ degrades to "not ok",
104
+ // and the failure travels with the outcome for the caller to report.
105
+ return { configured: true, ok: false, failure: CapabilityError.from(CaughtFailureSchema.parse(error)) };
106
+ }
107
+ }
108
+ //# sourceMappingURL=cloud-authenticated-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-authenticated-json.js","sourceRoot":"","sources":["../../src/ambient/cloud-authenticated-json.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAuC,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACnI,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAO3D,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,OAAmB;IAClE,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC;AAKD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAmB;IAC7D,IAAI,MAAM,sBAAsB,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACvD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACxF,OAAO,CAAC,MAAM,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAmB;IACxD,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;QACxF,MAAM,IAAI,eAAe,CAAC,iGAAiG,EAAE,UAAU,EAAE;YACxI,MAAM,EAAE,iBAAiB;SACzB,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAID,KAAK,UAAU,oBAAoB,CAAC,OAAmB;IACtD,IAAI,CAAC;QACJ,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,OAAO,CAAsB,oBAAoB,CAAC,CAAC;QACvF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,EAAE,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;IACtD,CAAC;AACF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAmB;IAC7D,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,QAAQ,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC;IAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IACC,iBAAiB,CAAC,OAAO,CAAC;QAC1B,CAAC,OAAO,CAAC,MAAM,KAAK,eAAe;YAClC,OAAO,CAAC,MAAM,KAAK,iBAAiB;YACpC,OAAO,CAAC,MAAM,KAAK,qBAAqB,CAAC,EACzC,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,OAAO,CAAC;AACf,CAAC;AAiBD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACvC,OAAuB,EACvB,IAAY,EACZ,OAWC;IAED,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1G,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IAE/D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IACvC,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC;IACjF,MAAM,IAAI,GACT,OAAO,CAAC,IAAI,KAAK,SAAS;QACzB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE;QACrB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IAChH,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE;YACzG,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,mBAAmB,IAAI,EAAE;YACjC,MAAM,EAAE,OAAO,CAAC,MAAM;SACtB,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClF,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;IAC7F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,KAAK,YAAY,KAAK,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAC9I,8EAA8E;QAC9E,qEAAqE;QACrE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IACzG,CAAC;AACF,CAAC"}