@vibesdotdev/pm 0.0.0-stage → 1.0.0-rc.3

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 (1225) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +227 -2
  3. package/dist/admission-store.d.ts +43 -0
  4. package/dist/admission-store.d.ts.map +1 -0
  5. package/dist/admission-store.js +108 -0
  6. package/dist/admission-store.js.map +1 -0
  7. package/dist/admission.d.ts +46 -0
  8. package/dist/admission.d.ts.map +1 -0
  9. package/dist/admission.js +81 -0
  10. package/dist/admission.js.map +1 -0
  11. package/dist/admitted-workspace.context.descriptor.d.ts +39 -0
  12. package/dist/admitted-workspace.context.descriptor.d.ts.map +1 -0
  13. package/dist/admitted-workspace.context.descriptor.js +18 -0
  14. package/dist/admitted-workspace.context.descriptor.js.map +1 -0
  15. package/dist/admitted-workspace.context.impl.consumer.d.ts +16 -0
  16. package/dist/admitted-workspace.context.impl.consumer.d.ts.map +1 -0
  17. package/dist/admitted-workspace.context.impl.consumer.js +7 -0
  18. package/dist/admitted-workspace.context.impl.consumer.js.map +1 -0
  19. package/dist/cli/admission-read.d.ts +12 -0
  20. package/dist/cli/admission-read.d.ts.map +1 -0
  21. package/dist/cli/admission-read.js +42 -0
  22. package/dist/cli/admission-read.js.map +1 -0
  23. package/dist/cli/command-input.d.ts +37 -0
  24. package/dist/cli/command-input.d.ts.map +1 -0
  25. package/dist/cli/command-input.js +34 -0
  26. package/dist/cli/command-input.js.map +1 -0
  27. package/dist/cli/consumer-components/startup-progress.d.ts +107 -0
  28. package/dist/cli/consumer-components/startup-progress.d.ts.map +1 -0
  29. package/dist/cli/consumer-components/startup-progress.js +392 -0
  30. package/dist/cli/consumer-components/startup-progress.js.map +1 -0
  31. package/dist/cli/consumer-services/control.d.ts +147 -0
  32. package/dist/cli/consumer-services/control.d.ts.map +1 -0
  33. package/dist/cli/consumer-services/control.js +209 -0
  34. package/dist/cli/consumer-services/control.js.map +1 -0
  35. package/dist/cli/daemon-launch-child.d.ts +35 -0
  36. package/dist/cli/daemon-launch-child.d.ts.map +1 -0
  37. package/dist/cli/daemon-launch-child.js +25 -0
  38. package/dist/cli/daemon-launch-child.js.map +1 -0
  39. package/dist/cli/docs/pm.cli.docs.descriptor.d.ts +4 -0
  40. package/dist/cli/docs/pm.cli.docs.descriptor.d.ts.map +1 -0
  41. package/dist/cli/docs/pm.cli.docs.descriptor.js +93 -0
  42. package/dist/cli/docs/pm.cli.docs.descriptor.js.map +1 -0
  43. package/dist/cli/filter-process-states.d.ts +12 -0
  44. package/dist/cli/filter-process-states.d.ts.map +1 -0
  45. package/dist/cli/filter-process-states.js +12 -0
  46. package/dist/cli/filter-process-states.js.map +1 -0
  47. package/dist/cli/output.d.ts +21 -0
  48. package/dist/cli/output.d.ts.map +1 -0
  49. package/dist/cli/output.js +19 -0
  50. package/dist/cli/output.js.map +1 -0
  51. package/dist/cli/plugin.d.ts +3 -0
  52. package/dist/cli/plugin.d.ts.map +1 -0
  53. package/dist/cli/plugin.js +12 -0
  54. package/dist/cli/plugin.js.map +1 -0
  55. package/dist/cli/pm.cli-group.descriptor.d.ts +10 -0
  56. package/dist/cli/pm.cli-group.descriptor.d.ts.map +1 -0
  57. package/dist/cli/pm.cli-group.descriptor.js +18 -0
  58. package/dist/cli/pm.cli-group.descriptor.js.map +1 -0
  59. package/dist/cli/pm.completion.cli-group.descriptor.d.ts +9 -0
  60. package/dist/cli/pm.completion.cli-group.descriptor.d.ts.map +1 -0
  61. package/dist/cli/pm.completion.cli-group.descriptor.js +17 -0
  62. package/dist/cli/pm.completion.cli-group.descriptor.js.map +1 -0
  63. package/dist/cli/pm.completion.install.descriptor.d.ts +9 -0
  64. package/dist/cli/pm.completion.install.descriptor.d.ts.map +1 -0
  65. package/dist/cli/pm.completion.install.descriptor.js +24 -0
  66. package/dist/cli/pm.completion.install.descriptor.js.map +1 -0
  67. package/dist/cli/pm.completion.install.impl.d.ts +11 -0
  68. package/dist/cli/pm.completion.install.impl.d.ts.map +1 -0
  69. package/dist/cli/pm.completion.install.impl.js +207 -0
  70. package/dist/cli/pm.completion.install.impl.js.map +1 -0
  71. package/dist/cli/pm.config.cli.descriptor.d.ts +10 -0
  72. package/dist/cli/pm.config.cli.descriptor.d.ts.map +1 -0
  73. package/dist/cli/pm.config.cli.descriptor.js +25 -0
  74. package/dist/cli/pm.config.cli.descriptor.js.map +1 -0
  75. package/dist/cli/pm.config.impl.d.ts +12 -0
  76. package/dist/cli/pm.config.impl.d.ts.map +1 -0
  77. package/dist/cli/pm.config.impl.js +117 -0
  78. package/dist/cli/pm.config.impl.js.map +1 -0
  79. package/dist/cli/pm.daemon.cli-group.descriptor.d.ts +9 -0
  80. package/dist/cli/pm.daemon.cli-group.descriptor.d.ts.map +1 -0
  81. package/dist/cli/pm.daemon.cli-group.descriptor.js +17 -0
  82. package/dist/cli/pm.daemon.cli-group.descriptor.js.map +1 -0
  83. package/dist/cli/pm.daemon.logs.descriptor.d.ts +9 -0
  84. package/dist/cli/pm.daemon.logs.descriptor.d.ts.map +1 -0
  85. package/dist/cli/pm.daemon.logs.descriptor.js +29 -0
  86. package/dist/cli/pm.daemon.logs.descriptor.js.map +1 -0
  87. package/dist/cli/pm.daemon.logs.impl.d.ts +11 -0
  88. package/dist/cli/pm.daemon.logs.impl.d.ts.map +1 -0
  89. package/dist/cli/pm.daemon.logs.impl.js +53 -0
  90. package/dist/cli/pm.daemon.logs.impl.js.map +1 -0
  91. package/dist/cli/pm.daemon.reconcile.descriptor.d.ts +9 -0
  92. package/dist/cli/pm.daemon.reconcile.descriptor.d.ts.map +1 -0
  93. package/dist/cli/pm.daemon.reconcile.descriptor.js +24 -0
  94. package/dist/cli/pm.daemon.reconcile.descriptor.js.map +1 -0
  95. package/dist/cli/pm.daemon.reconcile.impl.d.ts +16 -0
  96. package/dist/cli/pm.daemon.reconcile.impl.d.ts.map +1 -0
  97. package/dist/cli/pm.daemon.reconcile.impl.js +51 -0
  98. package/dist/cli/pm.daemon.reconcile.impl.js.map +1 -0
  99. package/dist/cli/pm.daemon.recover.descriptor.d.ts +9 -0
  100. package/dist/cli/pm.daemon.recover.descriptor.d.ts.map +1 -0
  101. package/dist/cli/pm.daemon.recover.descriptor.js +24 -0
  102. package/dist/cli/pm.daemon.recover.descriptor.js.map +1 -0
  103. package/dist/cli/pm.daemon.recover.impl.d.ts +16 -0
  104. package/dist/cli/pm.daemon.recover.impl.d.ts.map +1 -0
  105. package/dist/cli/pm.daemon.recover.impl.js +66 -0
  106. package/dist/cli/pm.daemon.recover.impl.js.map +1 -0
  107. package/dist/cli/pm.daemon.restart.descriptor.d.ts +9 -0
  108. package/dist/cli/pm.daemon.restart.descriptor.d.ts.map +1 -0
  109. package/dist/cli/pm.daemon.restart.descriptor.js +25 -0
  110. package/dist/cli/pm.daemon.restart.descriptor.js.map +1 -0
  111. package/dist/cli/pm.daemon.restart.impl.d.ts +28 -0
  112. package/dist/cli/pm.daemon.restart.impl.d.ts.map +1 -0
  113. package/dist/cli/pm.daemon.restart.impl.js +174 -0
  114. package/dist/cli/pm.daemon.restart.impl.js.map +1 -0
  115. package/dist/cli/pm.daemon.serve.descriptor.d.ts +10 -0
  116. package/dist/cli/pm.daemon.serve.descriptor.d.ts.map +1 -0
  117. package/dist/cli/pm.daemon.serve.descriptor.js +28 -0
  118. package/dist/cli/pm.daemon.serve.descriptor.js.map +1 -0
  119. package/dist/cli/pm.daemon.serve.impl.d.ts +37 -0
  120. package/dist/cli/pm.daemon.serve.impl.d.ts.map +1 -0
  121. package/dist/cli/pm.daemon.serve.impl.js +257 -0
  122. package/dist/cli/pm.daemon.serve.impl.js.map +1 -0
  123. package/dist/cli/pm.daemon.start.descriptor.d.ts +9 -0
  124. package/dist/cli/pm.daemon.start.descriptor.d.ts.map +1 -0
  125. package/dist/cli/pm.daemon.start.descriptor.js +28 -0
  126. package/dist/cli/pm.daemon.start.descriptor.js.map +1 -0
  127. package/dist/cli/pm.daemon.start.impl.d.ts +40 -0
  128. package/dist/cli/pm.daemon.start.impl.d.ts.map +1 -0
  129. package/dist/cli/pm.daemon.start.impl.js +341 -0
  130. package/dist/cli/pm.daemon.start.impl.js.map +1 -0
  131. package/dist/cli/pm.daemon.status.descriptor.d.ts +9 -0
  132. package/dist/cli/pm.daemon.status.descriptor.d.ts.map +1 -0
  133. package/dist/cli/pm.daemon.status.descriptor.js +24 -0
  134. package/dist/cli/pm.daemon.status.descriptor.js.map +1 -0
  135. package/dist/cli/pm.daemon.status.impl.d.ts +11 -0
  136. package/dist/cli/pm.daemon.status.impl.d.ts.map +1 -0
  137. package/dist/cli/pm.daemon.status.impl.js +123 -0
  138. package/dist/cli/pm.daemon.status.impl.js.map +1 -0
  139. package/dist/cli/pm.daemon.stop.descriptor.d.ts +9 -0
  140. package/dist/cli/pm.daemon.stop.descriptor.d.ts.map +1 -0
  141. package/dist/cli/pm.daemon.stop.descriptor.js +24 -0
  142. package/dist/cli/pm.daemon.stop.descriptor.js.map +1 -0
  143. package/dist/cli/pm.daemon.stop.impl.d.ts +21 -0
  144. package/dist/cli/pm.daemon.stop.impl.d.ts.map +1 -0
  145. package/dist/cli/pm.daemon.stop.impl.js +108 -0
  146. package/dist/cli/pm.daemon.stop.impl.js.map +1 -0
  147. package/dist/cli/pm.dashboard.descriptor.d.ts +10 -0
  148. package/dist/cli/pm.dashboard.descriptor.d.ts.map +1 -0
  149. package/dist/cli/pm.dashboard.descriptor.js +30 -0
  150. package/dist/cli/pm.dashboard.descriptor.js.map +1 -0
  151. package/dist/cli/pm.dashboard.impl.d.ts +16 -0
  152. package/dist/cli/pm.dashboard.impl.d.ts.map +1 -0
  153. package/dist/cli/pm.dashboard.impl.js +134 -0
  154. package/dist/cli/pm.dashboard.impl.js.map +1 -0
  155. package/dist/cli/pm.init.descriptor.d.ts +9 -0
  156. package/dist/cli/pm.init.descriptor.d.ts.map +1 -0
  157. package/dist/cli/pm.init.descriptor.js +28 -0
  158. package/dist/cli/pm.init.descriptor.js.map +1 -0
  159. package/dist/cli/pm.init.impl.d.ts +11 -0
  160. package/dist/cli/pm.init.impl.d.ts.map +1 -0
  161. package/dist/cli/pm.init.impl.js +112 -0
  162. package/dist/cli/pm.init.impl.js.map +1 -0
  163. package/dist/cli/pm.list.descriptor.d.ts +9 -0
  164. package/dist/cli/pm.list.descriptor.d.ts.map +1 -0
  165. package/dist/cli/pm.list.descriptor.js +44 -0
  166. package/dist/cli/pm.list.descriptor.js.map +1 -0
  167. package/dist/cli/pm.list.impl.d.ts +24 -0
  168. package/dist/cli/pm.list.impl.d.ts.map +1 -0
  169. package/dist/cli/pm.list.impl.js +204 -0
  170. package/dist/cli/pm.list.impl.js.map +1 -0
  171. package/dist/cli/pm.liveness.cli-group.descriptor.d.ts +25 -0
  172. package/dist/cli/pm.liveness.cli-group.descriptor.d.ts.map +1 -0
  173. package/dist/cli/pm.liveness.cli-group.descriptor.js +33 -0
  174. package/dist/cli/pm.liveness.cli-group.descriptor.js.map +1 -0
  175. package/dist/cli/pm.liveness.set.descriptor.d.ts +18 -0
  176. package/dist/cli/pm.liveness.set.descriptor.d.ts.map +1 -0
  177. package/dist/cli/pm.liveness.set.descriptor.js +65 -0
  178. package/dist/cli/pm.liveness.set.descriptor.js.map +1 -0
  179. package/dist/cli/pm.liveness.set.impl.d.ts +6 -0
  180. package/dist/cli/pm.liveness.set.impl.d.ts.map +1 -0
  181. package/dist/cli/pm.liveness.set.impl.js +61 -0
  182. package/dist/cli/pm.liveness.set.impl.js.map +1 -0
  183. package/dist/cli/pm.logs.descriptor.d.ts +9 -0
  184. package/dist/cli/pm.logs.descriptor.d.ts.map +1 -0
  185. package/dist/cli/pm.logs.descriptor.js +39 -0
  186. package/dist/cli/pm.logs.descriptor.js.map +1 -0
  187. package/dist/cli/pm.logs.impl.d.ts +11 -0
  188. package/dist/cli/pm.logs.impl.d.ts.map +1 -0
  189. package/dist/cli/pm.logs.impl.js +208 -0
  190. package/dist/cli/pm.logs.impl.js.map +1 -0
  191. package/dist/cli/pm.preset.cli-group.descriptor.d.ts +9 -0
  192. package/dist/cli/pm.preset.cli-group.descriptor.d.ts.map +1 -0
  193. package/dist/cli/pm.preset.cli-group.descriptor.js +17 -0
  194. package/dist/cli/pm.preset.cli-group.descriptor.js.map +1 -0
  195. package/dist/cli/pm.preset.list.descriptor.d.ts +9 -0
  196. package/dist/cli/pm.preset.list.descriptor.d.ts.map +1 -0
  197. package/dist/cli/pm.preset.list.descriptor.js +24 -0
  198. package/dist/cli/pm.preset.list.descriptor.js.map +1 -0
  199. package/dist/cli/pm.preset.list.impl.d.ts +6 -0
  200. package/dist/cli/pm.preset.list.impl.d.ts.map +1 -0
  201. package/dist/cli/pm.preset.list.impl.js +67 -0
  202. package/dist/cli/pm.preset.list.impl.js.map +1 -0
  203. package/dist/cli/pm.preset.restart.descriptor.d.ts +9 -0
  204. package/dist/cli/pm.preset.restart.descriptor.d.ts.map +1 -0
  205. package/dist/cli/pm.preset.restart.descriptor.js +39 -0
  206. package/dist/cli/pm.preset.restart.descriptor.js.map +1 -0
  207. package/dist/cli/pm.preset.restart.impl.d.ts +11 -0
  208. package/dist/cli/pm.preset.restart.impl.d.ts.map +1 -0
  209. package/dist/cli/pm.preset.restart.impl.js +85 -0
  210. package/dist/cli/pm.preset.restart.impl.js.map +1 -0
  211. package/dist/cli/pm.preset.show.descriptor.d.ts +9 -0
  212. package/dist/cli/pm.preset.show.descriptor.d.ts.map +1 -0
  213. package/dist/cli/pm.preset.show.descriptor.js +30 -0
  214. package/dist/cli/pm.preset.show.descriptor.js.map +1 -0
  215. package/dist/cli/pm.preset.show.impl.d.ts +6 -0
  216. package/dist/cli/pm.preset.show.impl.d.ts.map +1 -0
  217. package/dist/cli/pm.preset.show.impl.js +92 -0
  218. package/dist/cli/pm.preset.show.impl.js.map +1 -0
  219. package/dist/cli/pm.preset.start.descriptor.d.ts +9 -0
  220. package/dist/cli/pm.preset.start.descriptor.d.ts.map +1 -0
  221. package/dist/cli/pm.preset.start.descriptor.js +39 -0
  222. package/dist/cli/pm.preset.start.descriptor.js.map +1 -0
  223. package/dist/cli/pm.preset.start.impl.d.ts +11 -0
  224. package/dist/cli/pm.preset.start.impl.d.ts.map +1 -0
  225. package/dist/cli/pm.preset.start.impl.js +88 -0
  226. package/dist/cli/pm.preset.start.impl.js.map +1 -0
  227. package/dist/cli/pm.preset.status.descriptor.d.ts +9 -0
  228. package/dist/cli/pm.preset.status.descriptor.d.ts.map +1 -0
  229. package/dist/cli/pm.preset.status.descriptor.js +30 -0
  230. package/dist/cli/pm.preset.status.descriptor.js.map +1 -0
  231. package/dist/cli/pm.preset.status.impl.d.ts +11 -0
  232. package/dist/cli/pm.preset.status.impl.d.ts.map +1 -0
  233. package/dist/cli/pm.preset.status.impl.js +166 -0
  234. package/dist/cli/pm.preset.status.impl.js.map +1 -0
  235. package/dist/cli/pm.preset.stop.descriptor.d.ts +9 -0
  236. package/dist/cli/pm.preset.stop.descriptor.d.ts.map +1 -0
  237. package/dist/cli/pm.preset.stop.descriptor.js +39 -0
  238. package/dist/cli/pm.preset.stop.descriptor.js.map +1 -0
  239. package/dist/cli/pm.preset.stop.impl.d.ts +11 -0
  240. package/dist/cli/pm.preset.stop.impl.d.ts.map +1 -0
  241. package/dist/cli/pm.preset.stop.impl.js +68 -0
  242. package/dist/cli/pm.preset.stop.impl.js.map +1 -0
  243. package/dist/cli/pm.preset.teardown.descriptor.d.ts +9 -0
  244. package/dist/cli/pm.preset.teardown.descriptor.d.ts.map +1 -0
  245. package/dist/cli/pm.preset.teardown.descriptor.js +43 -0
  246. package/dist/cli/pm.preset.teardown.descriptor.js.map +1 -0
  247. package/dist/cli/pm.preset.teardown.impl.d.ts +12 -0
  248. package/dist/cli/pm.preset.teardown.impl.d.ts.map +1 -0
  249. package/dist/cli/pm.preset.teardown.impl.js +91 -0
  250. package/dist/cli/pm.preset.teardown.impl.js.map +1 -0
  251. package/dist/cli/pm.presets.descriptor.d.ts +9 -0
  252. package/dist/cli/pm.presets.descriptor.d.ts.map +1 -0
  253. package/dist/cli/pm.presets.descriptor.js +24 -0
  254. package/dist/cli/pm.presets.descriptor.js.map +1 -0
  255. package/dist/cli/pm.presets.impl.d.ts +11 -0
  256. package/dist/cli/pm.presets.impl.d.ts.map +1 -0
  257. package/dist/cli/pm.presets.impl.js +13 -0
  258. package/dist/cli/pm.presets.impl.js.map +1 -0
  259. package/dist/cli/pm.register.descriptor.d.ts +11 -0
  260. package/dist/cli/pm.register.descriptor.d.ts.map +1 -0
  261. package/dist/cli/pm.register.descriptor.js +32 -0
  262. package/dist/cli/pm.register.descriptor.js.map +1 -0
  263. package/dist/cli/pm.register.impl.d.ts +15 -0
  264. package/dist/cli/pm.register.impl.d.ts.map +1 -0
  265. package/dist/cli/pm.register.impl.js +81 -0
  266. package/dist/cli/pm.register.impl.js.map +1 -0
  267. package/dist/cli/pm.resource.apply.descriptor.d.ts +15 -0
  268. package/dist/cli/pm.resource.apply.descriptor.d.ts.map +1 -0
  269. package/dist/cli/pm.resource.apply.descriptor.js +41 -0
  270. package/dist/cli/pm.resource.apply.descriptor.js.map +1 -0
  271. package/dist/cli/pm.resource.apply.impl.d.ts +14 -0
  272. package/dist/cli/pm.resource.apply.impl.d.ts.map +1 -0
  273. package/dist/cli/pm.resource.apply.impl.js +91 -0
  274. package/dist/cli/pm.resource.apply.impl.js.map +1 -0
  275. package/dist/cli/pm.resource.cli-group.descriptor.d.ts +9 -0
  276. package/dist/cli/pm.resource.cli-group.descriptor.d.ts.map +1 -0
  277. package/dist/cli/pm.resource.cli-group.descriptor.js +17 -0
  278. package/dist/cli/pm.resource.cli-group.descriptor.js.map +1 -0
  279. package/dist/cli/pm.resource.list.descriptor.d.ts +9 -0
  280. package/dist/cli/pm.resource.list.descriptor.d.ts.map +1 -0
  281. package/dist/cli/pm.resource.list.descriptor.js +25 -0
  282. package/dist/cli/pm.resource.list.descriptor.js.map +1 -0
  283. package/dist/cli/pm.resource.list.impl.d.ts +11 -0
  284. package/dist/cli/pm.resource.list.impl.d.ts.map +1 -0
  285. package/dist/cli/pm.resource.list.impl.js +141 -0
  286. package/dist/cli/pm.resource.list.impl.js.map +1 -0
  287. package/dist/cli/pm.resource.recreate.descriptor.d.ts +4 -0
  288. package/dist/cli/pm.resource.recreate.descriptor.d.ts.map +1 -0
  289. package/dist/cli/pm.resource.recreate.descriptor.js +29 -0
  290. package/dist/cli/pm.resource.recreate.descriptor.js.map +1 -0
  291. package/dist/cli/pm.resource.recreate.impl.d.ts +6 -0
  292. package/dist/cli/pm.resource.recreate.impl.d.ts.map +1 -0
  293. package/dist/cli/pm.resource.recreate.impl.js +123 -0
  294. package/dist/cli/pm.resource.recreate.impl.js.map +1 -0
  295. package/dist/cli/pm.resource.status.descriptor.d.ts +9 -0
  296. package/dist/cli/pm.resource.status.descriptor.d.ts.map +1 -0
  297. package/dist/cli/pm.resource.status.descriptor.js +31 -0
  298. package/dist/cli/pm.resource.status.descriptor.js.map +1 -0
  299. package/dist/cli/pm.resource.status.impl.d.ts +11 -0
  300. package/dist/cli/pm.resource.status.impl.d.ts.map +1 -0
  301. package/dist/cli/pm.resource.status.impl.js +230 -0
  302. package/dist/cli/pm.resource.status.impl.js.map +1 -0
  303. package/dist/cli/pm.restart.descriptor.d.ts +9 -0
  304. package/dist/cli/pm.restart.descriptor.d.ts.map +1 -0
  305. package/dist/cli/pm.restart.descriptor.js +40 -0
  306. package/dist/cli/pm.restart.descriptor.js.map +1 -0
  307. package/dist/cli/pm.restart.impl.d.ts +12 -0
  308. package/dist/cli/pm.restart.impl.d.ts.map +1 -0
  309. package/dist/cli/pm.restart.impl.js +109 -0
  310. package/dist/cli/pm.restart.impl.js.map +1 -0
  311. package/dist/cli/pm.show.descriptor.d.ts +9 -0
  312. package/dist/cli/pm.show.descriptor.d.ts.map +1 -0
  313. package/dist/cli/pm.show.descriptor.js +30 -0
  314. package/dist/cli/pm.show.descriptor.js.map +1 -0
  315. package/dist/cli/pm.show.impl.d.ts +25 -0
  316. package/dist/cli/pm.show.impl.d.ts.map +1 -0
  317. package/dist/cli/pm.show.impl.js +175 -0
  318. package/dist/cli/pm.show.impl.js.map +1 -0
  319. package/dist/cli/pm.start-all.descriptor.d.ts +9 -0
  320. package/dist/cli/pm.start-all.descriptor.d.ts.map +1 -0
  321. package/dist/cli/pm.start-all.descriptor.js +34 -0
  322. package/dist/cli/pm.start-all.descriptor.js.map +1 -0
  323. package/dist/cli/pm.start-all.impl.d.ts +12 -0
  324. package/dist/cli/pm.start-all.impl.d.ts.map +1 -0
  325. package/dist/cli/pm.start-all.impl.js +91 -0
  326. package/dist/cli/pm.start-all.impl.js.map +1 -0
  327. package/dist/cli/pm.start.descriptor.d.ts +9 -0
  328. package/dist/cli/pm.start.descriptor.d.ts.map +1 -0
  329. package/dist/cli/pm.start.descriptor.js +40 -0
  330. package/dist/cli/pm.start.descriptor.js.map +1 -0
  331. package/dist/cli/pm.start.impl.d.ts +19 -0
  332. package/dist/cli/pm.start.impl.d.ts.map +1 -0
  333. package/dist/cli/pm.start.impl.js +170 -0
  334. package/dist/cli/pm.start.impl.js.map +1 -0
  335. package/dist/cli/pm.status.descriptor.d.ts +10 -0
  336. package/dist/cli/pm.status.descriptor.d.ts.map +1 -0
  337. package/dist/cli/pm.status.descriptor.js +31 -0
  338. package/dist/cli/pm.status.descriptor.js.map +1 -0
  339. package/dist/cli/pm.status.impl.d.ts +96 -0
  340. package/dist/cli/pm.status.impl.d.ts.map +1 -0
  341. package/dist/cli/pm.status.impl.js +425 -0
  342. package/dist/cli/pm.status.impl.js.map +1 -0
  343. package/dist/cli/pm.stop-all.descriptor.d.ts +9 -0
  344. package/dist/cli/pm.stop-all.descriptor.d.ts.map +1 -0
  345. package/dist/cli/pm.stop-all.descriptor.js +41 -0
  346. package/dist/cli/pm.stop-all.descriptor.js.map +1 -0
  347. package/dist/cli/pm.stop-all.impl.d.ts +14 -0
  348. package/dist/cli/pm.stop-all.impl.d.ts.map +1 -0
  349. package/dist/cli/pm.stop-all.impl.js +138 -0
  350. package/dist/cli/pm.stop-all.impl.js.map +1 -0
  351. package/dist/cli/pm.stop.descriptor.d.ts +9 -0
  352. package/dist/cli/pm.stop.descriptor.d.ts.map +1 -0
  353. package/dist/cli/pm.stop.descriptor.js +40 -0
  354. package/dist/cli/pm.stop.descriptor.js.map +1 -0
  355. package/dist/cli/pm.stop.impl.d.ts +13 -0
  356. package/dist/cli/pm.stop.impl.d.ts.map +1 -0
  357. package/dist/cli/pm.stop.impl.js +120 -0
  358. package/dist/cli/pm.stop.impl.js.map +1 -0
  359. package/dist/cli/pm.unregister-all.descriptor.d.ts +9 -0
  360. package/dist/cli/pm.unregister-all.descriptor.d.ts.map +1 -0
  361. package/dist/cli/pm.unregister-all.descriptor.js +28 -0
  362. package/dist/cli/pm.unregister-all.descriptor.js.map +1 -0
  363. package/dist/cli/pm.unregister-all.impl.d.ts +11 -0
  364. package/dist/cli/pm.unregister-all.impl.d.ts.map +1 -0
  365. package/dist/cli/pm.unregister-all.impl.js +106 -0
  366. package/dist/cli/pm.unregister-all.impl.js.map +1 -0
  367. package/dist/cli/pm.unregister.descriptor.d.ts +9 -0
  368. package/dist/cli/pm.unregister.descriptor.d.ts.map +1 -0
  369. package/dist/cli/pm.unregister.descriptor.js +34 -0
  370. package/dist/cli/pm.unregister.descriptor.js.map +1 -0
  371. package/dist/cli/pm.unregister.impl.d.ts +11 -0
  372. package/dist/cli/pm.unregister.impl.d.ts.map +1 -0
  373. package/dist/cli/pm.unregister.impl.js +77 -0
  374. package/dist/cli/pm.unregister.impl.js.map +1 -0
  375. package/dist/cli/pm.validate.descriptor.d.ts +9 -0
  376. package/dist/cli/pm.validate.descriptor.d.ts.map +1 -0
  377. package/dist/cli/pm.validate.descriptor.js +24 -0
  378. package/dist/cli/pm.validate.descriptor.js.map +1 -0
  379. package/dist/cli/pm.validate.impl.d.ts +6 -0
  380. package/dist/cli/pm.validate.impl.d.ts.map +1 -0
  381. package/dist/cli/pm.validate.impl.js +235 -0
  382. package/dist/cli/pm.validate.impl.js.map +1 -0
  383. package/dist/cli/preset-execution-options.d.ts +8 -0
  384. package/dist/cli/preset-execution-options.d.ts.map +1 -0
  385. package/dist/cli/preset-execution-options.js +22 -0
  386. package/dist/cli/preset-execution-options.js.map +1 -0
  387. package/dist/cli/register-manifest.d.ts +23 -0
  388. package/dist/cli/register-manifest.d.ts.map +1 -0
  389. package/dist/cli/register-manifest.js +80 -0
  390. package/dist/cli/register-manifest.js.map +1 -0
  391. package/dist/cli/runtime.d.ts +3 -0
  392. package/dist/cli/runtime.d.ts.map +1 -0
  393. package/dist/cli/runtime.js +134 -0
  394. package/dist/cli/runtime.js.map +1 -0
  395. package/dist/cli/table-columns.d.ts +22 -0
  396. package/dist/cli/table-columns.d.ts.map +1 -0
  397. package/dist/cli/table-columns.js +61 -0
  398. package/dist/cli/table-columns.js.map +1 -0
  399. package/dist/client-replies.d.ts +1188 -0
  400. package/dist/client-replies.d.ts.map +1 -0
  401. package/dist/client-replies.js +145 -0
  402. package/dist/client-replies.js.map +1 -0
  403. package/dist/client.d.ts +345 -0
  404. package/dist/client.d.ts.map +1 -0
  405. package/dist/client.js +1005 -0
  406. package/dist/client.js.map +1 -0
  407. package/dist/config/pm.config.config.descriptor.d.ts +10 -0
  408. package/dist/config/pm.config.config.descriptor.d.ts.map +1 -0
  409. package/dist/config/pm.config.config.descriptor.js +37 -0
  410. package/dist/config/pm.config.config.descriptor.js.map +1 -0
  411. package/dist/context.d.ts +121 -0
  412. package/dist/context.d.ts.map +1 -0
  413. package/dist/context.js +6 -0
  414. package/dist/context.js.map +1 -0
  415. package/dist/daemon/command-handler.d.ts +74 -0
  416. package/dist/daemon/command-handler.d.ts.map +1 -0
  417. package/dist/daemon/command-handler.js +220 -0
  418. package/dist/daemon/command-handler.js.map +1 -0
  419. package/dist/daemon/command-ids.d.ts +10 -0
  420. package/dist/daemon/command-ids.d.ts.map +1 -0
  421. package/dist/daemon/command-ids.js +51 -0
  422. package/dist/daemon/command-ids.js.map +1 -0
  423. package/dist/daemon/command-implementations.d.ts +30 -0
  424. package/dist/daemon/command-implementations.d.ts.map +1 -0
  425. package/dist/daemon/command-implementations.js +340 -0
  426. package/dist/daemon/command-implementations.js.map +1 -0
  427. package/dist/daemon/command-payload.d.ts +803 -0
  428. package/dist/daemon/command-payload.d.ts.map +1 -0
  429. package/dist/daemon/command-payload.js +128 -0
  430. package/dist/daemon/command-payload.js.map +1 -0
  431. package/dist/daemon/commands.plugin.d.ts +6 -0
  432. package/dist/daemon/commands.plugin.d.ts.map +1 -0
  433. package/dist/daemon/commands.plugin.js +22 -0
  434. package/dist/daemon/commands.plugin.js.map +1 -0
  435. package/dist/daemon/config-watcher.d.ts +125 -0
  436. package/dist/daemon/config-watcher.d.ts.map +1 -0
  437. package/dist/daemon/config-watcher.js +541 -0
  438. package/dist/daemon/config-watcher.js.map +1 -0
  439. package/dist/daemon/daemon-module-context.d.ts +16 -0
  440. package/dist/daemon/daemon-module-context.d.ts.map +1 -0
  441. package/dist/daemon/daemon-module-context.js +25 -0
  442. package/dist/daemon/daemon-module-context.js.map +1 -0
  443. package/dist/daemon/declared-commands.d.ts +39 -0
  444. package/dist/daemon/declared-commands.d.ts.map +1 -0
  445. package/dist/daemon/declared-commands.js +200 -0
  446. package/dist/daemon/declared-commands.js.map +1 -0
  447. package/dist/daemon/executable-freshness-reconciler.d.ts +99 -0
  448. package/dist/daemon/executable-freshness-reconciler.d.ts.map +1 -0
  449. package/dist/daemon/executable-freshness-reconciler.js +396 -0
  450. package/dist/daemon/executable-freshness-reconciler.js.map +1 -0
  451. package/dist/daemon/fleet-attach-state.d.ts +22 -0
  452. package/dist/daemon/fleet-attach-state.d.ts.map +1 -0
  453. package/dist/daemon/fleet-attach-state.js +39 -0
  454. package/dist/daemon/fleet-attach-state.js.map +1 -0
  455. package/dist/daemon/health-monitor.d.ts +105 -0
  456. package/dist/daemon/health-monitor.d.ts.map +1 -0
  457. package/dist/daemon/health-monitor.js +453 -0
  458. package/dist/daemon/health-monitor.js.map +1 -0
  459. package/dist/daemon/liveness-checker.d.ts +49 -0
  460. package/dist/daemon/liveness-checker.d.ts.map +1 -0
  461. package/dist/daemon/liveness-checker.js +330 -0
  462. package/dist/daemon/liveness-checker.js.map +1 -0
  463. package/dist/daemon/orphan-scanner.d.ts +114 -0
  464. package/dist/daemon/orphan-scanner.d.ts.map +1 -0
  465. package/dist/daemon/orphan-scanner.js +684 -0
  466. package/dist/daemon/orphan-scanner.js.map +1 -0
  467. package/dist/daemon/resource-health-monitor.d.ts +65 -0
  468. package/dist/daemon/resource-health-monitor.d.ts.map +1 -0
  469. package/dist/daemon/resource-health-monitor.js +247 -0
  470. package/dist/daemon/resource-health-monitor.js.map +1 -0
  471. package/dist/daemon/role.context.impl.d.ts +13 -0
  472. package/dist/daemon/role.context.impl.d.ts.map +1 -0
  473. package/dist/daemon/role.context.impl.js +7 -0
  474. package/dist/daemon/role.context.impl.js.map +1 -0
  475. package/dist/daemon/role.d.ts +56 -0
  476. package/dist/daemon/role.d.ts.map +1 -0
  477. package/dist/daemon/role.js +18 -0
  478. package/dist/daemon/role.js.map +1 -0
  479. package/dist/daemon/rpc-result.d.ts +9 -0
  480. package/dist/daemon/rpc-result.d.ts.map +1 -0
  481. package/dist/daemon/rpc-result.js +28 -0
  482. package/dist/daemon/rpc-result.js.map +1 -0
  483. package/dist/daemon/stray-daemons.d.ts +52 -0
  484. package/dist/daemon/stray-daemons.d.ts.map +1 -0
  485. package/dist/daemon/stray-daemons.js +101 -0
  486. package/dist/daemon/stray-daemons.js.map +1 -0
  487. package/dist/daemon/supervised-commands.d.ts +3 -0
  488. package/dist/daemon/supervised-commands.d.ts.map +1 -0
  489. package/dist/daemon/supervised-commands.js +51 -0
  490. package/dist/daemon/supervised-commands.js.map +1 -0
  491. package/dist/daemon.d.ts +329 -0
  492. package/dist/daemon.d.ts.map +1 -0
  493. package/dist/daemon.js +1654 -0
  494. package/dist/daemon.js.map +1 -0
  495. package/dist/definitions.d.ts +2 -0
  496. package/dist/definitions.d.ts.map +1 -0
  497. package/dist/definitions.js +2 -0
  498. package/dist/definitions.js.map +1 -0
  499. package/dist/dev/command.d.ts +39 -0
  500. package/dist/dev/command.d.ts.map +1 -0
  501. package/dist/dev/command.js +79 -0
  502. package/dist/dev/command.js.map +1 -0
  503. package/dist/dev/defaults.d.ts +34 -0
  504. package/dist/dev/defaults.d.ts.map +1 -0
  505. package/dist/dev/defaults.js +58 -0
  506. package/dist/dev/defaults.js.map +1 -0
  507. package/dist/dev/env.d.ts +31 -0
  508. package/dist/dev/env.d.ts.map +1 -0
  509. package/dist/dev/env.js +56 -0
  510. package/dist/dev/env.js.map +1 -0
  511. package/dist/dev/index.d.ts +26 -0
  512. package/dist/dev/index.d.ts.map +1 -0
  513. package/dist/dev/index.js +28 -0
  514. package/dist/dev/index.js.map +1 -0
  515. package/dist/dev/sveltekit.d.ts +41 -0
  516. package/dist/dev/sveltekit.d.ts.map +1 -0
  517. package/dist/dev/sveltekit.js +93 -0
  518. package/dist/dev/sveltekit.js.map +1 -0
  519. package/dist/dev/workspace-shape.d.ts +64 -0
  520. package/dist/dev/workspace-shape.d.ts.map +1 -0
  521. package/dist/dev/workspace-shape.js +19 -0
  522. package/dist/dev/workspace-shape.js.map +1 -0
  523. package/dist/docs/pm.daemon.docs.descriptor.d.ts +4 -0
  524. package/dist/docs/pm.daemon.docs.descriptor.d.ts.map +1 -0
  525. package/dist/docs/pm.daemon.docs.descriptor.js +48 -0
  526. package/dist/docs/pm.daemon.docs.descriptor.js.map +1 -0
  527. package/dist/docs/pm.docs.descriptor.d.ts +4 -0
  528. package/dist/docs/pm.docs.descriptor.d.ts.map +1 -0
  529. package/dist/docs/pm.docs.descriptor.js +45 -0
  530. package/dist/docs/pm.docs.descriptor.js.map +1 -0
  531. package/dist/docs/pm.preset.docs.descriptor.d.ts +4 -0
  532. package/dist/docs/pm.preset.docs.descriptor.d.ts.map +1 -0
  533. package/dist/docs/pm.preset.docs.descriptor.js +37 -0
  534. package/dist/docs/pm.preset.docs.descriptor.js.map +1 -0
  535. package/dist/docs/pm.queues.docs.descriptor.d.ts +4 -0
  536. package/dist/docs/pm.queues.docs.descriptor.d.ts.map +1 -0
  537. package/dist/docs/pm.queues.docs.descriptor.js +157 -0
  538. package/dist/docs/pm.queues.docs.descriptor.js.map +1 -0
  539. package/dist/docs/pm.resource.docs.descriptor.d.ts +4 -0
  540. package/dist/docs/pm.resource.docs.descriptor.d.ts.map +1 -0
  541. package/dist/docs/pm.resource.docs.descriptor.js +38 -0
  542. package/dist/docs/pm.resource.docs.descriptor.js.map +1 -0
  543. package/dist/docs/pm.tasks.docs.descriptor.d.ts +4 -0
  544. package/dist/docs/pm.tasks.docs.descriptor.d.ts.map +1 -0
  545. package/dist/docs/pm.tasks.docs.descriptor.js +242 -0
  546. package/dist/docs/pm.tasks.docs.descriptor.js.map +1 -0
  547. package/dist/docs/pm.workers.docs.descriptor.d.ts +4 -0
  548. package/dist/docs/pm.workers.docs.descriptor.d.ts.map +1 -0
  549. package/dist/docs/pm.workers.docs.descriptor.js +427 -0
  550. package/dist/docs/pm.workers.docs.descriptor.js.map +1 -0
  551. package/dist/errors.d.ts +262 -0
  552. package/dist/errors.d.ts.map +1 -0
  553. package/dist/errors.js +479 -0
  554. package/dist/errors.js.map +1 -0
  555. package/dist/graph.d.ts +82 -0
  556. package/dist/graph.d.ts.map +1 -0
  557. package/dist/graph.js +247 -0
  558. package/dist/graph.js.map +1 -0
  559. package/dist/helpers/failure.d.ts +10 -0
  560. package/dist/helpers/failure.d.ts.map +1 -0
  561. package/dist/helpers/failure.js +10 -0
  562. package/dist/helpers/failure.js.map +1 -0
  563. package/dist/helpers/launch-custody.d.ts +16 -0
  564. package/dist/helpers/launch-custody.d.ts.map +1 -0
  565. package/dist/helpers/launch-custody.js +117 -0
  566. package/dist/helpers/launch-custody.js.map +1 -0
  567. package/dist/helpers/launch-identity.d.ts +20 -0
  568. package/dist/helpers/launch-identity.d.ts.map +1 -0
  569. package/dist/helpers/launch-identity.js +70 -0
  570. package/dist/helpers/launch-identity.js.map +1 -0
  571. package/dist/helpers/managed-http-origin.d.ts +4 -0
  572. package/dist/helpers/managed-http-origin.d.ts.map +1 -0
  573. package/dist/helpers/managed-http-origin.js +9 -0
  574. package/dist/helpers/managed-http-origin.js.map +1 -0
  575. package/dist/helpers/managed-process-admission.d.ts +55 -0
  576. package/dist/helpers/managed-process-admission.d.ts.map +1 -0
  577. package/dist/helpers/managed-process-admission.js +102 -0
  578. package/dist/helpers/managed-process-admission.js.map +1 -0
  579. package/dist/helpers/managed-process-id.d.ts +13 -0
  580. package/dist/helpers/managed-process-id.d.ts.map +1 -0
  581. package/dist/helpers/managed-process-id.js +16 -0
  582. package/dist/helpers/managed-process-id.js.map +1 -0
  583. package/dist/helpers/node-path.d.ts +16 -0
  584. package/dist/helpers/node-path.d.ts.map +1 -0
  585. package/dist/helpers/node-path.js +67 -0
  586. package/dist/helpers/node-path.js.map +1 -0
  587. package/dist/helpers/output-redaction.d.ts +36 -0
  588. package/dist/helpers/output-redaction.d.ts.map +1 -0
  589. package/dist/helpers/output-redaction.js +120 -0
  590. package/dist/helpers/output-redaction.js.map +1 -0
  591. package/dist/helpers/process-credentials.d.ts +62 -0
  592. package/dist/helpers/process-credentials.d.ts.map +1 -0
  593. package/dist/helpers/process-credentials.js +107 -0
  594. package/dist/helpers/process-credentials.js.map +1 -0
  595. package/dist/helpers/process-env.d.ts +72 -0
  596. package/dist/helpers/process-env.d.ts.map +1 -0
  597. package/dist/helpers/process-env.js +265 -0
  598. package/dist/helpers/process-env.js.map +1 -0
  599. package/dist/helpers/process-watch.d.ts +7 -0
  600. package/dist/helpers/process-watch.d.ts.map +1 -0
  601. package/dist/helpers/process-watch.js +27 -0
  602. package/dist/helpers/process-watch.js.map +1 -0
  603. package/dist/helpers/rlimits.d.ts +10 -0
  604. package/dist/helpers/rlimits.d.ts.map +1 -0
  605. package/dist/helpers/rlimits.js +14 -0
  606. package/dist/helpers/rlimits.js.map +1 -0
  607. package/dist/helpers/runtime-files.d.ts +42 -0
  608. package/dist/helpers/runtime-files.d.ts.map +1 -0
  609. package/dist/helpers/runtime-files.js +155 -0
  610. package/dist/helpers/runtime-files.js.map +1 -0
  611. package/dist/helpers/worker-routing.d.ts +35 -0
  612. package/dist/helpers/worker-routing.d.ts.map +1 -0
  613. package/dist/helpers/worker-routing.js +70 -0
  614. package/dist/helpers/worker-routing.js.map +1 -0
  615. package/dist/index.d.ts +10 -0
  616. package/dist/index.d.ts.map +1 -0
  617. package/dist/index.js +11 -0
  618. package/dist/index.js.map +1 -0
  619. package/dist/interface.d.ts +150 -0
  620. package/dist/interface.d.ts.map +1 -0
  621. package/dist/interface.js +6 -0
  622. package/dist/interface.js.map +1 -0
  623. package/dist/kinds/daemon-module.kind.d.ts +103 -0
  624. package/dist/kinds/daemon-module.kind.d.ts.map +1 -0
  625. package/dist/kinds/daemon-module.kind.js +38 -0
  626. package/dist/kinds/daemon-module.kind.js.map +1 -0
  627. package/dist/kinds/launch-preparation.kind.d.ts +24 -0
  628. package/dist/kinds/launch-preparation.kind.d.ts.map +1 -0
  629. package/dist/kinds/launch-preparation.kind.js +7 -0
  630. package/dist/kinds/launch-preparation.kind.js.map +1 -0
  631. package/dist/kinds/liveness-profile.kind.d.ts +33 -0
  632. package/dist/kinds/liveness-profile.kind.d.ts.map +1 -0
  633. package/dist/kinds/liveness-profile.kind.js +27 -0
  634. package/dist/kinds/liveness-profile.kind.js.map +1 -0
  635. package/dist/kinds/preset.kind.d.ts +59 -0
  636. package/dist/kinds/preset.kind.d.ts.map +1 -0
  637. package/dist/kinds/preset.kind.js +35 -0
  638. package/dist/kinds/preset.kind.js.map +1 -0
  639. package/dist/kinds/process-source.kind.d.ts +6 -0
  640. package/dist/kinds/process-source.kind.d.ts.map +1 -0
  641. package/dist/kinds/process-source.kind.js +24 -0
  642. package/dist/kinds/process-source.kind.js.map +1 -0
  643. package/dist/kinds/process.kind.d.ts +237 -0
  644. package/dist/kinds/process.kind.d.ts.map +1 -0
  645. package/dist/kinds/process.kind.js +36 -0
  646. package/dist/kinds/process.kind.js.map +1 -0
  647. package/dist/kinds/resource-provider.kind.d.ts +41 -0
  648. package/dist/kinds/resource-provider.kind.d.ts.map +1 -0
  649. package/dist/kinds/resource-provider.kind.js +56 -0
  650. package/dist/kinds/resource-provider.kind.js.map +1 -0
  651. package/dist/kinds/resource.kind.d.ts +73 -0
  652. package/dist/kinds/resource.kind.d.ts.map +1 -0
  653. package/dist/kinds/resource.kind.js +35 -0
  654. package/dist/kinds/resource.kind.js.map +1 -0
  655. package/dist/kinds/runtime-daemon-endpoint.d.ts +34 -0
  656. package/dist/kinds/runtime-daemon-endpoint.d.ts.map +1 -0
  657. package/dist/kinds/runtime-daemon-endpoint.js +83 -0
  658. package/dist/kinds/runtime-daemon-endpoint.js.map +1 -0
  659. package/dist/kinds/runtime-daemon-endpoint.kind.d.ts +144 -0
  660. package/dist/kinds/runtime-daemon-endpoint.kind.d.ts.map +1 -0
  661. package/dist/kinds/runtime-daemon-endpoint.kind.js +104 -0
  662. package/dist/kinds/runtime-daemon-endpoint.kind.js.map +1 -0
  663. package/dist/launch-preparation.d.ts +12 -0
  664. package/dist/launch-preparation.d.ts.map +1 -0
  665. package/dist/launch-preparation.js +42 -0
  666. package/dist/launch-preparation.js.map +1 -0
  667. package/dist/logging/pm-daemon.logger.descriptor.d.ts +7 -0
  668. package/dist/logging/pm-daemon.logger.descriptor.d.ts.map +1 -0
  669. package/dist/logging/pm-daemon.logger.descriptor.js +16 -0
  670. package/dist/logging/pm-daemon.logger.descriptor.js.map +1 -0
  671. package/dist/logging/pm-daemon.output.descriptor.d.ts +9 -0
  672. package/dist/logging/pm-daemon.output.descriptor.d.ts.map +1 -0
  673. package/dist/logging/pm-daemon.output.descriptor.js +22 -0
  674. package/dist/logging/pm-daemon.output.descriptor.js.map +1 -0
  675. package/dist/manager.d.ts +206 -0
  676. package/dist/manager.d.ts.map +1 -0
  677. package/dist/manager.js +682 -0
  678. package/dist/manager.js.map +1 -0
  679. package/dist/managers/dependency-resolver.d.ts +85 -0
  680. package/dist/managers/dependency-resolver.d.ts.map +1 -0
  681. package/dist/managers/dependency-resolver.js +237 -0
  682. package/dist/managers/dependency-resolver.js.map +1 -0
  683. package/dist/managers/preset-executor.d.ts +138 -0
  684. package/dist/managers/preset-executor.d.ts.map +1 -0
  685. package/dist/managers/preset-executor.js +763 -0
  686. package/dist/managers/preset-executor.js.map +1 -0
  687. package/dist/managers/resource-manager.d.ts +142 -0
  688. package/dist/managers/resource-manager.d.ts.map +1 -0
  689. package/dist/managers/resource-manager.js +767 -0
  690. package/dist/managers/resource-manager.js.map +1 -0
  691. package/dist/migrations.generated.d.ts +14 -0
  692. package/dist/migrations.generated.d.ts.map +1 -0
  693. package/dist/migrations.generated.js +27 -0
  694. package/dist/migrations.generated.js.map +1 -0
  695. package/dist/pm.assets.runtime.d.ts +151 -0
  696. package/dist/pm.assets.runtime.d.ts.map +1 -0
  697. package/dist/pm.assets.runtime.js +30 -0
  698. package/dist/pm.assets.runtime.js.map +1 -0
  699. package/dist/pm.client.descriptor.d.ts +4 -0
  700. package/dist/pm.client.descriptor.d.ts.map +1 -0
  701. package/dist/pm.client.descriptor.js +8 -0
  702. package/dist/pm.client.descriptor.js.map +1 -0
  703. package/dist/pm.client.impl.consumer.d.ts +9 -0
  704. package/dist/pm.client.impl.consumer.d.ts.map +1 -0
  705. package/dist/pm.client.impl.consumer.js +13 -0
  706. package/dist/pm.client.impl.consumer.js.map +1 -0
  707. package/dist/pm.cloud.plugin.d.ts +29 -0
  708. package/dist/pm.cloud.plugin.d.ts.map +1 -0
  709. package/dist/pm.cloud.plugin.js +57 -0
  710. package/dist/pm.cloud.plugin.js.map +1 -0
  711. package/dist/pm.consumer.plugin.d.ts +3 -0
  712. package/dist/pm.consumer.plugin.d.ts.map +1 -0
  713. package/dist/pm.consumer.plugin.js +70 -0
  714. package/dist/pm.consumer.plugin.js.map +1 -0
  715. package/dist/pm.context.descriptor.d.ts +35 -0
  716. package/dist/pm.context.descriptor.d.ts.map +1 -0
  717. package/dist/pm.context.descriptor.js +12 -0
  718. package/dist/pm.context.descriptor.js.map +1 -0
  719. package/dist/pm.context.impl.consumer.d.ts +8 -0
  720. package/dist/pm.context.impl.consumer.d.ts.map +1 -0
  721. package/dist/pm.context.impl.consumer.js +6 -0
  722. package/dist/pm.context.impl.consumer.js.map +1 -0
  723. package/dist/pm.plugin.d.ts +6 -0
  724. package/dist/pm.plugin.d.ts.map +1 -0
  725. package/dist/pm.plugin.js +6 -0
  726. package/dist/pm.plugin.js.map +1 -0
  727. package/dist/presets/index.d.ts +5 -0
  728. package/dist/presets/index.d.ts.map +1 -0
  729. package/dist/presets/index.js +5 -0
  730. package/dist/presets/index.js.map +1 -0
  731. package/dist/presets/preset/index.d.ts +2 -0
  732. package/dist/presets/preset/index.d.ts.map +1 -0
  733. package/dist/presets/preset/index.js +2 -0
  734. package/dist/presets/preset/index.js.map +1 -0
  735. package/dist/presets/preset/web-dev.d.ts +39 -0
  736. package/dist/presets/preset/web-dev.d.ts.map +1 -0
  737. package/dist/presets/preset/web-dev.js +69 -0
  738. package/dist/presets/preset/web-dev.js.map +1 -0
  739. package/dist/presets/process/index.d.ts +3 -0
  740. package/dist/presets/process/index.d.ts.map +1 -0
  741. package/dist/presets/process/index.js +3 -0
  742. package/dist/presets/process/index.js.map +1 -0
  743. package/dist/presets/process/sveltekit.d.ts +125 -0
  744. package/dist/presets/process/sveltekit.d.ts.map +1 -0
  745. package/dist/presets/process/sveltekit.js +52 -0
  746. package/dist/presets/process/sveltekit.js.map +1 -0
  747. package/dist/presets/process/web.d.ts +34 -0
  748. package/dist/presets/process/web.d.ts.map +1 -0
  749. package/dist/presets/process/web.js +52 -0
  750. package/dist/presets/process/web.js.map +1 -0
  751. package/dist/presets/resource/database.d.ts +39 -0
  752. package/dist/presets/resource/database.d.ts.map +1 -0
  753. package/dist/presets/resource/database.js +60 -0
  754. package/dist/presets/resource/database.js.map +1 -0
  755. package/dist/presets/resource/index.d.ts +2 -0
  756. package/dist/presets/resource/index.d.ts.map +1 -0
  757. package/dist/presets/resource/index.js +2 -0
  758. package/dist/presets/resource/index.js.map +1 -0
  759. package/dist/presets/types.d.ts +101 -0
  760. package/dist/presets/types.d.ts.map +1 -0
  761. package/dist/presets/types.js +53 -0
  762. package/dist/presets/types.js.map +1 -0
  763. package/dist/register-migrations.impl.consumer.d.ts +8 -0
  764. package/dist/register-migrations.impl.consumer.d.ts.map +1 -0
  765. package/dist/register-migrations.impl.consumer.js +145 -0
  766. package/dist/register-migrations.impl.consumer.js.map +1 -0
  767. package/dist/resources/index.d.ts +7 -0
  768. package/dist/resources/index.d.ts.map +1 -0
  769. package/dist/resources/index.js +7 -0
  770. package/dist/resources/index.js.map +1 -0
  771. package/dist/resources/provider.d.ts +216 -0
  772. package/dist/resources/provider.d.ts.map +1 -0
  773. package/dist/resources/provider.js +54 -0
  774. package/dist/resources/provider.js.map +1 -0
  775. package/dist/resources/providers/builtin.assets.d.ts +8 -0
  776. package/dist/resources/providers/builtin.assets.d.ts.map +1 -0
  777. package/dist/resources/providers/builtin.assets.js +26 -0
  778. package/dist/resources/providers/builtin.assets.js.map +1 -0
  779. package/dist/resources/providers/index.d.ts +14 -0
  780. package/dist/resources/providers/index.d.ts.map +1 -0
  781. package/dist/resources/providers/index.js +14 -0
  782. package/dist/resources/providers/index.js.map +1 -0
  783. package/dist/resources/providers/local-mkcert.d.ts +31 -0
  784. package/dist/resources/providers/local-mkcert.d.ts.map +1 -0
  785. package/dist/resources/providers/local-mkcert.js +169 -0
  786. package/dist/resources/providers/local-mkcert.js.map +1 -0
  787. package/dist/resources/providers/shell-setup.d.ts +17 -0
  788. package/dist/resources/providers/shell-setup.d.ts.map +1 -0
  789. package/dist/resources/providers/shell-setup.js +41 -0
  790. package/dist/resources/providers/shell-setup.js.map +1 -0
  791. package/dist/resources/providers/tool-env.d.ts +63 -0
  792. package/dist/resources/providers/tool-env.d.ts.map +1 -0
  793. package/dist/resources/providers/tool-env.js +99 -0
  794. package/dist/resources/providers/tool-env.js.map +1 -0
  795. package/dist/resources/resource-state-summary.d.ts +3 -0
  796. package/dist/resources/resource-state-summary.d.ts.map +1 -0
  797. package/dist/resources/resource-state-summary.js +82 -0
  798. package/dist/resources/resource-state-summary.js.map +1 -0
  799. package/dist/resources/status-options.d.ts +4 -0
  800. package/dist/resources/status-options.d.ts.map +1 -0
  801. package/dist/resources/status-options.js +6 -0
  802. package/dist/resources/status-options.js.map +1 -0
  803. package/dist/runnable/executor.d.ts +11 -0
  804. package/dist/runnable/executor.d.ts.map +1 -0
  805. package/dist/runnable/executor.js +41 -0
  806. package/dist/runnable/executor.js.map +1 -0
  807. package/dist/runnable/plugin.d.ts +3 -0
  808. package/dist/runnable/plugin.d.ts.map +1 -0
  809. package/dist/runnable/plugin.js +12 -0
  810. package/dist/runnable/plugin.js.map +1 -0
  811. package/dist/runnable/schemas.d.ts +28 -0
  812. package/dist/runnable/schemas.d.ts.map +1 -0
  813. package/dist/runnable/schemas.js +10 -0
  814. package/dist/runnable/schemas.js.map +1 -0
  815. package/dist/runtime-daemon-supervisor.descriptor.d.ts +16 -0
  816. package/dist/runtime-daemon-supervisor.descriptor.d.ts.map +1 -0
  817. package/dist/runtime-daemon-supervisor.descriptor.js +17 -0
  818. package/dist/runtime-daemon-supervisor.descriptor.js.map +1 -0
  819. package/dist/runtime-daemon-supervisor.impl.consumer.d.ts +22 -0
  820. package/dist/runtime-daemon-supervisor.impl.consumer.d.ts.map +1 -0
  821. package/dist/runtime-daemon-supervisor.impl.consumer.js +66 -0
  822. package/dist/runtime-daemon-supervisor.impl.consumer.js.map +1 -0
  823. package/dist/schemas/action-error.d.ts +8 -0
  824. package/dist/schemas/action-error.d.ts.map +1 -0
  825. package/dist/schemas/action-error.js +8 -0
  826. package/dist/schemas/action-error.js.map +1 -0
  827. package/dist/schemas/admission.d.ts +36 -0
  828. package/dist/schemas/admission.d.ts.map +1 -0
  829. package/dist/schemas/admission.js +22 -0
  830. package/dist/schemas/admission.js.map +1 -0
  831. package/dist/schemas/builder.d.ts +402 -0
  832. package/dist/schemas/builder.d.ts.map +1 -0
  833. package/dist/schemas/builder.js +410 -0
  834. package/dist/schemas/builder.js.map +1 -0
  835. package/dist/schemas/client.d.ts +18 -0
  836. package/dist/schemas/client.d.ts.map +1 -0
  837. package/dist/schemas/client.js +2 -0
  838. package/dist/schemas/client.js.map +1 -0
  839. package/dist/schemas/commands.d.ts +315 -0
  840. package/dist/schemas/commands.d.ts.map +1 -0
  841. package/dist/schemas/commands.js +268 -0
  842. package/dist/schemas/commands.js.map +1 -0
  843. package/dist/schemas/common.d.ts +35 -0
  844. package/dist/schemas/common.d.ts.map +1 -0
  845. package/dist/schemas/common.js +43 -0
  846. package/dist/schemas/common.js.map +1 -0
  847. package/dist/schemas/daemon-command.d.ts +61 -0
  848. package/dist/schemas/daemon-command.d.ts.map +1 -0
  849. package/dist/schemas/daemon-command.js +2 -0
  850. package/dist/schemas/daemon-command.js.map +1 -0
  851. package/dist/schemas/daemon-host.d.ts +70 -0
  852. package/dist/schemas/daemon-host.d.ts.map +1 -0
  853. package/dist/schemas/daemon-host.js +2 -0
  854. package/dist/schemas/daemon-host.js.map +1 -0
  855. package/dist/schemas/daemon-launch.d.ts +43 -0
  856. package/dist/schemas/daemon-launch.d.ts.map +1 -0
  857. package/dist/schemas/daemon-launch.js +3 -0
  858. package/dist/schemas/daemon-launch.js.map +1 -0
  859. package/dist/schemas/daemon.d.ts +98 -0
  860. package/dist/schemas/daemon.d.ts.map +1 -0
  861. package/dist/schemas/daemon.js +88 -0
  862. package/dist/schemas/daemon.js.map +1 -0
  863. package/dist/schemas/dev.d.ts +169 -0
  864. package/dist/schemas/dev.d.ts.map +1 -0
  865. package/dist/schemas/dev.js +8 -0
  866. package/dist/schemas/dev.js.map +1 -0
  867. package/dist/schemas/executable-freshness.d.ts +88 -0
  868. package/dist/schemas/executable-freshness.d.ts.map +1 -0
  869. package/dist/schemas/executable-freshness.js +2 -0
  870. package/dist/schemas/executable-freshness.js.map +1 -0
  871. package/dist/schemas/forward-config.d.ts +11 -0
  872. package/dist/schemas/forward-config.d.ts.map +1 -0
  873. package/dist/schemas/forward-config.js +15 -0
  874. package/dist/schemas/forward-config.js.map +1 -0
  875. package/dist/schemas/graph.d.ts +444 -0
  876. package/dist/schemas/graph.d.ts.map +1 -0
  877. package/dist/schemas/graph.js +59 -0
  878. package/dist/schemas/graph.js.map +1 -0
  879. package/dist/schemas/health.d.ts +43 -0
  880. package/dist/schemas/health.d.ts.map +1 -0
  881. package/dist/schemas/health.js +6 -0
  882. package/dist/schemas/health.js.map +1 -0
  883. package/dist/schemas/launch-preparation.d.ts +106 -0
  884. package/dist/schemas/launch-preparation.d.ts.map +1 -0
  885. package/dist/schemas/launch-preparation.js +50 -0
  886. package/dist/schemas/launch-preparation.js.map +1 -0
  887. package/dist/schemas/liveness-profile.d.ts +108 -0
  888. package/dist/schemas/liveness-profile.d.ts.map +1 -0
  889. package/dist/schemas/liveness-profile.js +33 -0
  890. package/dist/schemas/liveness-profile.js.map +1 -0
  891. package/dist/schemas/liveness.d.ts +37 -0
  892. package/dist/schemas/liveness.d.ts.map +1 -0
  893. package/dist/schemas/liveness.js +41 -0
  894. package/dist/schemas/liveness.js.map +1 -0
  895. package/dist/schemas/manager.d.ts +46 -0
  896. package/dist/schemas/manager.d.ts.map +1 -0
  897. package/dist/schemas/manager.js +5 -0
  898. package/dist/schemas/manager.js.map +1 -0
  899. package/dist/schemas/port-forward.d.ts +47 -0
  900. package/dist/schemas/port-forward.d.ts.map +1 -0
  901. package/dist/schemas/port-forward.js +27 -0
  902. package/dist/schemas/port-forward.js.map +1 -0
  903. package/dist/schemas/process-source.d.ts +354 -0
  904. package/dist/schemas/process-source.d.ts.map +1 -0
  905. package/dist/schemas/process-source.js +19 -0
  906. package/dist/schemas/process-source.js.map +1 -0
  907. package/dist/schemas/process-tree.d.ts +12 -0
  908. package/dist/schemas/process-tree.d.ts.map +1 -0
  909. package/dist/schemas/process-tree.js +2 -0
  910. package/dist/schemas/process-tree.js.map +1 -0
  911. package/dist/schemas/process.d.ts +944 -0
  912. package/dist/schemas/process.d.ts.map +1 -0
  913. package/dist/schemas/process.js +429 -0
  914. package/dist/schemas/process.js.map +1 -0
  915. package/dist/schemas/resource.d.ts +223 -0
  916. package/dist/schemas/resource.d.ts.map +1 -0
  917. package/dist/schemas/resource.js +92 -0
  918. package/dist/schemas/resource.js.map +1 -0
  919. package/dist/schemas/store.d.ts +97 -0
  920. package/dist/schemas/store.d.ts.map +1 -0
  921. package/dist/schemas/store.js +2 -0
  922. package/dist/schemas/store.js.map +1 -0
  923. package/dist/schemas/task-supervision.d.ts +16 -0
  924. package/dist/schemas/task-supervision.d.ts.map +1 -0
  925. package/dist/schemas/task-supervision.js +10 -0
  926. package/dist/schemas/task-supervision.js.map +1 -0
  927. package/dist/schemas/tui-state.d.ts +777 -0
  928. package/dist/schemas/tui-state.d.ts.map +1 -0
  929. package/dist/schemas/tui-state.js +119 -0
  930. package/dist/schemas/tui-state.js.map +1 -0
  931. package/dist/schemas/worker-manager.d.ts +19 -0
  932. package/dist/schemas/worker-manager.d.ts.map +1 -0
  933. package/dist/schemas/worker-manager.js +2 -0
  934. package/dist/schemas/worker-manager.js.map +1 -0
  935. package/dist/services/cleanup.d.ts +78 -0
  936. package/dist/services/cleanup.d.ts.map +1 -0
  937. package/dist/services/cleanup.js +329 -0
  938. package/dist/services/cleanup.js.map +1 -0
  939. package/dist/services/health.d.ts +81 -0
  940. package/dist/services/health.d.ts.map +1 -0
  941. package/dist/services/health.js +435 -0
  942. package/dist/services/health.js.map +1 -0
  943. package/dist/services/index.d.ts +11 -0
  944. package/dist/services/index.d.ts.map +1 -0
  945. package/dist/services/index.js +10 -0
  946. package/dist/services/index.js.map +1 -0
  947. package/dist/services/lifecycle.d.ts +238 -0
  948. package/dist/services/lifecycle.d.ts.map +1 -0
  949. package/dist/services/lifecycle.js +1391 -0
  950. package/dist/services/lifecycle.js.map +1 -0
  951. package/dist/services/liveness-state.d.ts +95 -0
  952. package/dist/services/liveness-state.d.ts.map +1 -0
  953. package/dist/services/liveness-state.js +239 -0
  954. package/dist/services/liveness-state.js.map +1 -0
  955. package/dist/services/orphans.d.ts +72 -0
  956. package/dist/services/orphans.d.ts.map +1 -0
  957. package/dist/services/orphans.js +185 -0
  958. package/dist/services/orphans.js.map +1 -0
  959. package/dist/services/process-command.d.ts +25 -0
  960. package/dist/services/process-command.d.ts.map +1 -0
  961. package/dist/services/process-command.js +36 -0
  962. package/dist/services/process-command.js.map +1 -0
  963. package/dist/services/process-log-archive.d.ts +62 -0
  964. package/dist/services/process-log-archive.d.ts.map +1 -0
  965. package/dist/services/process-log-archive.js +150 -0
  966. package/dist/services/process-log-archive.js.map +1 -0
  967. package/dist/services/run-log-frames.d.ts +26 -0
  968. package/dist/services/run-log-frames.d.ts.map +1 -0
  969. package/dist/services/run-log-frames.js +45 -0
  970. package/dist/services/run-log-frames.js.map +1 -0
  971. package/dist/services/startup-warmup.d.ts +23 -0
  972. package/dist/services/startup-warmup.d.ts.map +1 -0
  973. package/dist/services/startup-warmup.js +21 -0
  974. package/dist/services/startup-warmup.js.map +1 -0
  975. package/dist/services/state-wait.d.ts +28 -0
  976. package/dist/services/state-wait.d.ts.map +1 -0
  977. package/dist/services/state-wait.js +57 -0
  978. package/dist/services/state-wait.js.map +1 -0
  979. package/dist/services/supervision-policy.d.ts +40 -0
  980. package/dist/services/supervision-policy.d.ts.map +1 -0
  981. package/dist/services/supervision-policy.js +48 -0
  982. package/dist/services/supervision-policy.js.map +1 -0
  983. package/dist/services/task-supervision.d.ts +14 -0
  984. package/dist/services/task-supervision.d.ts.map +1 -0
  985. package/dist/services/task-supervision.js +112 -0
  986. package/dist/services/task-supervision.js.map +1 -0
  987. package/dist/services/types/index.d.ts +74 -0
  988. package/dist/services/types/index.d.ts.map +1 -0
  989. package/dist/services/types/index.js +11 -0
  990. package/dist/services/types/index.js.map +1 -0
  991. package/dist/services/workers.d.ts +75 -0
  992. package/dist/services/workers.d.ts.map +1 -0
  993. package/dist/services/workers.js +212 -0
  994. package/dist/services/workers.js.map +1 -0
  995. package/dist/storage/workspaces.descriptor.d.ts +12 -0
  996. package/dist/storage/workspaces.descriptor.d.ts.map +1 -0
  997. package/dist/storage/workspaces.descriptor.js +33 -0
  998. package/dist/storage/workspaces.descriptor.js.map +1 -0
  999. package/dist/store/process-admission.d.ts +11 -0
  1000. package/dist/store/process-admission.d.ts.map +1 -0
  1001. package/dist/store/process-admission.js +46 -0
  1002. package/dist/store/process-admission.js.map +1 -0
  1003. package/dist/store/process-config.impl.consumer.d.ts +22 -0
  1004. package/dist/store/process-config.impl.consumer.d.ts.map +1 -0
  1005. package/dist/store/process-config.impl.consumer.js +84 -0
  1006. package/dist/store/process-config.impl.consumer.js.map +1 -0
  1007. package/dist/store/process-state.impl.consumer.d.ts +25 -0
  1008. package/dist/store/process-state.impl.consumer.d.ts.map +1 -0
  1009. package/dist/store/process-state.impl.consumer.js +140 -0
  1010. package/dist/store/process-state.impl.consumer.js.map +1 -0
  1011. package/dist/store/resource-state.impl.consumer.d.ts +9 -0
  1012. package/dist/store/resource-state.impl.consumer.d.ts.map +1 -0
  1013. package/dist/store/resource-state.impl.consumer.js +48 -0
  1014. package/dist/store/resource-state.impl.consumer.js.map +1 -0
  1015. package/dist/store.impl.consumer.d.ts +121 -0
  1016. package/dist/store.impl.consumer.d.ts.map +1 -0
  1017. package/dist/store.impl.consumer.js +436 -0
  1018. package/dist/store.impl.consumer.js.map +1 -0
  1019. package/dist/surface.d.ts +93 -0
  1020. package/dist/surface.d.ts.map +1 -0
  1021. package/dist/surface.js +153 -0
  1022. package/dist/surface.js.map +1 -0
  1023. package/dist/svelte/components/PMOverview.svelte +527 -0
  1024. package/dist/svelte/components/PMOverview.svelte.d.ts +12 -0
  1025. package/dist/svelte/components/PMOverview.svelte.d.ts.map +1 -0
  1026. package/dist/svelte/index.d.ts +4 -0
  1027. package/dist/svelte/index.d.ts.map +1 -0
  1028. package/dist/svelte/index.js +2 -0
  1029. package/dist/svelte/runtime.d.ts +33 -0
  1030. package/dist/svelte/runtime.d.ts.map +1 -0
  1031. package/dist/svelte/runtime.js +148 -0
  1032. package/dist/svelte/styles.css +2 -0
  1033. package/dist/tasks/completion.d.ts +6 -0
  1034. package/dist/tasks/completion.d.ts.map +1 -0
  1035. package/dist/tasks/completion.js +105 -0
  1036. package/dist/tasks/completion.js.map +1 -0
  1037. package/dist/tasks/index.d.ts +11 -0
  1038. package/dist/tasks/index.d.ts.map +1 -0
  1039. package/dist/tasks/index.js +11 -0
  1040. package/dist/tasks/index.js.map +1 -0
  1041. package/dist/tasks/launch.d.ts +196 -0
  1042. package/dist/tasks/launch.d.ts.map +1 -0
  1043. package/dist/tasks/launch.js +10 -0
  1044. package/dist/tasks/launch.js.map +1 -0
  1045. package/dist/tasks/run-task.d.ts +11 -0
  1046. package/dist/tasks/run-task.d.ts.map +1 -0
  1047. package/dist/tasks/run-task.js +144 -0
  1048. package/dist/tasks/run-task.js.map +1 -0
  1049. package/dist/tasks/schemas.d.ts +83 -0
  1050. package/dist/tasks/schemas.d.ts.map +1 -0
  1051. package/dist/tasks/schemas.js +67 -0
  1052. package/dist/tasks/schemas.js.map +1 -0
  1053. package/dist/testing/daemon.d.ts +64 -0
  1054. package/dist/testing/daemon.d.ts.map +1 -0
  1055. package/dist/testing/daemon.js +125 -0
  1056. package/dist/testing/daemon.js.map +1 -0
  1057. package/dist/tui/components/DaemonHealthCard.d.ts +22 -0
  1058. package/dist/tui/components/DaemonHealthCard.d.ts.map +1 -0
  1059. package/dist/tui/components/DaemonHealthCard.js +30 -0
  1060. package/dist/tui/components/DaemonHealthCard.js.map +1 -0
  1061. package/dist/tui/components/ErrorDetailsPanel.d.ts +16 -0
  1062. package/dist/tui/components/ErrorDetailsPanel.d.ts.map +1 -0
  1063. package/dist/tui/components/ErrorDetailsPanel.js +22 -0
  1064. package/dist/tui/components/ErrorDetailsPanel.js.map +1 -0
  1065. package/dist/tui/components/FilterBar.d.ts +21 -0
  1066. package/dist/tui/components/FilterBar.d.ts.map +1 -0
  1067. package/dist/tui/components/FilterBar.js +31 -0
  1068. package/dist/tui/components/FilterBar.js.map +1 -0
  1069. package/dist/tui/components/StatsBar.d.ts +17 -0
  1070. package/dist/tui/components/StatsBar.d.ts.map +1 -0
  1071. package/dist/tui/components/StatsBar.js +28 -0
  1072. package/dist/tui/components/StatsBar.js.map +1 -0
  1073. package/dist/tui/components/index.d.ts +5 -0
  1074. package/dist/tui/components/index.d.ts.map +1 -0
  1075. package/dist/tui/components/index.js +5 -0
  1076. package/dist/tui/components/index.js.map +1 -0
  1077. package/dist/tui/index.d.ts +7 -0
  1078. package/dist/tui/index.d.ts.map +1 -0
  1079. package/dist/tui/index.js +7 -0
  1080. package/dist/tui/index.js.map +1 -0
  1081. package/dist/tui/pm-dashboard.descriptor.d.ts +11 -0
  1082. package/dist/tui/pm-dashboard.descriptor.d.ts.map +1 -0
  1083. package/dist/tui/pm-dashboard.descriptor.js +26 -0
  1084. package/dist/tui/pm-dashboard.descriptor.js.map +1 -0
  1085. package/dist/tui/pm-dashboard.impl.consumer.d.ts +19 -0
  1086. package/dist/tui/pm-dashboard.impl.consumer.d.ts.map +1 -0
  1087. package/dist/tui/pm-dashboard.impl.consumer.js +839 -0
  1088. package/dist/tui/pm-dashboard.impl.consumer.js.map +1 -0
  1089. package/dist/tui/pm-open.descriptor.d.ts +10 -0
  1090. package/dist/tui/pm-open.descriptor.d.ts.map +1 -0
  1091. package/dist/tui/pm-open.descriptor.js +21 -0
  1092. package/dist/tui/pm-open.descriptor.js.map +1 -0
  1093. package/dist/tui/pm-open.impl.consumer.d.ts +9 -0
  1094. package/dist/tui/pm-open.impl.consumer.d.ts.map +1 -0
  1095. package/dist/tui/pm-open.impl.consumer.js +13 -0
  1096. package/dist/tui/pm-open.impl.consumer.js.map +1 -0
  1097. package/dist/tui/pm-processes.descriptor.d.ts +12 -0
  1098. package/dist/tui/pm-processes.descriptor.d.ts.map +1 -0
  1099. package/dist/tui/pm-processes.descriptor.js +30 -0
  1100. package/dist/tui/pm-processes.descriptor.js.map +1 -0
  1101. package/dist/tui/pm-processes.impl.consumer.d.ts +14 -0
  1102. package/dist/tui/pm-processes.impl.consumer.d.ts.map +1 -0
  1103. package/dist/tui/pm-processes.impl.consumer.js +214 -0
  1104. package/dist/tui/pm-processes.impl.consumer.js.map +1 -0
  1105. package/dist/tui/pm-state-keys.d.ts +316 -0
  1106. package/dist/tui/pm-state-keys.d.ts.map +1 -0
  1107. package/dist/tui/pm-state-keys.js +10 -0
  1108. package/dist/tui/pm-state-keys.js.map +1 -0
  1109. package/dist/tui/pm-status.descriptor.d.ts +11 -0
  1110. package/dist/tui/pm-status.descriptor.d.ts.map +1 -0
  1111. package/dist/tui/pm-status.descriptor.js +29 -0
  1112. package/dist/tui/pm-status.descriptor.js.map +1 -0
  1113. package/dist/tui/pm-status.impl.consumer.d.ts +11 -0
  1114. package/dist/tui/pm-status.impl.consumer.d.ts.map +1 -0
  1115. package/dist/tui/pm-status.impl.consumer.js +75 -0
  1116. package/dist/tui/pm-status.impl.consumer.js.map +1 -0
  1117. package/dist/tui/pm-tui.plugin.d.ts +13 -0
  1118. package/dist/tui/pm-tui.plugin.d.ts.map +1 -0
  1119. package/dist/tui/pm-tui.plugin.js +34 -0
  1120. package/dist/tui/pm-tui.plugin.js.map +1 -0
  1121. package/dist/utils/attempt.d.ts +31 -0
  1122. package/dist/utils/attempt.d.ts.map +1 -0
  1123. package/dist/utils/attempt.js +43 -0
  1124. package/dist/utils/attempt.js.map +1 -0
  1125. package/dist/utils/bounded-wait.d.ts +31 -0
  1126. package/dist/utils/bounded-wait.d.ts.map +1 -0
  1127. package/dist/utils/bounded-wait.js +35 -0
  1128. package/dist/utils/bounded-wait.js.map +1 -0
  1129. package/dist/utils/command-exists.d.ts +5 -0
  1130. package/dist/utils/command-exists.d.ts.map +1 -0
  1131. package/dist/utils/command-exists.js +8 -0
  1132. package/dist/utils/command-exists.js.map +1 -0
  1133. package/dist/utils/daemon-launch-lock.d.ts +143 -0
  1134. package/dist/utils/daemon-launch-lock.d.ts.map +1 -0
  1135. package/dist/utils/daemon-launch-lock.js +420 -0
  1136. package/dist/utils/daemon-launch-lock.js.map +1 -0
  1137. package/dist/utils/daemon-launch-recovery.d.ts +82 -0
  1138. package/dist/utils/daemon-launch-recovery.d.ts.map +1 -0
  1139. package/dist/utils/daemon-launch-recovery.js +173 -0
  1140. package/dist/utils/daemon-launch-recovery.js.map +1 -0
  1141. package/dist/utils/daemon-log-follower.d.ts +41 -0
  1142. package/dist/utils/daemon-log-follower.d.ts.map +1 -0
  1143. package/dist/utils/daemon-log-follower.js +124 -0
  1144. package/dist/utils/daemon-log-follower.js.map +1 -0
  1145. package/dist/utils/daemon-pid.d.ts +42 -0
  1146. package/dist/utils/daemon-pid.d.ts.map +1 -0
  1147. package/dist/utils/daemon-pid.js +80 -0
  1148. package/dist/utils/daemon-pid.js.map +1 -0
  1149. package/dist/utils/daemon-reachability.d.ts +87 -0
  1150. package/dist/utils/daemon-reachability.d.ts.map +1 -0
  1151. package/dist/utils/daemon-reachability.js +131 -0
  1152. package/dist/utils/daemon-reachability.js.map +1 -0
  1153. package/dist/utils/daemon-stdio-timestamps.d.ts +24 -0
  1154. package/dist/utils/daemon-stdio-timestamps.d.ts.map +1 -0
  1155. package/dist/utils/daemon-stdio-timestamps.js +59 -0
  1156. package/dist/utils/daemon-stdio-timestamps.js.map +1 -0
  1157. package/dist/utils/daemon-stop.d.ts +66 -0
  1158. package/dist/utils/daemon-stop.d.ts.map +1 -0
  1159. package/dist/utils/daemon-stop.js +100 -0
  1160. package/dist/utils/daemon-stop.js.map +1 -0
  1161. package/dist/utils/errno-failure.d.ts +16 -0
  1162. package/dist/utils/errno-failure.d.ts.map +1 -0
  1163. package/dist/utils/errno-failure.js +15 -0
  1164. package/dist/utils/errno-failure.js.map +1 -0
  1165. package/dist/utils/exec.d.ts +27 -0
  1166. package/dist/utils/exec.d.ts.map +1 -0
  1167. package/dist/utils/exec.js +36 -0
  1168. package/dist/utils/exec.js.map +1 -0
  1169. package/dist/utils/index.d.ts +5 -0
  1170. package/dist/utils/index.d.ts.map +1 -0
  1171. package/dist/utils/index.js +5 -0
  1172. package/dist/utils/index.js.map +1 -0
  1173. package/dist/utils/liveness.d.ts +100 -0
  1174. package/dist/utils/liveness.d.ts.map +1 -0
  1175. package/dist/utils/liveness.js +225 -0
  1176. package/dist/utils/liveness.js.map +1 -0
  1177. package/dist/utils/logging.d.ts +60 -0
  1178. package/dist/utils/logging.d.ts.map +1 -0
  1179. package/dist/utils/logging.js +169 -0
  1180. package/dist/utils/logging.js.map +1 -0
  1181. package/dist/utils/path-under.d.ts +15 -0
  1182. package/dist/utils/path-under.d.ts.map +1 -0
  1183. package/dist/utils/path-under.js +16 -0
  1184. package/dist/utils/path-under.js.map +1 -0
  1185. package/dist/utils/port-ownership.d.ts +160 -0
  1186. package/dist/utils/port-ownership.d.ts.map +1 -0
  1187. package/dist/utils/port-ownership.js +176 -0
  1188. package/dist/utils/port-ownership.js.map +1 -0
  1189. package/dist/utils/ports.d.ts +43 -0
  1190. package/dist/utils/ports.d.ts.map +1 -0
  1191. package/dist/utils/ports.js +200 -0
  1192. package/dist/utils/ports.js.map +1 -0
  1193. package/dist/utils/process-tree.d.ts +33 -0
  1194. package/dist/utils/process-tree.d.ts.map +1 -0
  1195. package/dist/utils/process-tree.js +197 -0
  1196. package/dist/utils/process-tree.js.map +1 -0
  1197. package/dist/utils/semaphore.d.ts +16 -0
  1198. package/dist/utils/semaphore.d.ts.map +1 -0
  1199. package/dist/utils/semaphore.js +30 -0
  1200. package/dist/utils/semaphore.js.map +1 -0
  1201. package/dist/utils/socket-inode.impl.consumer.d.ts +26 -0
  1202. package/dist/utils/socket-inode.impl.consumer.d.ts.map +1 -0
  1203. package/dist/utils/socket-inode.impl.consumer.js +30 -0
  1204. package/dist/utils/socket-inode.impl.consumer.js.map +1 -0
  1205. package/dist/utils/socket-paths.d.ts +121 -0
  1206. package/dist/utils/socket-paths.d.ts.map +1 -0
  1207. package/dist/utils/socket-paths.js +167 -0
  1208. package/dist/utils/socket-paths.js.map +1 -0
  1209. package/dist/utils/socket.d.ts +65 -0
  1210. package/dist/utils/socket.d.ts.map +1 -0
  1211. package/dist/utils/socket.js +87 -0
  1212. package/dist/utils/socket.js.map +1 -0
  1213. package/dist/utils/version.d.ts +40 -0
  1214. package/dist/utils/version.d.ts.map +1 -0
  1215. package/dist/utils/version.js +65 -0
  1216. package/dist/utils/version.js.map +1 -0
  1217. package/dist/utils/vibes-home.d.ts +34 -0
  1218. package/dist/utils/vibes-home.d.ts.map +1 -0
  1219. package/dist/utils/vibes-home.js +27 -0
  1220. package/dist/utils/vibes-home.js.map +1 -0
  1221. package/dist/workspace-runtime.d.ts +38 -0
  1222. package/dist/workspace-runtime.d.ts.map +1 -0
  1223. package/dist/workspace-runtime.js +176 -0
  1224. package/dist/workspace-runtime.js.map +1 -0
  1225. package/package.json +465 -4
@@ -0,0 +1,160 @@
1
+ /**
2
+ * WHO OWNS A PORT — the proof PM requires before it signals a port holder.
3
+ *
4
+ * MEASURED DEFECT (2026-08-30/31, this workstation). A scratch PM daemon booted
5
+ * under a throwaway `VIBES_HOME` by `bun run smoke:shipping` found machine-global
6
+ * port 3000 held by ANOTHER LANE's `vibes dev mcp serve --mode http --port 3000`
7
+ * and SIGKILLed it. Three foreign MCP hosts died that way in one day (pids 39452,
8
+ * 42306, 80610); PM's `autoRestart` put a body back within ~80 s, which is exactly
9
+ * why the damage read as harmless. Running the shipping harness on a shared
10
+ * machine took out other people's MCP hosts.
11
+ *
12
+ * THE BUG WAS NEVER "the port was busy". It was that a command line which LOOKS
13
+ * like ours was accepted as proof that it IS ours (`isCommandLineMatch`), and —
14
+ * worse — that a holder matching NO config at all was killed outright as a
15
+ * "foreign process on our port". Two lanes on one machine run byte-identical
16
+ * argv, so similarity can never be ownership.
17
+ *
18
+ * THE RULE. A holder may be signalled only when PM can point at the record that
19
+ * says PM started it:
20
+ * 1. `tracked-pid` — the pid this daemon's store recorded for this process
21
+ * id, or a descendant of it (`PortConflict.isOurs`);
22
+ * 2. `daemon-descendant`— a descendant of this daemon process;
23
+ * 3. `same-scope-signature` — a signature match AND the same SCOPE: the same
24
+ * working directory as the config being started AND
25
+ * the same `VIBES_HOME`. This is the leftover-from-a-
26
+ * previous-run case the old code was written for, and it
27
+ * stays supported: nothing is taken away.
28
+ * Anything else is FOREIGN. Foreign holders are refused LOUDLY by pid with a
29
+ * remedy — never signalled, never adopted.
30
+ *
31
+ * WHAT "SCOPE" MEANS, AND WHY IT IS TWO FACTS.
32
+ * - cwd (`utils/process-tree.ts#resolveProcessCwd`) — PM sets `config.cwd` to
33
+ * the workspace a managed process belongs to, so it discriminates two lanes
34
+ * working in different checkouts.
35
+ * - `VIBES_HOME` (`utils/process-tree.ts#resolveProcessScopeEnv`) — the home a
36
+ * vibes process's state, sessions and daemons actually belong to. This is
37
+ * the STRONGER fact and it is what the original incident turned on: a
38
+ * scratch daemon booted under a throwaway `VIBES_HOME` killed a host in the
39
+ * real home. cwd alone cannot see that difference — `vibes dev mcp start`
40
+ * run from the developer root under a scratch home has the SAME cwd as the
41
+ * real host, and (since the port is now derived from the shared root) the
42
+ * same derived port too, so contention there is guaranteed rather than
43
+ * accidental.
44
+ * An earlier version of this file asserted that a foreign process's environment
45
+ * is unreadable on macOS. That was measured FALSE on 2026-08-31: `ps -Eww -p
46
+ * <pid>` prints a same-uid process's environment (verified against live pids
47
+ * 4224 and 1194). The weaker discriminator was being used while the stronger
48
+ * one was available, so `same-scope-signature` could still authorize a SIGKILL
49
+ * of a stranger. Both facts are now required.
50
+ *
51
+ * UNREADABLE IS UNPROVEN. A cwd or an environment we cannot read is foreign:
52
+ * refusing costs a loud error, guessing costs someone else's running process.
53
+ * This only holds because `resolveProcessScopeEnv` distinguishes "read the
54
+ * environment, it names no VIBES_HOME" (an object) from "never got the
55
+ * environment" (`null`). Some processes DO withhold it while `ps` still exits 0
56
+ * — pid 1, and anything exec'd from a SIP-protected binary — and if that
57
+ * collapsed into `{vibesHome: null}` then `canonicalVibesHome` below would
58
+ * normalize the stranger into `<userHome>/.vibes` and this conjunct would
59
+ * silently degrade to the cwd-only rule it exists to replace. Measured, not
60
+ * reasoned: `ps -Eww -p 1 -o command=` → `/sbin/launchd`, exit 0, no env.
61
+ */
62
+ import type { HostServicesRuntime } from './process-tree.ts';
63
+ import { type PMFileSystem } from '../helpers/runtime-files.ts';
64
+ import { type ProcessScopeEnv } from './process-tree.ts';
65
+ export type OwnershipBasis = 'tracked-pid' | 'daemon-descendant' | 'same-scope-signature';
66
+ export type PortOwnership = {
67
+ owned: true;
68
+ basis: OwnershipBasis;
69
+ holderCwd: string | null;
70
+ } | {
71
+ owned: false;
72
+ reason: 'foreign-scope' | 'unproven-scope' | 'no-signature';
73
+ holderCwd: string | null;
74
+ /** Which scope fact failed, for the refusal message. */
75
+ mismatch?: 'cwd' | 'vibes-home' | 'workspace-path';
76
+ };
77
+ /**
78
+ * The scope THIS daemon belongs to, as its runtime declares it (framework-M8):
79
+ * the admitted workspace root it supervises (the launch cwd and the
80
+ * `VIBES_WORKSPACE_PATH` its children's custody carries), its vibes home
81
+ * (`getPathRoots(runtime).vibesHome`), and the user home an unset `VIBES_HOME`
82
+ * resolves against. Never read from this process's environment or cwd.
83
+ */
84
+ export interface DaemonScope {
85
+ workspaceRoot: string;
86
+ vibesHome: string;
87
+ userHome: string;
88
+ }
89
+ export interface ProvePortOwnershipInput {
90
+ /** The runtime whose host process service observes the holder. */
91
+ runtime: HostServicesRuntime;
92
+ /** Pid holding the port. */
93
+ pid: number;
94
+ /** Already-established ownership from the caller's own state (store pid / descendants). */
95
+ isOurs: boolean;
96
+ /** Does the holder's command line look like the config we are about to start? */
97
+ signatureMatches: boolean;
98
+ /**
99
+ * `config.cwd` — the workspace domain this daemon owns for that process.
100
+ * A config that declares no cwd is launched in the daemon's admitted
101
+ * workspace root (launch custody), which `daemonScope` supplies.
102
+ */
103
+ configCwd?: string;
104
+ /**
105
+ * This daemon's declared scope. Absent, nothing about this daemon is known,
106
+ * so no holder can be proved ours by scope (`unproven-scope`).
107
+ */
108
+ daemonScope?: DaemonScope;
109
+ /** Pid of this PM daemon. Defaults to the supplied runtime host identity. */
110
+ daemonPid?: number;
111
+ /**
112
+ * The scope env a child of THIS daemon carries. Defaults to the daemon's
113
+ * declared scope (`daemonScope.vibesHome`, `daemonScope.workspaceRoot`).
114
+ */
115
+ ourScopeEnv?: ProcessScopeEnv;
116
+ /** Seams, for tests. */
117
+ resolveCwd?: (pid: number) => Promise<string | null>;
118
+ resolveScopeEnv?: (pid: number) => Promise<ProcessScopeEnv | null>;
119
+ isDescendant?: (childPid: number, parentPid: number) => Promise<boolean>;
120
+ }
121
+ /**
122
+ * An unset `VIBES_HOME` is not "unknown" — it resolves to `<userHome>/.vibes`.
123
+ * Normalizing both sides that way stops "we set it explicitly, they inherited
124
+ * the default" from reading as a foreign scope and silently withdrawing the
125
+ * leftover-reclaim capability. The user home is the daemon's declared one;
126
+ * without it an unset value cannot be resolved (null).
127
+ */
128
+ export declare function canonicalVibesHome(files: PMFileSystem, value: string | null | undefined, userHome: string | undefined): Promise<string | null>;
129
+ /**
130
+ * Resolve symlinks so `/var/folders/...` and `/private/var/folders/...` compare
131
+ * equal, through the handed filesystem's `realpath`. A path that does not exist
132
+ * is compared as written; a link loop is `pm-symlink-loop`; any other
133
+ * resolution failure is real and propagates.
134
+ */
135
+ export declare function canonicalizePathOn(files: PMFileSystem, path: string | null | undefined): Promise<string | null>;
136
+ export declare function provePortOwnership(input: ProvePortOwnershipInput): Promise<PortOwnership>;
137
+ export interface ForeignHolderRefusalInput {
138
+ port: number;
139
+ pid: number;
140
+ command: string | null;
141
+ holderCwd: string | null;
142
+ ourCwd?: string;
143
+ /** Which scope fact failed, when the caller knows. */
144
+ mismatch?: 'cwd' | 'vibes-home' | 'workspace-path';
145
+ /**
146
+ * Why the proof failed. `unproven-scope` and `foreign-scope` are DIFFERENT
147
+ * facts — "we read it and it is someone else's" vs "we could not read it at
148
+ * all" — and an operator reading the log needs to know which, because only
149
+ * the second one might be fixable by giving PM more visibility.
150
+ */
151
+ reason?: 'foreign-scope' | 'unproven-scope' | 'no-signature';
152
+ /** How to make progress without touching the stranger. */
153
+ alternatePortHint?: string;
154
+ }
155
+ /**
156
+ * The refusal a caller prints or throws. It NAMES the pid, what it is, where it
157
+ * lives, and two remedies that do not involve PM signalling a stranger.
158
+ */
159
+ export declare function formatForeignHolderRefusal(input: ForeignHolderRefusalInput): string;
160
+ //# sourceMappingURL=port-ownership.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"port-ownership.d.ts","sourceRoot":"","sources":["../../src/utils/port-ownership.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,176 @@
1
+ /**
2
+ * WHO OWNS A PORT — the proof PM requires before it signals a port holder.
3
+ *
4
+ * MEASURED DEFECT (2026-08-30/31, this workstation). A scratch PM daemon booted
5
+ * under a throwaway `VIBES_HOME` by `bun run smoke:shipping` found machine-global
6
+ * port 3000 held by ANOTHER LANE's `vibes dev mcp serve --mode http --port 3000`
7
+ * and SIGKILLed it. Three foreign MCP hosts died that way in one day (pids 39452,
8
+ * 42306, 80610); PM's `autoRestart` put a body back within ~80 s, which is exactly
9
+ * why the damage read as harmless. Running the shipping harness on a shared
10
+ * machine took out other people's MCP hosts.
11
+ *
12
+ * THE BUG WAS NEVER "the port was busy". It was that a command line which LOOKS
13
+ * like ours was accepted as proof that it IS ours (`isCommandLineMatch`), and —
14
+ * worse — that a holder matching NO config at all was killed outright as a
15
+ * "foreign process on our port". Two lanes on one machine run byte-identical
16
+ * argv, so similarity can never be ownership.
17
+ *
18
+ * THE RULE. A holder may be signalled only when PM can point at the record that
19
+ * says PM started it:
20
+ * 1. `tracked-pid` — the pid this daemon's store recorded for this process
21
+ * id, or a descendant of it (`PortConflict.isOurs`);
22
+ * 2. `daemon-descendant`— a descendant of this daemon process;
23
+ * 3. `same-scope-signature` — a signature match AND the same SCOPE: the same
24
+ * working directory as the config being started AND
25
+ * the same `VIBES_HOME`. This is the leftover-from-a-
26
+ * previous-run case the old code was written for, and it
27
+ * stays supported: nothing is taken away.
28
+ * Anything else is FOREIGN. Foreign holders are refused LOUDLY by pid with a
29
+ * remedy — never signalled, never adopted.
30
+ *
31
+ * WHAT "SCOPE" MEANS, AND WHY IT IS TWO FACTS.
32
+ * - cwd (`utils/process-tree.ts#resolveProcessCwd`) — PM sets `config.cwd` to
33
+ * the workspace a managed process belongs to, so it discriminates two lanes
34
+ * working in different checkouts.
35
+ * - `VIBES_HOME` (`utils/process-tree.ts#resolveProcessScopeEnv`) — the home a
36
+ * vibes process's state, sessions and daemons actually belong to. This is
37
+ * the STRONGER fact and it is what the original incident turned on: a
38
+ * scratch daemon booted under a throwaway `VIBES_HOME` killed a host in the
39
+ * real home. cwd alone cannot see that difference — `vibes dev mcp start`
40
+ * run from the developer root under a scratch home has the SAME cwd as the
41
+ * real host, and (since the port is now derived from the shared root) the
42
+ * same derived port too, so contention there is guaranteed rather than
43
+ * accidental.
44
+ * An earlier version of this file asserted that a foreign process's environment
45
+ * is unreadable on macOS. That was measured FALSE on 2026-08-31: `ps -Eww -p
46
+ * <pid>` prints a same-uid process's environment (verified against live pids
47
+ * 4224 and 1194). The weaker discriminator was being used while the stronger
48
+ * one was available, so `same-scope-signature` could still authorize a SIGKILL
49
+ * of a stranger. Both facts are now required.
50
+ *
51
+ * UNREADABLE IS UNPROVEN. A cwd or an environment we cannot read is foreign:
52
+ * refusing costs a loud error, guessing costs someone else's running process.
53
+ * This only holds because `resolveProcessScopeEnv` distinguishes "read the
54
+ * environment, it names no VIBES_HOME" (an object) from "never got the
55
+ * environment" (`null`). Some processes DO withhold it while `ps` still exits 0
56
+ * — pid 1, and anything exec'd from a SIP-protected binary — and if that
57
+ * collapsed into `{vibesHome: null}` then `canonicalVibesHome` below would
58
+ * normalize the stranger into `<userHome>/.vibes` and this conjunct would
59
+ * silently degrade to the cwd-only rule it exists to replace. Measured, not
60
+ * reasoned: `ps -Eww -p 1 -o command=` → `/sbin/launchd`, exit 0, no env.
61
+ */
62
+ import { CapabilityError, getRuntimeHostIdentity } from '@vibesdotdev/kernel';
63
+ import { DEFAULT_VIBES_HOME_DIRNAME } from '@vibesdotdev/paths';
64
+ import { pmFileSystem, resolveExistingPrefix } from "../helpers/runtime-files.js";
65
+ import { isDescendantOf, resolveProcessCwd, resolveProcessScopeEnv } from "./process-tree.js";
66
+ /**
67
+ * An unset `VIBES_HOME` is not "unknown" — it resolves to `<userHome>/.vibes`.
68
+ * Normalizing both sides that way stops "we set it explicitly, they inherited
69
+ * the default" from reading as a foreign scope and silently withdrawing the
70
+ * leftover-reclaim capability. The user home is the daemon's declared one;
71
+ * without it an unset value cannot be resolved (null).
72
+ */
73
+ export async function canonicalVibesHome(files, value, userHome) {
74
+ const explicit = value?.trim();
75
+ if (explicit && explicit.length > 0)
76
+ return canonicalizePathOn(files, explicit);
77
+ return userHome ? canonicalizePathOn(files, files.join(userHome, DEFAULT_VIBES_HOME_DIRNAME)) : null;
78
+ }
79
+ /**
80
+ * Resolve symlinks so `/var/folders/...` and `/private/var/folders/...` compare
81
+ * equal, through the handed filesystem's `realpath`. A path that does not exist
82
+ * is compared as written; a link loop is `pm-symlink-loop`; any other
83
+ * resolution failure is real and propagates.
84
+ */
85
+ export async function canonicalizePathOn(files, path) {
86
+ if (!path)
87
+ return null;
88
+ const { resolved, absent } = await resolveExistingPrefix(files, path);
89
+ return absent.length > 0 ? path : resolved;
90
+ }
91
+ export async function provePortOwnership(input) {
92
+ const resolveCwd = input.resolveCwd ?? ((pid) => resolveProcessCwd(input.runtime, pid));
93
+ const isDescendant = input.isDescendant ?? ((child, parent) => isDescendantOf(input.runtime, child, parent));
94
+ if (input.isOurs)
95
+ return { owned: true, basis: 'tracked-pid', holderCwd: null };
96
+ const daemonPid = input.daemonPid ?? (await getRuntimeHostIdentity(input.runtime)).currentPid();
97
+ if (input.daemonPid === undefined && (!Number.isSafeInteger(daemonPid) || daemonPid <= 0)) {
98
+ throw new CapabilityError('The selected host supplied an invalid process identity.', 'INVALID_INPUT', {
99
+ reason: 'pm-host-pid-invalid', retryable: false
100
+ });
101
+ }
102
+ // A process in our own tree is ours by construction: we spawned it.
103
+ if (input.pid !== daemonPid && (await isDescendant(input.pid, daemonPid))) {
104
+ return { owned: true, basis: 'daemon-descendant', holderCwd: null };
105
+ }
106
+ const holderCwd = await resolveCwd(input.pid);
107
+ if (!input.signatureMatches) {
108
+ return { owned: false, reason: 'no-signature', holderCwd };
109
+ }
110
+ const files = await pmFileSystem(input.runtime);
111
+ const ourScope = await canonicalizePathOn(files, input.configCwd ?? input.daemonScope?.workspaceRoot);
112
+ const theirScope = await canonicalizePathOn(files, holderCwd);
113
+ if (!ourScope || !theirScope) {
114
+ return { owned: false, reason: 'unproven-scope', holderCwd, mismatch: 'cwd' };
115
+ }
116
+ if (ourScope !== theirScope) {
117
+ return { owned: false, reason: 'foreign-scope', holderCwd, mismatch: 'cwd' };
118
+ }
119
+ // Same cwd is NOT enough: a scratch-home process invoked from this very
120
+ // directory has the same cwd and (now) the same derived port. VIBES_HOME is
121
+ // the scope a vibes process's state actually belongs to, and it is readable.
122
+ const resolveScopeEnv = input.resolveScopeEnv ?? ((pid) => resolveProcessScopeEnv(input.runtime, pid));
123
+ const theirEnv = await resolveScopeEnv(input.pid);
124
+ if (!theirEnv) {
125
+ return { owned: false, reason: 'unproven-scope', holderCwd, mismatch: 'vibes-home' };
126
+ }
127
+ const ourEnv = input.ourScopeEnv ??
128
+ (input.daemonScope
129
+ ? { vibesHome: input.daemonScope.vibesHome, workspacePath: input.daemonScope.workspaceRoot }
130
+ : null);
131
+ const userHome = input.daemonScope?.userHome;
132
+ const ourHome = ourEnv ? await canonicalVibesHome(files, ourEnv.vibesHome, userHome) : null;
133
+ const theirHome = await canonicalVibesHome(files, theirEnv.vibesHome, userHome);
134
+ if (!ourEnv || ourHome === null || theirHome === null) {
135
+ return { owned: false, reason: 'unproven-scope', holderCwd, mismatch: 'vibes-home' };
136
+ }
137
+ if (ourHome !== theirHome) {
138
+ return { owned: false, reason: 'foreign-scope', holderCwd, mismatch: 'vibes-home' };
139
+ }
140
+ // Only compared when BOTH sides declare one: an undeclared workspace path is
141
+ // absence of evidence, and cwd + home already carried the decision.
142
+ if (ourEnv.workspacePath && theirEnv.workspacePath) {
143
+ if ((await canonicalizePathOn(files, ourEnv.workspacePath)) !== (await canonicalizePathOn(files, theirEnv.workspacePath))) {
144
+ return { owned: false, reason: 'foreign-scope', holderCwd, mismatch: 'workspace-path' };
145
+ }
146
+ }
147
+ return { owned: true, basis: 'same-scope-signature', holderCwd };
148
+ }
149
+ const MISMATCH_TEXT = {
150
+ cwd: 'its working directory is not the one this daemon owns',
151
+ 'vibes-home': 'it belongs to a different VIBES_HOME',
152
+ 'workspace-path': 'it belongs to a different VIBES_WORKSPACE_PATH'
153
+ };
154
+ const UNPROVEN_TEXT = {
155
+ cwd: 'its working directory could not be read, so it cannot be proved ours',
156
+ 'vibes-home': 'its environment could not be read, so its VIBES_HOME cannot be proved ours',
157
+ 'workspace-path': 'its environment could not be read, so its workspace cannot be proved ours'
158
+ };
159
+ /**
160
+ * The refusal a caller prints or throws. It NAMES the pid, what it is, where it
161
+ * lives, and two remedies that do not involve PM signalling a stranger.
162
+ */
163
+ export function formatForeignHolderRefusal(input) {
164
+ const what = input.command ? ` (${input.command})` : '';
165
+ const where = input.holderCwd ? ` running in ${input.holderCwd}` : ' (working directory unreadable)';
166
+ const ours = input.ourCwd ? ` This daemon owns ${input.ourCwd}.` : '';
167
+ const why = input.mismatch
168
+ ? ` (${(input.reason === 'unproven-scope' ? UNPROVEN_TEXT : MISMATCH_TEXT)[input.mismatch]})`
169
+ : '';
170
+ const alternate = input.alternatePortHint ??
171
+ `start this process on a different port (its port is workspace-scoped; pass an explicit --port to override)`;
172
+ return (`Port ${input.port} is held by PID ${input.pid}${what}${where}, which this PM daemon did not start${why}.${ours} ` +
173
+ `Refusing to signal a process we do not own. ` +
174
+ `Remedy: ${alternate}, or stop the holder yourself: kill ${input.pid}.`);
175
+ }
176
+ //# sourceMappingURL=port-ownership.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"port-ownership.js","sourceRoot":"","sources":["../../src/utils/port-ownership.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import type { HostServicesRuntime } from './process-tree.ts';
2
+ import type { ProcessConfig } from '../schemas/process.ts';
3
+ import { type LaunchPreparationImplementation } from '../launch-preparation.ts';
4
+ export declare function extractPortFromEndpoint(endpoint: string): number | null;
5
+ /**
6
+ * Resolve the launch-preparation implementation selected for a config, the
7
+ * same way `prepareProcessLaunch` selects one. Returns undefined when the
8
+ * config declares no preparation or the host composed no provider; the
9
+ * generic command-line match then applies. A provider that fails validation
10
+ * is treated as absent here: launch itself refuses `pm-launch-preparation-invalid`
11
+ * before spawn, and identity matching must not branch on it.
12
+ */
13
+ export declare function resolveLaunchIdentity(runtime: HostServicesRuntime, config: ProcessConfig): Promise<{
14
+ matchedBy: string;
15
+ implementation: LaunchPreparationImplementation;
16
+ } | undefined>;
17
+ export declare function extractMonitoredPorts(runtime: HostServicesRuntime, config: ProcessConfig): Promise<number[]>;
18
+ export declare function findProcessOnPort(runtime: HostServicesRuntime, port: number): Promise<number | null>;
19
+ export declare function isCommandLineMatch(cmd: string | null, config: ProcessConfig): boolean;
20
+ export interface ProcessLineageEntry {
21
+ pid: number;
22
+ command: string | null;
23
+ }
24
+ export declare function selectCommandLineageKillPid(lineage: ProcessLineageEntry[], config: ProcessConfig, fallbackPid: number): number;
25
+ export interface PortConflict {
26
+ port: number;
27
+ pid: number;
28
+ killPid: number;
29
+ command: string | null;
30
+ type: 'http' | 'tcp' | 'forward' | 'orphan';
31
+ isOurs: boolean;
32
+ /** The id of the launch-preparation descriptor whose identity hook matched; absent for generic command-line matches. */
33
+ matchedBy?: string;
34
+ }
35
+ /**
36
+ * Positive signature evidence only; ownership is proved separately. The
37
+ * selected launch-preparation provider owns process identity when it supplies
38
+ * `matchesProcessCommand`; without that hook the generic command-line match
39
+ * decides.
40
+ */
41
+ export declare function matchesCommandSignature(runtime: HostServicesRuntime, command: string | null, config: ProcessConfig, port?: number): Promise<boolean>;
42
+ export declare function findPortConflicts(runtime: HostServicesRuntime, config: ProcessConfig, existingPid: number | null): Promise<PortConflict[]>;
43
+ //# sourceMappingURL=ports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../../src/utils/ports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAmE,KAAK,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAGjJ,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQvE;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAC1C,OAAO,EAAE,mBAAmB,EAC5B,MAAM,EAAE,aAAa,GACnB,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,+BAA+B,CAAA;CAAE,GAAG,SAAS,CAAC,CAc7F;AAgBD,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA6BlH;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAE1G;AAcD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CA0BrF;AAED,MAAM,WAAW,mBAAmB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAsBD,wBAAgB,2BAA2B,CAC1C,OAAO,EAAE,mBAAmB,EAAE,EAC9B,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,GACjB,MAAM,CAQR;AAED,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC5C,MAAM,EAAE,OAAO,CAAC;IAChB,wHAAwH;IACxH,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC5C,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,MAAM,EAAE,aAAa,EACrB,IAAI,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED,wBAAsB,iBAAiB,CACtC,OAAO,EAAE,mBAAmB,EAC5B,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,GAAG,IAAI,GACxB,OAAO,CAAC,YAAY,EAAE,CAAC,CAkDzB"}
@@ -0,0 +1,200 @@
1
+ import { getRuntimeProcessService } from '@vibesdotdev/kernel/process';
2
+ import { LaunchPreparationImplementationSchema, launchPreparationRequest } from "../launch-preparation.js";
3
+ import { getDescendantPids, getProcessCommand } from "./process-tree.js";
4
+ export function extractPortFromEndpoint(endpoint) {
5
+ // An endpoint that is not a URL names no port (a typed answer, no catch).
6
+ if (!URL.canParse(endpoint))
7
+ return null;
8
+ const url = new URL(endpoint);
9
+ if (url.port) {
10
+ return parseInt(url.port, 10);
11
+ }
12
+ return url.protocol === 'https:' ? 443 : 80;
13
+ }
14
+ /**
15
+ * Resolve the launch-preparation implementation selected for a config, the
16
+ * same way `prepareProcessLaunch` selects one. Returns undefined when the
17
+ * config declares no preparation or the host composed no provider; the
18
+ * generic command-line match then applies. A provider that fails validation
19
+ * is treated as absent here: launch itself refuses `pm-launch-preparation-invalid`
20
+ * before spawn, and identity matching must not branch on it.
21
+ */
22
+ export async function resolveLaunchIdentity(runtime, config) {
23
+ const request = launchPreparationRequest(config);
24
+ if (!request)
25
+ return undefined;
26
+ const kind = 'pm/launch-preparation';
27
+ if (!runtime.hasKind(kind) ||
28
+ !runtime.query(kind).withId(request.adapter).enabled().descriptors().length) {
29
+ return undefined;
30
+ }
31
+ const selected = await runtime.query(kind).withId(request.adapter).enabled().resolve();
32
+ const implementation = LaunchPreparationImplementationSchema.safeParse(selected);
33
+ if (!implementation.success)
34
+ return undefined;
35
+ const { monitoredPorts, matchesProcessCommand } = implementation.data;
36
+ if (!monitoredPorts && !matchesProcessCommand)
37
+ return undefined;
38
+ return { matchedBy: request.adapter, implementation: implementation.data };
39
+ }
40
+ /** Ports a resolved launch-preparation provider monitors, if it supplies the hook. */
41
+ async function providerMonitoredPortsFor(resolved, config) {
42
+ return resolved.implementation.monitoredPorts?.(config) ?? [];
43
+ }
44
+ /** Ports a config's selected launch-preparation provider monitors, if any. */
45
+ async function providerMonitoredPorts(runtime, config) {
46
+ const resolved = await resolveLaunchIdentity(runtime, config);
47
+ return resolved ? providerMonitoredPortsFor(resolved, config) : [];
48
+ }
49
+ export async function extractMonitoredPorts(runtime, config) {
50
+ const ports = [];
51
+ const healthPortIsManaged = config.healthCheck?.portOwnership !== 'external';
52
+ // HTTP health check port
53
+ if (healthPortIsManaged &&
54
+ config.healthCheck?.type === 'http' &&
55
+ config.healthCheck.endpoint) {
56
+ const port = extractPortFromEndpoint(config.healthCheck.endpoint);
57
+ if (port)
58
+ ports.push(port);
59
+ }
60
+ // TCP health check port
61
+ if (healthPortIsManaged && config.healthCheck?.type === 'tcp' && config.healthCheck.port) {
62
+ ports.push(config.healthCheck.port);
63
+ }
64
+ // Ports the selected launch-preparation provider owns (e.g. a forwarded
65
+ // tunnel's local listeners); a provider that supplies no hook adds none.
66
+ ports.push(...await providerMonitoredPorts(runtime, config));
67
+ // Explicit orphan ports
68
+ if (config.orphanPorts) {
69
+ ports.push(...config.orphanPorts);
70
+ }
71
+ return [...new Set(ports)];
72
+ }
73
+ export async function findProcessOnPort(runtime, port) {
74
+ return (await getRuntimeProcessService(runtime)).listeningPid(port);
75
+ }
76
+ const LAUNCHER_COMMANDS = new Set([
77
+ 'bun',
78
+ 'bunx',
79
+ 'node',
80
+ 'deno',
81
+ 'python',
82
+ 'python3',
83
+ 'bash',
84
+ 'sh',
85
+ 'zsh'
86
+ ]);
87
+ const WRAPPER_ARGS = new Set(['run', '--bun', '--hot', '--watch']);
88
+ export function isCommandLineMatch(cmd, config) {
89
+ if (!cmd)
90
+ return false;
91
+ if (!config.args || config.args.length === 0)
92
+ return false;
93
+ const candidates = config.args
94
+ .filter((t) => !t.startsWith('-') && t.length >= 3)
95
+ .filter((t) => !WRAPPER_ARGS.has(t));
96
+ if (candidates.length === 0)
97
+ return false;
98
+ // When the command matches directly (e.g. a tunnel binary), keep strict matching.
99
+ if (cmd.includes(config.command)) {
100
+ const minMatches = Math.min(4, candidates.length);
101
+ const matches = candidates.reduce((count, token) => (cmd.includes(token) ? count + 1 : count), 0);
102
+ return matches >= minMatches;
103
+ }
104
+ // For launcher commands (bun/node/etc), the listener is often a child (e.g. bun -> node -> vite).
105
+ // Allow matching against the meaningful args even if the launcher itself isn't in the command line.
106
+ if (!LAUNCHER_COMMANDS.has(config.command))
107
+ return false;
108
+ const minMatches = Math.min(2, candidates.length);
109
+ const matches = candidates.reduce((count, token) => (cmd.includes(token) ? count + 1 : count), 0);
110
+ return matches >= minMatches;
111
+ }
112
+ async function getProcessLineage(runtime, pid) {
113
+ const lineage = [];
114
+ const seen = new Set();
115
+ let currentPid = pid;
116
+ while (currentPid > 1 && !seen.has(currentPid)) {
117
+ seen.add(currentPid);
118
+ // A null command is a process that exited; the lineage ends there.
119
+ const command = await getProcessCommand(runtime, currentPid);
120
+ if (command === null)
121
+ break;
122
+ lineage.push({ pid: currentPid, command });
123
+ const parentPid = await (await getRuntimeProcessService(runtime)).parent(currentPid);
124
+ if (parentPid === null || parentPid <= 1)
125
+ break;
126
+ currentPid = parentPid;
127
+ }
128
+ return lineage;
129
+ }
130
+ export function selectCommandLineageKillPid(lineage, config, fallbackPid) {
131
+ for (let i = lineage.length - 1; i >= 0; i -= 1) {
132
+ const entry = lineage[i];
133
+ if (isCommandLineMatch(entry.command, config)) {
134
+ return entry.pid;
135
+ }
136
+ }
137
+ return fallbackPid;
138
+ }
139
+ /**
140
+ * Positive signature evidence only; ownership is proved separately. The
141
+ * selected launch-preparation provider owns process identity when it supplies
142
+ * `matchesProcessCommand`; without that hook the generic command-line match
143
+ * decides.
144
+ */
145
+ export async function matchesCommandSignature(runtime, command, config, port) {
146
+ const resolved = await resolveLaunchIdentity(runtime, config);
147
+ if (resolved?.implementation.matchesProcessCommand) {
148
+ return resolved.implementation.matchesProcessCommand({ command, config, port });
149
+ }
150
+ return isCommandLineMatch(command, config);
151
+ }
152
+ export async function findPortConflicts(runtime, config, existingPid) {
153
+ const conflicts = [];
154
+ const resolved = await resolveLaunchIdentity(runtime, config);
155
+ const ports = await extractMonitoredPorts(runtime, config);
156
+ // Pre-compute descendant PIDs if we have an existing managed process
157
+ // This allows us to recognize child processes (like node spawned by bun)
158
+ // as belonging to our managed process tree
159
+ const descendants = existingPid
160
+ ? new Set(await getDescendantPids(runtime, existingPid))
161
+ : new Set();
162
+ for (const port of ports) {
163
+ const pid = await findProcessOnPort(runtime, port);
164
+ if (!pid)
165
+ continue;
166
+ const lineage = await getProcessLineage(runtime, pid);
167
+ // The holder exited between the port probe and the process table read.
168
+ if (lineage.length === 0)
169
+ continue;
170
+ const cmd = lineage
171
+ .map((entry) => entry.command)
172
+ .filter((command) => Boolean(command))
173
+ .join(' <- ');
174
+ const killPid = selectCommandLineageKillPid(lineage, config, pid);
175
+ // Check if it's our process OR a child/descendant of our process
176
+ // This fixes the issue where bun spawns node for vite, and node holds the port
177
+ const isOurs = existingPid !== null && (pid === existingPid || descendants.has(pid));
178
+ // Determine conflict type
179
+ let type = 'orphan';
180
+ if (config.healthCheck?.type === 'http') {
181
+ const hcPort = extractPortFromEndpoint(config.healthCheck.endpoint);
182
+ if (hcPort === port)
183
+ type = 'http';
184
+ }
185
+ if (config.healthCheck?.type === 'tcp' && config.healthCheck.port === port) {
186
+ type = 'tcp';
187
+ }
188
+ let matchedBy;
189
+ if (resolved) {
190
+ const owned = (await providerMonitoredPortsFor(resolved, config)).includes(port);
191
+ if (owned) {
192
+ type = 'forward';
193
+ matchedBy = resolved.matchedBy;
194
+ }
195
+ }
196
+ conflicts.push({ port, pid, killPid, command: cmd || null, type, isOurs, matchedBy });
197
+ }
198
+ return conflicts;
199
+ }
200
+ //# sourceMappingURL=ports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ports.js","sourceRoot":"","sources":["../../src/utils/ports.ts"],"names":[],"mappings":"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"}