@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,46 @@
1
+ /**
2
+ * Classify one line of child output as a JSON-RPC message.
3
+ *
4
+ * Hostile output is a value, never a throw: a line that is not JSON, not an
5
+ * object, not a recognizable envelope, or carries a bounded-field violation
6
+ * (an oversized id, a non-string method) is `invalid`, with a bounded excerpt of
7
+ * it for the log (never a message).
8
+ */
9
+ import { attempt } from "./outcome.js";
10
+ import { boundedExcerpt } from "./errors.js";
11
+ import { JsonRpcEnvelopeSchema } from "./schemas.js";
12
+ function invalid(line) {
13
+ return { kind: 'invalid', excerpt: boundedExcerpt(line) };
14
+ }
15
+ /** Decode and classify one line. Never throws: a hostile line is `invalid`. */
16
+ export function classifyLine(line) {
17
+ const parsed = attempt(() => JSON.parse(line));
18
+ if (parsed.failed)
19
+ return invalid(line);
20
+ const raw = parsed.value;
21
+ const envelope = attempt(() => JsonRpcEnvelopeSchema.safeParse(raw));
22
+ if (envelope.failed || !envelope.value.success)
23
+ return invalid(line);
24
+ const message = envelope.value.data;
25
+ // Presence, not value: `"result": null` is an answer. The schema accepted `raw` as an object, so own-key reads are defined.
26
+ const hasResult = Object.hasOwn(raw, 'result');
27
+ const hasError = message.error !== undefined;
28
+ if (message.method === undefined) {
29
+ if (message.id === undefined || hasResult === hasError)
30
+ return invalid(line);
31
+ return {
32
+ kind: 'response',
33
+ id: message.id,
34
+ result: message.result,
35
+ error: message.error
36
+ };
37
+ }
38
+ if (hasResult || hasError)
39
+ return invalid(line);
40
+ if (message.id === undefined)
41
+ return { kind: 'notification', method: message.method, params: message.params };
42
+ if (message.id === null)
43
+ return invalid(line);
44
+ return { kind: 'request', id: message.id, method: message.method, params: message.params };
45
+ }
46
+ //# sourceMappingURL=envelope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../src/jsonrpc/envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAkB,MAAM,cAAc,CAAC;AAerE,SAAS,OAAO,CAAC,IAAY;IAC5B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,YAAY,CAAC,IAAY;IACxC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC;IACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACrE,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;IACpC,4HAA4H;IAC5H,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC;IAC7C,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,SAAS,KAAK,QAAQ;YAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7E,OAAO;YACN,IAAI,EAAE,UAAU;YAChB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;SACpB,CAAC;IACH,CAAC;IACD,IAAI,SAAS,IAAI,QAAQ;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IAC9G,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AAC5F,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Typed failures of the JSON-RPC child client.
3
+ *
4
+ * Child-supplied text (a JSON-RPC `error.message`, an unparseable line, stderr)
5
+ * never enters a thrown message: every message is fixed per reason. The child's
6
+ * numeric code and a bounded, control-character-stripped excerpt ride only in
7
+ * `details`, so the logger that prints them decides whether to.
8
+ */
9
+ import { CapabilityError, type CapabilityErrorDetails, type CaughtFailure } from '@vibesdotdev/kernel';
10
+ /** The reasons this client fails with; each has one fixed message and one code. */
11
+ export declare const JSONRPC_REASONS: readonly ["jsonrpc-error", "jsonrpc-protocol-invalid", "jsonrpc-child-exited", "jsonrpc-line-too-large", "jsonrpc-timeout", "jsonrpc-closed", "jsonrpc-cancelled", "jsonrpc-notification-overflow", "jsonrpc-kill-failed", "jsonrpc-hook-failed", "jsonrpc-invalid-options"];
12
+ export type JsonRpcReason = (typeof JSONRPC_REASONS)[number];
13
+ /** The longest excerpt of child text a failure carries in `details.excerpt`, in characters. */
14
+ export declare const MAX_EXCERPT_CHARS = 200;
15
+ /**
16
+ * Child text reduced to what a log line can safely carry: at most
17
+ * {@link MAX_EXCERPT_CHARS} characters, with control, format (bidi, zero-width),
18
+ * line- and paragraph-separator and unpaired-surrogate characters removed, and
19
+ * every credential-shaped token removed (the platform's one redaction,
20
+ * `@vibesdotdev/shared/utils`: a child echoes the keys and tokens it was given).
21
+ */
22
+ export declare function boundedExcerpt(text: string): string;
23
+ /** A typed failure with its reason's fixed message; `details` and `cause` are the caller's bounded facts. */
24
+ export declare function jsonRpcFailure(reason: JsonRpcReason, extra?: {
25
+ readonly details?: CapabilityErrorDetails;
26
+ readonly cause?: CaughtFailure;
27
+ }): CapabilityError;
28
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/jsonrpc/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAA4B,KAAK,sBAAsB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIjI,mFAAmF;AACnF,eAAO,MAAM,eAAe,8QAYlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,+FAA+F;AAC/F,eAAO,MAAM,iBAAiB,MAAM,CAAC;AA+DrC;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,6GAA6G;AAC7G,wBAAgB,cAAc,CAC7B,MAAM,EAAE,aAAa,EACrB,KAAK,GAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAA;CAAO,GACvF,eAAe,CASjB"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Typed failures of the JSON-RPC child client.
3
+ *
4
+ * Child-supplied text (a JSON-RPC `error.message`, an unparseable line, stderr)
5
+ * never enters a thrown message: every message is fixed per reason. The child's
6
+ * numeric code and a bounded, control-character-stripped excerpt ride only in
7
+ * `details`, so the logger that prints them decides whether to.
8
+ */
9
+ import { CapabilityError } from '@vibesdotdev/kernel';
10
+ import { redactedExcerpt } from '@vibesdotdev/shared/utils';
11
+ import { asError } from "./outcome.js";
12
+ /** The reasons this client fails with; each has one fixed message and one code. */
13
+ export const JSONRPC_REASONS = [
14
+ 'jsonrpc-error',
15
+ 'jsonrpc-protocol-invalid',
16
+ 'jsonrpc-child-exited',
17
+ 'jsonrpc-line-too-large',
18
+ 'jsonrpc-timeout',
19
+ 'jsonrpc-closed',
20
+ 'jsonrpc-cancelled',
21
+ 'jsonrpc-notification-overflow',
22
+ 'jsonrpc-kill-failed',
23
+ 'jsonrpc-hook-failed',
24
+ 'jsonrpc-invalid-options'
25
+ ];
26
+ /** The longest excerpt of child text a failure carries in `details.excerpt`, in characters. */
27
+ export const MAX_EXCERPT_CHARS = 200;
28
+ /** How many characters of child text are examined before stripping, so a huge value costs a bounded amount. */
29
+ const EXCERPT_SCAN_CHARS = 4 * MAX_EXCERPT_CHARS;
30
+ const FAILURES = {
31
+ 'jsonrpc-error': {
32
+ code: 'UNAVAILABLE',
33
+ message: 'The child process answered the request with a JSON-RPC error.',
34
+ retryable: false
35
+ },
36
+ 'jsonrpc-protocol-invalid': {
37
+ code: 'INVALID_INPUT',
38
+ message: 'The child process sent output that is not valid JSON-RPC.',
39
+ retryable: false
40
+ },
41
+ 'jsonrpc-child-exited': {
42
+ code: 'UNAVAILABLE',
43
+ message: 'The child process ended or its stdio failed.',
44
+ retryable: true
45
+ },
46
+ 'jsonrpc-line-too-large': {
47
+ code: 'INVALID_INPUT',
48
+ message: 'The child process sent a line longer than the declared maximum.',
49
+ retryable: false
50
+ },
51
+ 'jsonrpc-timeout': {
52
+ code: 'TIMEOUT',
53
+ message: 'The child process did not answer within the declared deadline.',
54
+ retryable: true
55
+ },
56
+ 'jsonrpc-closed': {
57
+ code: 'UNAVAILABLE',
58
+ message: 'The JSON-RPC client is closed.',
59
+ retryable: false
60
+ },
61
+ 'jsonrpc-cancelled': {
62
+ code: 'CANCELLED',
63
+ message: 'The request was cancelled by its caller.',
64
+ retryable: false
65
+ },
66
+ 'jsonrpc-notification-overflow': {
67
+ code: 'UNAVAILABLE',
68
+ message: 'The notification queue is full: notifications are arriving faster than they are consumed.',
69
+ retryable: false
70
+ },
71
+ 'jsonrpc-kill-failed': {
72
+ code: 'UNAVAILABLE',
73
+ message: 'The child process could not be confirmed stopped.',
74
+ retryable: false
75
+ },
76
+ 'jsonrpc-hook-failed': {
77
+ code: 'INTERNAL',
78
+ message: 'A caller-supplied JSON-RPC hook threw.',
79
+ retryable: false
80
+ },
81
+ 'jsonrpc-invalid-options': {
82
+ code: 'INVALID_INPUT',
83
+ message: 'The JSON-RPC client or request was given invalid options.',
84
+ retryable: false
85
+ }
86
+ };
87
+ /**
88
+ * Child text reduced to what a log line can safely carry: at most
89
+ * {@link MAX_EXCERPT_CHARS} characters, with control, format (bidi, zero-width),
90
+ * line- and paragraph-separator and unpaired-surrogate characters removed, and
91
+ * every credential-shaped token removed (the platform's one redaction,
92
+ * `@vibesdotdev/shared/utils`: a child echoes the keys and tokens it was given).
93
+ */
94
+ export function boundedExcerpt(text) {
95
+ return redactedExcerpt(text, { maxChars: MAX_EXCERPT_CHARS, readChars: EXCERPT_SCAN_CHARS });
96
+ }
97
+ /** A typed failure with its reason's fixed message; `details` and `cause` are the caller's bounded facts. */
98
+ export function jsonRpcFailure(reason, extra = {}) {
99
+ const failure = FAILURES[reason];
100
+ const options = {
101
+ reason,
102
+ retryable: failure.retryable
103
+ };
104
+ if (extra.details !== undefined)
105
+ options.details = extra.details;
106
+ if (extra.cause !== undefined)
107
+ options.cause = asError(extra.cause);
108
+ return new CapabilityError(failure.message, failure.code, options);
109
+ }
110
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/jsonrpc/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Newline-delimited framing over a child's byte stream, with a hard line cap.
3
+ *
4
+ * {@link LineSplitter} works chunk by chunk and never holds more than
5
+ * `maxLineBytes` of a partial line: a line that would pass the cap fails typed
6
+ * (`INVALID_INPUT jsonrpc-line-too-large`) before any of it is copied, and a
7
+ * complete line inside one chunk is decoded straight from the chunk, so a long
8
+ * stream costs time proportional to its bytes (no repeated slicing of a growing
9
+ * string). A final line with no trailing newline is returned by `flush()`.
10
+ *
11
+ * {@link readLines} is the same framing as an async generator over a stream, for
12
+ * NDJSON protocols that are not JSON-RPC (Antigravity `agy`, Claude Code
13
+ * `stream-json`).
14
+ */
15
+ export declare class LineSplitter {
16
+ #private;
17
+ constructor(maxLineBytes?: number);
18
+ /** Bytes of a partial line held right now (never more than `maxLineBytes`). */
19
+ get bufferedBytes(): number;
20
+ /** The most bytes of a partial line ever held: the memory claim, measurable. */
21
+ get highWaterBytes(): number;
22
+ /** The non-empty lines this chunk completes. Throws `jsonrpc-line-too-large` when a line passes the cap. */
23
+ push(chunk: Uint8Array): string[];
24
+ /** The final line when the stream ended without a trailing newline (zero or one line). */
25
+ flush(): string[];
26
+ }
27
+ /**
28
+ * The non-empty lines of a byte stream, capped per line. Ends when the stream
29
+ * ends (the final unterminated line included). A line over the cap, or a stream
30
+ * that fails, throws; leaving early (break/throw) cancels the stream.
31
+ */
32
+ export declare function readLines(stream: ReadableStream<Uint8Array>, options?: {
33
+ readonly maxLineBytes?: number;
34
+ }): AsyncGenerator<string, void, undefined>;
35
+ //# sourceMappingURL=framing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"framing.d.ts","sourceRoot":"","sources":["../../src/jsonrpc/framing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAYH,qBAAa,YAAY;;gBAOZ,YAAY,GAAE,MAA+B;IAOzD,+EAA+E;IAC/E,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,gFAAgF;IAChF,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,4GAA4G;IAC5G,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE;IAoBjC,0FAA0F;IAC1F,KAAK,IAAI,MAAM,EAAE;CAmCjB;AAED;;;;GAIG;AACH,wBAAuB,SAAS,CAC/B,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAClC,OAAO,GAAE;IAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9C,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAqBzC"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Newline-delimited framing over a child's byte stream, with a hard line cap.
3
+ *
4
+ * {@link LineSplitter} works chunk by chunk and never holds more than
5
+ * `maxLineBytes` of a partial line: a line that would pass the cap fails typed
6
+ * (`INVALID_INPUT jsonrpc-line-too-large`) before any of it is copied, and a
7
+ * complete line inside one chunk is decoded straight from the chunk, so a long
8
+ * stream costs time proportional to its bytes (no repeated slicing of a growing
9
+ * string). A final line with no trailing newline is returned by `flush()`.
10
+ *
11
+ * {@link readLines} is the same framing as an async generator over a stream, for
12
+ * NDJSON protocols that are not JSON-RPC (Antigravity `agy`, Claude Code
13
+ * `stream-json`).
14
+ */
15
+ import { jsonRpcFailure } from "./errors.js";
16
+ import { DEFAULT_MAX_LINE_BYTES } from "./schemas.js";
17
+ import { settle } from "./outcome.js";
18
+ const NEWLINE = 0x0a;
19
+ /** A partial-line buffer starts this small and doubles, never past the cap. */
20
+ const INITIAL_BUFFER_BYTES = 1_024;
21
+ /** A buffer larger than this is released once its line completes. */
22
+ const RETAINED_BUFFER_BYTES = 65_536;
23
+ export class LineSplitter {
24
+ #maxLineBytes;
25
+ #decoder = new TextDecoder();
26
+ #buffer = new Uint8Array(0);
27
+ #length = 0;
28
+ #highWater = 0;
29
+ constructor(maxLineBytes = DEFAULT_MAX_LINE_BYTES) {
30
+ if (!Number.isInteger(maxLineBytes) || maxLineBytes < 1) {
31
+ throw new RangeError('LineSplitter maxLineBytes must be a positive integer.');
32
+ }
33
+ this.#maxLineBytes = maxLineBytes;
34
+ }
35
+ /** Bytes of a partial line held right now (never more than `maxLineBytes`). */
36
+ get bufferedBytes() {
37
+ return this.#length;
38
+ }
39
+ /** The most bytes of a partial line ever held: the memory claim, measurable. */
40
+ get highWaterBytes() {
41
+ return this.#highWater;
42
+ }
43
+ /** The non-empty lines this chunk completes. Throws `jsonrpc-line-too-large` when a line passes the cap. */
44
+ push(chunk) {
45
+ const lines = [];
46
+ let start = 0;
47
+ while (start < chunk.length) {
48
+ const newline = chunk.indexOf(NEWLINE, start);
49
+ if (newline === -1) {
50
+ this.#append(chunk, start, chunk.length);
51
+ break;
52
+ }
53
+ if (this.#length + (newline - start) > this.#maxLineBytes)
54
+ throw this.#tooLarge();
55
+ const text = this.#length === 0
56
+ ? this.#decoder.decode(chunk.subarray(start, newline))
57
+ : this.#completeBuffered(chunk, start, newline);
58
+ const line = text.trim();
59
+ if (line !== '')
60
+ lines.push(line);
61
+ start = newline + 1;
62
+ }
63
+ return lines;
64
+ }
65
+ /** The final line when the stream ended without a trailing newline (zero or one line). */
66
+ flush() {
67
+ if (this.#length === 0)
68
+ return [];
69
+ const line = this.#decoder.decode(this.#buffer.subarray(0, this.#length)).trim();
70
+ this.#reset();
71
+ return line === '' ? [] : [line];
72
+ }
73
+ #completeBuffered(chunk, start, end) {
74
+ this.#append(chunk, start, end);
75
+ const text = this.#decoder.decode(this.#buffer.subarray(0, this.#length));
76
+ this.#reset();
77
+ return text;
78
+ }
79
+ #append(chunk, start, end) {
80
+ const needed = this.#length + (end - start);
81
+ if (needed > this.#maxLineBytes)
82
+ throw this.#tooLarge();
83
+ if (needed > this.#buffer.length) {
84
+ const grown = new Uint8Array(Math.min(this.#maxLineBytes, Math.max(needed, this.#buffer.length * 2, INITIAL_BUFFER_BYTES)));
85
+ grown.set(this.#buffer.subarray(0, this.#length));
86
+ this.#buffer = grown;
87
+ }
88
+ this.#buffer.set(chunk.subarray(start, end), this.#length);
89
+ this.#length = needed;
90
+ if (needed > this.#highWater)
91
+ this.#highWater = needed;
92
+ }
93
+ #reset() {
94
+ this.#length = 0;
95
+ if (this.#buffer.length > RETAINED_BUFFER_BYTES)
96
+ this.#buffer = new Uint8Array(0);
97
+ }
98
+ #tooLarge() {
99
+ return jsonRpcFailure('jsonrpc-line-too-large', { details: { maxLineBytes: this.#maxLineBytes } });
100
+ }
101
+ }
102
+ /**
103
+ * The non-empty lines of a byte stream, capped per line. Ends when the stream
104
+ * ends (the final unterminated line included). A line over the cap, or a stream
105
+ * that fails, throws; leaving early (break/throw) cancels the stream.
106
+ */
107
+ export async function* readLines(stream, options = {}) {
108
+ const splitter = new LineSplitter(options.maxLineBytes);
109
+ const reader = stream.getReader();
110
+ let finished = false;
111
+ try {
112
+ while (true) {
113
+ const { done, value } = await reader.read();
114
+ if (done)
115
+ break;
116
+ for (const line of splitter.push(value))
117
+ yield line;
118
+ }
119
+ for (const line of splitter.flush())
120
+ yield line;
121
+ finished = true;
122
+ }
123
+ finally {
124
+ if (finished) {
125
+ reader.releaseLock();
126
+ }
127
+ else {
128
+ // Left early or failed: stop the producer. The reader's own failure is the failure being thrown.
129
+ await settle(reader.cancel());
130
+ reader.releaseLock();
131
+ }
132
+ }
133
+ }
134
+ //# sourceMappingURL=framing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"framing.js","sourceRoot":"","sources":["../../src/jsonrpc/framing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * `@vibesdotdev/external/jsonrpc`: the one stdio JSON-RPC child client, the
3
+ * capped line framing it stands on, and the bounded async queue.
4
+ */
5
+ export { createJsonRpcChild, type JsonRpcAbandonedRequest, type JsonRpcAbandonReason, type JsonRpcAgentRequest, type JsonRpcChild, type JsonRpcChildOptions, type JsonRpcDiagnostic, type JsonRpcNotification, type JsonRpcProcess, type JsonRpcRequestHandler, type JsonRpcRequestOptions, type JsonRpcRuntime } from './client.ts';
6
+ export { boundedExcerpt, JSONRPC_REASONS, MAX_EXCERPT_CHARS, type JsonRpcReason } from './errors.ts';
7
+ export { LineSplitter, readLines } from './framing.ts';
8
+ export { AsyncQueue, type QueuePushResult } from './queue.ts';
9
+ export { DEFAULT_GRACE_MS, DEFAULT_KILL_WAIT_MS, DEFAULT_MAX_LINE_BYTES, DEFAULT_NOTIFICATION_CAPACITY, DEFAULT_STDERR_TAIL_BYTES, JsonRpcChildLimitsSchema, JsonRpcEnvelopeStyleSchema, JsonRpcIdSchema, type JsonRpcChildLimits, type JsonRpcEnvelopeStyle, type JsonRpcId } from './schemas.ts';
10
+ export { classifyLine, type JsonRpcInbound, type JsonRpcWireError } from './envelope.ts';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/jsonrpc/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,6BAA6B,EAC7B,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * `@vibesdotdev/external/jsonrpc`: the one stdio JSON-RPC child client, the
3
+ * capped line framing it stands on, and the bounded async queue.
4
+ */
5
+ export { createJsonRpcChild } from "./client.js";
6
+ export { boundedExcerpt, JSONRPC_REASONS, MAX_EXCERPT_CHARS } from "./errors.js";
7
+ export { LineSplitter, readLines } from "./framing.js";
8
+ export { AsyncQueue } from "./queue.js";
9
+ export { DEFAULT_GRACE_MS, DEFAULT_KILL_WAIT_MS, DEFAULT_MAX_LINE_BYTES, DEFAULT_NOTIFICATION_CAPACITY, DEFAULT_STDERR_TAIL_BYTES, JsonRpcChildLimitsSchema, JsonRpcEnvelopeStyleSchema, JsonRpcIdSchema } from "./schemas.js";
10
+ export { classifyLine } from "./envelope.js";
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/jsonrpc/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,kBAAkB,EAYlB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAsB,MAAM,aAAa,CAAC;AACrG,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,UAAU,EAAwB,MAAM,YAAY,CAAC;AAC9D,OAAO,EACN,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,6BAA6B,EAC7B,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,EAIf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAA8C,MAAM,eAAe,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Failures as values for the JSON-RPC client.
3
+ *
4
+ * A throw or a rejection becomes a value that carries its cause, so the owner
5
+ * of the decision (fail the client, report a diagnostic, rethrow typed) receives
6
+ * the failure itself and nothing in between can drop it.
7
+ */
8
+ import { type CaughtFailure } from '@vibesdotdev/kernel';
9
+ /** What an operation produced, or the failure it raised. */
10
+ export type Outcome<T> = {
11
+ readonly failed: false;
12
+ readonly value: T;
13
+ } | {
14
+ readonly failed: true;
15
+ readonly cause: CaughtFailure;
16
+ };
17
+ /** A caught failure as an `Error`: an `Error` stays itself, a non-Error throw is wrapped with its value as the cause. */
18
+ export declare function asError(failure: CaughtFailure): Error;
19
+ /** Run a synchronous operation; a throw becomes a failed outcome carrying its cause. */
20
+ export declare function attempt<T>(run: () => T): Outcome<T>;
21
+ /** Observe an asynchronous operation; a rejection becomes a failed outcome carrying its cause. */
22
+ export declare function settle<T>(operation: PromiseLike<T>): Promise<Outcome<T>>;
23
+ /** Run an operation that may throw synchronously or reject; either is a failed outcome. */
24
+ export declare function attemptAsync<T>(run: () => T | PromiseLike<T>): Promise<Outcome<T>>;
25
+ //# sourceMappingURL=outcome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outcome.d.ts","sourceRoot":"","sources":["../../src/jsonrpc/outcome.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE9E,4DAA4D;AAC5D,MAAM,MAAM,OAAO,CAAC,CAAC,IAClB;IAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAC7C;IAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAA;CAAE,CAAC;AAE5D,yHAAyH;AACzH,wBAAgB,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,KAAK,CAGrD;AAED,wFAAwF;AACxF,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAMnD;AAED,kGAAkG;AAClG,wBAAgB,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAKxE;AAED,2FAA2F;AAC3F,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAElF"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Failures as values for the JSON-RPC client.
3
+ *
4
+ * A throw or a rejection becomes a value that carries its cause, so the owner
5
+ * of the decision (fail the client, report a diagnostic, rethrow typed) receives
6
+ * the failure itself and nothing in between can drop it.
7
+ */
8
+ import { CaughtFailureSchema } from '@vibesdotdev/kernel';
9
+ /** A caught failure as an `Error`: an `Error` stays itself, a non-Error throw is wrapped with its value as the cause. */
10
+ export function asError(failure) {
11
+ if (failure instanceof Error)
12
+ return failure;
13
+ return new TypeError('A non-Error value was thrown.', { cause: failure.value });
14
+ }
15
+ /** Run a synchronous operation; a throw becomes a failed outcome carrying its cause. */
16
+ export function attempt(run) {
17
+ try {
18
+ return { failed: false, value: run() };
19
+ }
20
+ catch (cause) {
21
+ return { failed: true, cause: CaughtFailureSchema.parse(cause) };
22
+ }
23
+ }
24
+ /** Observe an asynchronous operation; a rejection becomes a failed outcome carrying its cause. */
25
+ export function settle(operation) {
26
+ return Promise.resolve(operation).then((value) => ({ failed: false, value }), (cause) => ({ failed: true, cause: CaughtFailureSchema.parse(cause) }));
27
+ }
28
+ /** Run an operation that may throw synchronously or reject; either is a failed outcome. */
29
+ export function attemptAsync(run) {
30
+ return settle((async () => run())());
31
+ }
32
+ //# sourceMappingURL=outcome.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outcome.js","sourceRoot":"","sources":["../../src/jsonrpc/outcome.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,mBAAmB,EAAsB,MAAM,qBAAqB,CAAC;AAO9E,yHAAyH;AACzH,MAAM,UAAU,OAAO,CAAC,OAAsB;IAC7C,IAAI,OAAO,YAAY,KAAK;QAAE,OAAO,OAAO,CAAC;IAC7C,OAAO,IAAI,SAAS,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,OAAO,CAAI,GAAY;IACtC,IAAI,CAAC;QACJ,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;IAClE,CAAC;AACF,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,MAAM,CAAI,SAAyB;IAClD,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CACrC,CAAC,KAAK,EAAc,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EACjD,CAAC,KAAK,EAAc,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAClF,CAAC;AACH,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,YAAY,CAAI,GAA6B;IAC5D,OAAO,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * A bounded async queue: one producer pushes, consumers iterate.
3
+ *
4
+ * It never grows past its declared capacity: `push` answers `full` and the
5
+ * owner decides what a full queue means (the JSON-RPC client fails itself typed,
6
+ * `jsonrpc-notification-overflow`). `end()` finishes the iteration after the
7
+ * buffered items drain; `fail(error)` does the same but the first consumer to
8
+ * reach the end receives `error` (once; later reads are done).
9
+ *
10
+ * Breaking out of a `for await` only stops that iteration: the queue and its
11
+ * remaining items stay for the next one.
12
+ */
13
+ export type QueuePushResult = 'accepted' | 'full' | 'ended';
14
+ export declare class AsyncQueue<T> implements AsyncIterable<T> {
15
+ #private;
16
+ constructor(capacity: number);
17
+ get capacity(): number;
18
+ /** Items buffered and not yet consumed. */
19
+ get size(): number;
20
+ /** Whether `end()` or `fail()` was called. */
21
+ get ended(): boolean;
22
+ push(item: T): QueuePushResult;
23
+ /** Finish after the buffered items drain. Idempotent. */
24
+ end(): void;
25
+ /** Finish after the buffered items drain, delivering `error` to the first consumer that reaches the end. Idempotent: the first call wins. */
26
+ fail(error: Error): void;
27
+ next(): Promise<IteratorResult<T, undefined>>;
28
+ [Symbol.asyncIterator](): AsyncIterator<T, undefined>;
29
+ }
30
+ //# sourceMappingURL=queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../src/jsonrpc/queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AAU5D,qBAAa,UAAU,CAAC,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;;gBASzC,QAAQ,EAAE,MAAM;IAO5B,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,2CAA2C;IAC3C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,8CAA8C;IAC9C,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,eAAe;IAY9B,yDAAyD;IACzD,GAAG,IAAI,IAAI;IAMX,6IAA6I;IAC7I,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAOxB,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAa7C,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,EAAE,SAAS,CAAC;CA+BrD"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * A bounded async queue: one producer pushes, consumers iterate.
3
+ *
4
+ * It never grows past its declared capacity: `push` answers `full` and the
5
+ * owner decides what a full queue means (the JSON-RPC client fails itself typed,
6
+ * `jsonrpc-notification-overflow`). `end()` finishes the iteration after the
7
+ * buffered items drain; `fail(error)` does the same but the first consumer to
8
+ * reach the end receives `error` (once; later reads are done).
9
+ *
10
+ * Breaking out of a `for await` only stops that iteration: the queue and its
11
+ * remaining items stay for the next one.
12
+ */
13
+ /** Consumed items are compacted off the front once this many have been taken. */
14
+ const COMPACT_AT = 1_024;
15
+ export class AsyncQueue {
16
+ #capacity;
17
+ /** Boxed so an item that is itself `undefined` is distinguishable from an empty slot. */
18
+ #items = [];
19
+ #head = 0;
20
+ #waiters = [];
21
+ #ended = false;
22
+ #failure;
23
+ constructor(capacity) {
24
+ if (!Number.isInteger(capacity) || capacity < 1) {
25
+ throw new RangeError('AsyncQueue capacity must be a positive integer.');
26
+ }
27
+ this.#capacity = capacity;
28
+ }
29
+ get capacity() {
30
+ return this.#capacity;
31
+ }
32
+ /** Items buffered and not yet consumed. */
33
+ get size() {
34
+ return this.#items.length - this.#head;
35
+ }
36
+ /** Whether `end()` or `fail()` was called. */
37
+ get ended() {
38
+ return this.#ended;
39
+ }
40
+ push(item) {
41
+ if (this.#ended)
42
+ return 'ended';
43
+ const waiter = this.#waiters.shift();
44
+ if (waiter) {
45
+ waiter.resolve({ done: false, value: item });
46
+ return 'accepted';
47
+ }
48
+ if (this.size >= this.#capacity)
49
+ return 'full';
50
+ this.#items.push({ value: item });
51
+ return 'accepted';
52
+ }
53
+ /** Finish after the buffered items drain. Idempotent. */
54
+ end() {
55
+ if (this.#ended)
56
+ return;
57
+ this.#ended = true;
58
+ this.#releaseWaiters();
59
+ }
60
+ /** Finish after the buffered items drain, delivering `error` to the first consumer that reaches the end. Idempotent: the first call wins. */
61
+ fail(error) {
62
+ if (this.#ended)
63
+ return;
64
+ this.#failure = error;
65
+ this.#ended = true;
66
+ this.#releaseWaiters();
67
+ }
68
+ next() {
69
+ const box = this.#items[this.#head];
70
+ if (box) {
71
+ this.#head++;
72
+ this.#compact();
73
+ return Promise.resolve({ done: false, value: box.value });
74
+ }
75
+ if (this.#ended)
76
+ return this.#atEnd();
77
+ return new Promise((resolve, reject) => {
78
+ this.#waiters.push({ resolve, reject });
79
+ });
80
+ }
81
+ [Symbol.asyncIterator]() {
82
+ return {
83
+ next: () => this.next(),
84
+ return: () => Promise.resolve({ done: true, value: undefined })
85
+ };
86
+ }
87
+ #compact() {
88
+ if (this.#head >= COMPACT_AT && this.#head * 2 >= this.#items.length) {
89
+ this.#items = this.#items.slice(this.#head);
90
+ this.#head = 0;
91
+ }
92
+ }
93
+ /** Nothing is buffered and the queue ended: the failure once, then done. */
94
+ #atEnd() {
95
+ const failure = this.#failure;
96
+ this.#failure = undefined;
97
+ if (failure)
98
+ return Promise.reject(failure);
99
+ return Promise.resolve({ done: true, value: undefined });
100
+ }
101
+ #releaseWaiters() {
102
+ // Waiters only exist while nothing is buffered, so the first one reaches the end.
103
+ for (const waiter of this.#waiters.splice(0)) {
104
+ const failure = this.#failure;
105
+ this.#failure = undefined;
106
+ if (failure)
107
+ waiter.reject(failure);
108
+ else
109
+ waiter.resolve({ done: true, value: undefined });
110
+ }
111
+ }
112
+ }
113
+ //# sourceMappingURL=queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/jsonrpc/queue.ts"],"names":[],"mappings":"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"}