@vibesdotdev/pm 0.0.0-stage → 1.0.0-rc.2
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.
- package/LICENSE +18 -0
- package/README.md +227 -2
- package/dist/admission-store.d.ts +43 -0
- package/dist/admission-store.d.ts.map +1 -0
- package/dist/admission-store.js +108 -0
- package/dist/admission-store.js.map +1 -0
- package/dist/admission.d.ts +46 -0
- package/dist/admission.d.ts.map +1 -0
- package/dist/admission.js +81 -0
- package/dist/admission.js.map +1 -0
- package/dist/admitted-workspace.context.descriptor.d.ts +39 -0
- package/dist/admitted-workspace.context.descriptor.d.ts.map +1 -0
- package/dist/admitted-workspace.context.descriptor.js +18 -0
- package/dist/admitted-workspace.context.descriptor.js.map +1 -0
- package/dist/admitted-workspace.context.impl.consumer.d.ts +16 -0
- package/dist/admitted-workspace.context.impl.consumer.d.ts.map +1 -0
- package/dist/admitted-workspace.context.impl.consumer.js +7 -0
- package/dist/admitted-workspace.context.impl.consumer.js.map +1 -0
- package/dist/cli/admission-read.d.ts +12 -0
- package/dist/cli/admission-read.d.ts.map +1 -0
- package/dist/cli/admission-read.js +42 -0
- package/dist/cli/admission-read.js.map +1 -0
- package/dist/cli/command-input.d.ts +37 -0
- package/dist/cli/command-input.d.ts.map +1 -0
- package/dist/cli/command-input.js +34 -0
- package/dist/cli/command-input.js.map +1 -0
- package/dist/cli/consumer-components/startup-progress.d.ts +107 -0
- package/dist/cli/consumer-components/startup-progress.d.ts.map +1 -0
- package/dist/cli/consumer-components/startup-progress.js +392 -0
- package/dist/cli/consumer-components/startup-progress.js.map +1 -0
- package/dist/cli/consumer-services/control.d.ts +147 -0
- package/dist/cli/consumer-services/control.d.ts.map +1 -0
- package/dist/cli/consumer-services/control.js +209 -0
- package/dist/cli/consumer-services/control.js.map +1 -0
- package/dist/cli/daemon-launch-child.d.ts +35 -0
- package/dist/cli/daemon-launch-child.d.ts.map +1 -0
- package/dist/cli/daemon-launch-child.js +25 -0
- package/dist/cli/daemon-launch-child.js.map +1 -0
- package/dist/cli/docs/pm.cli.docs.descriptor.d.ts +4 -0
- package/dist/cli/docs/pm.cli.docs.descriptor.d.ts.map +1 -0
- package/dist/cli/docs/pm.cli.docs.descriptor.js +93 -0
- package/dist/cli/docs/pm.cli.docs.descriptor.js.map +1 -0
- package/dist/cli/filter-process-states.d.ts +12 -0
- package/dist/cli/filter-process-states.d.ts.map +1 -0
- package/dist/cli/filter-process-states.js +12 -0
- package/dist/cli/filter-process-states.js.map +1 -0
- package/dist/cli/output.d.ts +21 -0
- package/dist/cli/output.d.ts.map +1 -0
- package/dist/cli/output.js +19 -0
- package/dist/cli/output.js.map +1 -0
- package/dist/cli/plugin.d.ts +3 -0
- package/dist/cli/plugin.d.ts.map +1 -0
- package/dist/cli/plugin.js +12 -0
- package/dist/cli/plugin.js.map +1 -0
- package/dist/cli/pm.cli-group.descriptor.d.ts +10 -0
- package/dist/cli/pm.cli-group.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.cli-group.descriptor.js +18 -0
- package/dist/cli/pm.cli-group.descriptor.js.map +1 -0
- package/dist/cli/pm.completion.cli-group.descriptor.d.ts +9 -0
- package/dist/cli/pm.completion.cli-group.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.completion.cli-group.descriptor.js +17 -0
- package/dist/cli/pm.completion.cli-group.descriptor.js.map +1 -0
- package/dist/cli/pm.completion.install.descriptor.d.ts +9 -0
- package/dist/cli/pm.completion.install.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.completion.install.descriptor.js +24 -0
- package/dist/cli/pm.completion.install.descriptor.js.map +1 -0
- package/dist/cli/pm.completion.install.impl.d.ts +11 -0
- package/dist/cli/pm.completion.install.impl.d.ts.map +1 -0
- package/dist/cli/pm.completion.install.impl.js +207 -0
- package/dist/cli/pm.completion.install.impl.js.map +1 -0
- package/dist/cli/pm.config.cli.descriptor.d.ts +10 -0
- package/dist/cli/pm.config.cli.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.config.cli.descriptor.js +25 -0
- package/dist/cli/pm.config.cli.descriptor.js.map +1 -0
- package/dist/cli/pm.config.impl.d.ts +12 -0
- package/dist/cli/pm.config.impl.d.ts.map +1 -0
- package/dist/cli/pm.config.impl.js +117 -0
- package/dist/cli/pm.config.impl.js.map +1 -0
- package/dist/cli/pm.daemon.cli-group.descriptor.d.ts +9 -0
- package/dist/cli/pm.daemon.cli-group.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.daemon.cli-group.descriptor.js +17 -0
- package/dist/cli/pm.daemon.cli-group.descriptor.js.map +1 -0
- package/dist/cli/pm.daemon.logs.descriptor.d.ts +9 -0
- package/dist/cli/pm.daemon.logs.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.daemon.logs.descriptor.js +29 -0
- package/dist/cli/pm.daemon.logs.descriptor.js.map +1 -0
- package/dist/cli/pm.daemon.logs.impl.d.ts +11 -0
- package/dist/cli/pm.daemon.logs.impl.d.ts.map +1 -0
- package/dist/cli/pm.daemon.logs.impl.js +53 -0
- package/dist/cli/pm.daemon.logs.impl.js.map +1 -0
- package/dist/cli/pm.daemon.reconcile.descriptor.d.ts +9 -0
- package/dist/cli/pm.daemon.reconcile.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.daemon.reconcile.descriptor.js +24 -0
- package/dist/cli/pm.daemon.reconcile.descriptor.js.map +1 -0
- package/dist/cli/pm.daemon.reconcile.impl.d.ts +16 -0
- package/dist/cli/pm.daemon.reconcile.impl.d.ts.map +1 -0
- package/dist/cli/pm.daemon.reconcile.impl.js +51 -0
- package/dist/cli/pm.daemon.reconcile.impl.js.map +1 -0
- package/dist/cli/pm.daemon.recover.descriptor.d.ts +9 -0
- package/dist/cli/pm.daemon.recover.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.daemon.recover.descriptor.js +24 -0
- package/dist/cli/pm.daemon.recover.descriptor.js.map +1 -0
- package/dist/cli/pm.daemon.recover.impl.d.ts +16 -0
- package/dist/cli/pm.daemon.recover.impl.d.ts.map +1 -0
- package/dist/cli/pm.daemon.recover.impl.js +66 -0
- package/dist/cli/pm.daemon.recover.impl.js.map +1 -0
- package/dist/cli/pm.daemon.restart.descriptor.d.ts +9 -0
- package/dist/cli/pm.daemon.restart.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.daemon.restart.descriptor.js +25 -0
- package/dist/cli/pm.daemon.restart.descriptor.js.map +1 -0
- package/dist/cli/pm.daemon.restart.impl.d.ts +28 -0
- package/dist/cli/pm.daemon.restart.impl.d.ts.map +1 -0
- package/dist/cli/pm.daemon.restart.impl.js +174 -0
- package/dist/cli/pm.daemon.restart.impl.js.map +1 -0
- package/dist/cli/pm.daemon.serve.descriptor.d.ts +10 -0
- package/dist/cli/pm.daemon.serve.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.daemon.serve.descriptor.js +28 -0
- package/dist/cli/pm.daemon.serve.descriptor.js.map +1 -0
- package/dist/cli/pm.daemon.serve.impl.d.ts +37 -0
- package/dist/cli/pm.daemon.serve.impl.d.ts.map +1 -0
- package/dist/cli/pm.daemon.serve.impl.js +257 -0
- package/dist/cli/pm.daemon.serve.impl.js.map +1 -0
- package/dist/cli/pm.daemon.start.descriptor.d.ts +9 -0
- package/dist/cli/pm.daemon.start.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.daemon.start.descriptor.js +28 -0
- package/dist/cli/pm.daemon.start.descriptor.js.map +1 -0
- package/dist/cli/pm.daemon.start.impl.d.ts +40 -0
- package/dist/cli/pm.daemon.start.impl.d.ts.map +1 -0
- package/dist/cli/pm.daemon.start.impl.js +341 -0
- package/dist/cli/pm.daemon.start.impl.js.map +1 -0
- package/dist/cli/pm.daemon.status.descriptor.d.ts +9 -0
- package/dist/cli/pm.daemon.status.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.daemon.status.descriptor.js +24 -0
- package/dist/cli/pm.daemon.status.descriptor.js.map +1 -0
- package/dist/cli/pm.daemon.status.impl.d.ts +11 -0
- package/dist/cli/pm.daemon.status.impl.d.ts.map +1 -0
- package/dist/cli/pm.daemon.status.impl.js +123 -0
- package/dist/cli/pm.daemon.status.impl.js.map +1 -0
- package/dist/cli/pm.daemon.stop.descriptor.d.ts +9 -0
- package/dist/cli/pm.daemon.stop.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.daemon.stop.descriptor.js +24 -0
- package/dist/cli/pm.daemon.stop.descriptor.js.map +1 -0
- package/dist/cli/pm.daemon.stop.impl.d.ts +21 -0
- package/dist/cli/pm.daemon.stop.impl.d.ts.map +1 -0
- package/dist/cli/pm.daemon.stop.impl.js +108 -0
- package/dist/cli/pm.daemon.stop.impl.js.map +1 -0
- package/dist/cli/pm.dashboard.descriptor.d.ts +10 -0
- package/dist/cli/pm.dashboard.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.dashboard.descriptor.js +30 -0
- package/dist/cli/pm.dashboard.descriptor.js.map +1 -0
- package/dist/cli/pm.dashboard.impl.d.ts +16 -0
- package/dist/cli/pm.dashboard.impl.d.ts.map +1 -0
- package/dist/cli/pm.dashboard.impl.js +134 -0
- package/dist/cli/pm.dashboard.impl.js.map +1 -0
- package/dist/cli/pm.init.descriptor.d.ts +9 -0
- package/dist/cli/pm.init.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.init.descriptor.js +28 -0
- package/dist/cli/pm.init.descriptor.js.map +1 -0
- package/dist/cli/pm.init.impl.d.ts +11 -0
- package/dist/cli/pm.init.impl.d.ts.map +1 -0
- package/dist/cli/pm.init.impl.js +112 -0
- package/dist/cli/pm.init.impl.js.map +1 -0
- package/dist/cli/pm.list.descriptor.d.ts +9 -0
- package/dist/cli/pm.list.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.list.descriptor.js +44 -0
- package/dist/cli/pm.list.descriptor.js.map +1 -0
- package/dist/cli/pm.list.impl.d.ts +24 -0
- package/dist/cli/pm.list.impl.d.ts.map +1 -0
- package/dist/cli/pm.list.impl.js +204 -0
- package/dist/cli/pm.list.impl.js.map +1 -0
- package/dist/cli/pm.liveness.cli-group.descriptor.d.ts +25 -0
- package/dist/cli/pm.liveness.cli-group.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.liveness.cli-group.descriptor.js +33 -0
- package/dist/cli/pm.liveness.cli-group.descriptor.js.map +1 -0
- package/dist/cli/pm.liveness.set.descriptor.d.ts +18 -0
- package/dist/cli/pm.liveness.set.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.liveness.set.descriptor.js +65 -0
- package/dist/cli/pm.liveness.set.descriptor.js.map +1 -0
- package/dist/cli/pm.liveness.set.impl.d.ts +6 -0
- package/dist/cli/pm.liveness.set.impl.d.ts.map +1 -0
- package/dist/cli/pm.liveness.set.impl.js +61 -0
- package/dist/cli/pm.liveness.set.impl.js.map +1 -0
- package/dist/cli/pm.logs.descriptor.d.ts +9 -0
- package/dist/cli/pm.logs.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.logs.descriptor.js +39 -0
- package/dist/cli/pm.logs.descriptor.js.map +1 -0
- package/dist/cli/pm.logs.impl.d.ts +11 -0
- package/dist/cli/pm.logs.impl.d.ts.map +1 -0
- package/dist/cli/pm.logs.impl.js +208 -0
- package/dist/cli/pm.logs.impl.js.map +1 -0
- package/dist/cli/pm.preset.cli-group.descriptor.d.ts +9 -0
- package/dist/cli/pm.preset.cli-group.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.preset.cli-group.descriptor.js +17 -0
- package/dist/cli/pm.preset.cli-group.descriptor.js.map +1 -0
- package/dist/cli/pm.preset.list.descriptor.d.ts +9 -0
- package/dist/cli/pm.preset.list.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.preset.list.descriptor.js +24 -0
- package/dist/cli/pm.preset.list.descriptor.js.map +1 -0
- package/dist/cli/pm.preset.list.impl.d.ts +6 -0
- package/dist/cli/pm.preset.list.impl.d.ts.map +1 -0
- package/dist/cli/pm.preset.list.impl.js +67 -0
- package/dist/cli/pm.preset.list.impl.js.map +1 -0
- package/dist/cli/pm.preset.restart.descriptor.d.ts +9 -0
- package/dist/cli/pm.preset.restart.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.preset.restart.descriptor.js +39 -0
- package/dist/cli/pm.preset.restart.descriptor.js.map +1 -0
- package/dist/cli/pm.preset.restart.impl.d.ts +11 -0
- package/dist/cli/pm.preset.restart.impl.d.ts.map +1 -0
- package/dist/cli/pm.preset.restart.impl.js +85 -0
- package/dist/cli/pm.preset.restart.impl.js.map +1 -0
- package/dist/cli/pm.preset.show.descriptor.d.ts +9 -0
- package/dist/cli/pm.preset.show.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.preset.show.descriptor.js +30 -0
- package/dist/cli/pm.preset.show.descriptor.js.map +1 -0
- package/dist/cli/pm.preset.show.impl.d.ts +6 -0
- package/dist/cli/pm.preset.show.impl.d.ts.map +1 -0
- package/dist/cli/pm.preset.show.impl.js +92 -0
- package/dist/cli/pm.preset.show.impl.js.map +1 -0
- package/dist/cli/pm.preset.start.descriptor.d.ts +9 -0
- package/dist/cli/pm.preset.start.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.preset.start.descriptor.js +39 -0
- package/dist/cli/pm.preset.start.descriptor.js.map +1 -0
- package/dist/cli/pm.preset.start.impl.d.ts +11 -0
- package/dist/cli/pm.preset.start.impl.d.ts.map +1 -0
- package/dist/cli/pm.preset.start.impl.js +88 -0
- package/dist/cli/pm.preset.start.impl.js.map +1 -0
- package/dist/cli/pm.preset.status.descriptor.d.ts +9 -0
- package/dist/cli/pm.preset.status.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.preset.status.descriptor.js +30 -0
- package/dist/cli/pm.preset.status.descriptor.js.map +1 -0
- package/dist/cli/pm.preset.status.impl.d.ts +11 -0
- package/dist/cli/pm.preset.status.impl.d.ts.map +1 -0
- package/dist/cli/pm.preset.status.impl.js +166 -0
- package/dist/cli/pm.preset.status.impl.js.map +1 -0
- package/dist/cli/pm.preset.stop.descriptor.d.ts +9 -0
- package/dist/cli/pm.preset.stop.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.preset.stop.descriptor.js +39 -0
- package/dist/cli/pm.preset.stop.descriptor.js.map +1 -0
- package/dist/cli/pm.preset.stop.impl.d.ts +11 -0
- package/dist/cli/pm.preset.stop.impl.d.ts.map +1 -0
- package/dist/cli/pm.preset.stop.impl.js +68 -0
- package/dist/cli/pm.preset.stop.impl.js.map +1 -0
- package/dist/cli/pm.preset.teardown.descriptor.d.ts +9 -0
- package/dist/cli/pm.preset.teardown.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.preset.teardown.descriptor.js +43 -0
- package/dist/cli/pm.preset.teardown.descriptor.js.map +1 -0
- package/dist/cli/pm.preset.teardown.impl.d.ts +12 -0
- package/dist/cli/pm.preset.teardown.impl.d.ts.map +1 -0
- package/dist/cli/pm.preset.teardown.impl.js +91 -0
- package/dist/cli/pm.preset.teardown.impl.js.map +1 -0
- package/dist/cli/pm.presets.descriptor.d.ts +9 -0
- package/dist/cli/pm.presets.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.presets.descriptor.js +24 -0
- package/dist/cli/pm.presets.descriptor.js.map +1 -0
- package/dist/cli/pm.presets.impl.d.ts +11 -0
- package/dist/cli/pm.presets.impl.d.ts.map +1 -0
- package/dist/cli/pm.presets.impl.js +13 -0
- package/dist/cli/pm.presets.impl.js.map +1 -0
- package/dist/cli/pm.register.descriptor.d.ts +11 -0
- package/dist/cli/pm.register.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.register.descriptor.js +32 -0
- package/dist/cli/pm.register.descriptor.js.map +1 -0
- package/dist/cli/pm.register.impl.d.ts +15 -0
- package/dist/cli/pm.register.impl.d.ts.map +1 -0
- package/dist/cli/pm.register.impl.js +81 -0
- package/dist/cli/pm.register.impl.js.map +1 -0
- package/dist/cli/pm.resource.apply.descriptor.d.ts +15 -0
- package/dist/cli/pm.resource.apply.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.resource.apply.descriptor.js +41 -0
- package/dist/cli/pm.resource.apply.descriptor.js.map +1 -0
- package/dist/cli/pm.resource.apply.impl.d.ts +14 -0
- package/dist/cli/pm.resource.apply.impl.d.ts.map +1 -0
- package/dist/cli/pm.resource.apply.impl.js +91 -0
- package/dist/cli/pm.resource.apply.impl.js.map +1 -0
- package/dist/cli/pm.resource.cli-group.descriptor.d.ts +9 -0
- package/dist/cli/pm.resource.cli-group.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.resource.cli-group.descriptor.js +17 -0
- package/dist/cli/pm.resource.cli-group.descriptor.js.map +1 -0
- package/dist/cli/pm.resource.list.descriptor.d.ts +9 -0
- package/dist/cli/pm.resource.list.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.resource.list.descriptor.js +25 -0
- package/dist/cli/pm.resource.list.descriptor.js.map +1 -0
- package/dist/cli/pm.resource.list.impl.d.ts +11 -0
- package/dist/cli/pm.resource.list.impl.d.ts.map +1 -0
- package/dist/cli/pm.resource.list.impl.js +141 -0
- package/dist/cli/pm.resource.list.impl.js.map +1 -0
- package/dist/cli/pm.resource.recreate.descriptor.d.ts +4 -0
- package/dist/cli/pm.resource.recreate.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.resource.recreate.descriptor.js +29 -0
- package/dist/cli/pm.resource.recreate.descriptor.js.map +1 -0
- package/dist/cli/pm.resource.recreate.impl.d.ts +6 -0
- package/dist/cli/pm.resource.recreate.impl.d.ts.map +1 -0
- package/dist/cli/pm.resource.recreate.impl.js +123 -0
- package/dist/cli/pm.resource.recreate.impl.js.map +1 -0
- package/dist/cli/pm.resource.status.descriptor.d.ts +9 -0
- package/dist/cli/pm.resource.status.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.resource.status.descriptor.js +31 -0
- package/dist/cli/pm.resource.status.descriptor.js.map +1 -0
- package/dist/cli/pm.resource.status.impl.d.ts +11 -0
- package/dist/cli/pm.resource.status.impl.d.ts.map +1 -0
- package/dist/cli/pm.resource.status.impl.js +230 -0
- package/dist/cli/pm.resource.status.impl.js.map +1 -0
- package/dist/cli/pm.restart.descriptor.d.ts +9 -0
- package/dist/cli/pm.restart.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.restart.descriptor.js +40 -0
- package/dist/cli/pm.restart.descriptor.js.map +1 -0
- package/dist/cli/pm.restart.impl.d.ts +12 -0
- package/dist/cli/pm.restart.impl.d.ts.map +1 -0
- package/dist/cli/pm.restart.impl.js +109 -0
- package/dist/cli/pm.restart.impl.js.map +1 -0
- package/dist/cli/pm.show.descriptor.d.ts +9 -0
- package/dist/cli/pm.show.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.show.descriptor.js +30 -0
- package/dist/cli/pm.show.descriptor.js.map +1 -0
- package/dist/cli/pm.show.impl.d.ts +25 -0
- package/dist/cli/pm.show.impl.d.ts.map +1 -0
- package/dist/cli/pm.show.impl.js +175 -0
- package/dist/cli/pm.show.impl.js.map +1 -0
- package/dist/cli/pm.start-all.descriptor.d.ts +9 -0
- package/dist/cli/pm.start-all.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.start-all.descriptor.js +34 -0
- package/dist/cli/pm.start-all.descriptor.js.map +1 -0
- package/dist/cli/pm.start-all.impl.d.ts +12 -0
- package/dist/cli/pm.start-all.impl.d.ts.map +1 -0
- package/dist/cli/pm.start-all.impl.js +91 -0
- package/dist/cli/pm.start-all.impl.js.map +1 -0
- package/dist/cli/pm.start.descriptor.d.ts +9 -0
- package/dist/cli/pm.start.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.start.descriptor.js +40 -0
- package/dist/cli/pm.start.descriptor.js.map +1 -0
- package/dist/cli/pm.start.impl.d.ts +19 -0
- package/dist/cli/pm.start.impl.d.ts.map +1 -0
- package/dist/cli/pm.start.impl.js +170 -0
- package/dist/cli/pm.start.impl.js.map +1 -0
- package/dist/cli/pm.status.descriptor.d.ts +10 -0
- package/dist/cli/pm.status.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.status.descriptor.js +31 -0
- package/dist/cli/pm.status.descriptor.js.map +1 -0
- package/dist/cli/pm.status.impl.d.ts +96 -0
- package/dist/cli/pm.status.impl.d.ts.map +1 -0
- package/dist/cli/pm.status.impl.js +425 -0
- package/dist/cli/pm.status.impl.js.map +1 -0
- package/dist/cli/pm.stop-all.descriptor.d.ts +9 -0
- package/dist/cli/pm.stop-all.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.stop-all.descriptor.js +41 -0
- package/dist/cli/pm.stop-all.descriptor.js.map +1 -0
- package/dist/cli/pm.stop-all.impl.d.ts +14 -0
- package/dist/cli/pm.stop-all.impl.d.ts.map +1 -0
- package/dist/cli/pm.stop-all.impl.js +138 -0
- package/dist/cli/pm.stop-all.impl.js.map +1 -0
- package/dist/cli/pm.stop.descriptor.d.ts +9 -0
- package/dist/cli/pm.stop.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.stop.descriptor.js +40 -0
- package/dist/cli/pm.stop.descriptor.js.map +1 -0
- package/dist/cli/pm.stop.impl.d.ts +13 -0
- package/dist/cli/pm.stop.impl.d.ts.map +1 -0
- package/dist/cli/pm.stop.impl.js +120 -0
- package/dist/cli/pm.stop.impl.js.map +1 -0
- package/dist/cli/pm.unregister-all.descriptor.d.ts +9 -0
- package/dist/cli/pm.unregister-all.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.unregister-all.descriptor.js +28 -0
- package/dist/cli/pm.unregister-all.descriptor.js.map +1 -0
- package/dist/cli/pm.unregister-all.impl.d.ts +11 -0
- package/dist/cli/pm.unregister-all.impl.d.ts.map +1 -0
- package/dist/cli/pm.unregister-all.impl.js +106 -0
- package/dist/cli/pm.unregister-all.impl.js.map +1 -0
- package/dist/cli/pm.unregister.descriptor.d.ts +9 -0
- package/dist/cli/pm.unregister.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.unregister.descriptor.js +34 -0
- package/dist/cli/pm.unregister.descriptor.js.map +1 -0
- package/dist/cli/pm.unregister.impl.d.ts +11 -0
- package/dist/cli/pm.unregister.impl.d.ts.map +1 -0
- package/dist/cli/pm.unregister.impl.js +77 -0
- package/dist/cli/pm.unregister.impl.js.map +1 -0
- package/dist/cli/pm.validate.descriptor.d.ts +9 -0
- package/dist/cli/pm.validate.descriptor.d.ts.map +1 -0
- package/dist/cli/pm.validate.descriptor.js +24 -0
- package/dist/cli/pm.validate.descriptor.js.map +1 -0
- package/dist/cli/pm.validate.impl.d.ts +6 -0
- package/dist/cli/pm.validate.impl.d.ts.map +1 -0
- package/dist/cli/pm.validate.impl.js +235 -0
- package/dist/cli/pm.validate.impl.js.map +1 -0
- package/dist/cli/preset-execution-options.d.ts +8 -0
- package/dist/cli/preset-execution-options.d.ts.map +1 -0
- package/dist/cli/preset-execution-options.js +22 -0
- package/dist/cli/preset-execution-options.js.map +1 -0
- package/dist/cli/register-manifest.d.ts +23 -0
- package/dist/cli/register-manifest.d.ts.map +1 -0
- package/dist/cli/register-manifest.js +80 -0
- package/dist/cli/register-manifest.js.map +1 -0
- package/dist/cli/runtime.d.ts +3 -0
- package/dist/cli/runtime.d.ts.map +1 -0
- package/dist/cli/runtime.js +134 -0
- package/dist/cli/runtime.js.map +1 -0
- package/dist/cli/table-columns.d.ts +22 -0
- package/dist/cli/table-columns.d.ts.map +1 -0
- package/dist/cli/table-columns.js +61 -0
- package/dist/cli/table-columns.js.map +1 -0
- package/dist/client-replies.d.ts +1188 -0
- package/dist/client-replies.d.ts.map +1 -0
- package/dist/client-replies.js +145 -0
- package/dist/client-replies.js.map +1 -0
- package/dist/client.d.ts +345 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +1005 -0
- package/dist/client.js.map +1 -0
- package/dist/config/pm.config.config.descriptor.d.ts +10 -0
- package/dist/config/pm.config.config.descriptor.d.ts.map +1 -0
- package/dist/config/pm.config.config.descriptor.js +37 -0
- package/dist/config/pm.config.config.descriptor.js.map +1 -0
- package/dist/context.d.ts +121 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +6 -0
- package/dist/context.js.map +1 -0
- package/dist/daemon/command-handler.d.ts +74 -0
- package/dist/daemon/command-handler.d.ts.map +1 -0
- package/dist/daemon/command-handler.js +220 -0
- package/dist/daemon/command-handler.js.map +1 -0
- package/dist/daemon/command-ids.d.ts +10 -0
- package/dist/daemon/command-ids.d.ts.map +1 -0
- package/dist/daemon/command-ids.js +51 -0
- package/dist/daemon/command-ids.js.map +1 -0
- package/dist/daemon/command-implementations.d.ts +30 -0
- package/dist/daemon/command-implementations.d.ts.map +1 -0
- package/dist/daemon/command-implementations.js +340 -0
- package/dist/daemon/command-implementations.js.map +1 -0
- package/dist/daemon/command-payload.d.ts +803 -0
- package/dist/daemon/command-payload.d.ts.map +1 -0
- package/dist/daemon/command-payload.js +128 -0
- package/dist/daemon/command-payload.js.map +1 -0
- package/dist/daemon/commands.plugin.d.ts +6 -0
- package/dist/daemon/commands.plugin.d.ts.map +1 -0
- package/dist/daemon/commands.plugin.js +22 -0
- package/dist/daemon/commands.plugin.js.map +1 -0
- package/dist/daemon/config-watcher.d.ts +125 -0
- package/dist/daemon/config-watcher.d.ts.map +1 -0
- package/dist/daemon/config-watcher.js +541 -0
- package/dist/daemon/config-watcher.js.map +1 -0
- package/dist/daemon/daemon-module-context.d.ts +16 -0
- package/dist/daemon/daemon-module-context.d.ts.map +1 -0
- package/dist/daemon/daemon-module-context.js +25 -0
- package/dist/daemon/daemon-module-context.js.map +1 -0
- package/dist/daemon/declared-commands.d.ts +39 -0
- package/dist/daemon/declared-commands.d.ts.map +1 -0
- package/dist/daemon/declared-commands.js +200 -0
- package/dist/daemon/declared-commands.js.map +1 -0
- package/dist/daemon/executable-freshness-reconciler.d.ts +99 -0
- package/dist/daemon/executable-freshness-reconciler.d.ts.map +1 -0
- package/dist/daemon/executable-freshness-reconciler.js +396 -0
- package/dist/daemon/executable-freshness-reconciler.js.map +1 -0
- package/dist/daemon/fleet-attach-state.d.ts +22 -0
- package/dist/daemon/fleet-attach-state.d.ts.map +1 -0
- package/dist/daemon/fleet-attach-state.js +39 -0
- package/dist/daemon/fleet-attach-state.js.map +1 -0
- package/dist/daemon/health-monitor.d.ts +105 -0
- package/dist/daemon/health-monitor.d.ts.map +1 -0
- package/dist/daemon/health-monitor.js +453 -0
- package/dist/daemon/health-monitor.js.map +1 -0
- package/dist/daemon/liveness-checker.d.ts +49 -0
- package/dist/daemon/liveness-checker.d.ts.map +1 -0
- package/dist/daemon/liveness-checker.js +330 -0
- package/dist/daemon/liveness-checker.js.map +1 -0
- package/dist/daemon/orphan-scanner.d.ts +114 -0
- package/dist/daemon/orphan-scanner.d.ts.map +1 -0
- package/dist/daemon/orphan-scanner.js +684 -0
- package/dist/daemon/orphan-scanner.js.map +1 -0
- package/dist/daemon/resource-health-monitor.d.ts +65 -0
- package/dist/daemon/resource-health-monitor.d.ts.map +1 -0
- package/dist/daemon/resource-health-monitor.js +247 -0
- package/dist/daemon/resource-health-monitor.js.map +1 -0
- package/dist/daemon/role.context.impl.d.ts +13 -0
- package/dist/daemon/role.context.impl.d.ts.map +1 -0
- package/dist/daemon/role.context.impl.js +7 -0
- package/dist/daemon/role.context.impl.js.map +1 -0
- package/dist/daemon/role.d.ts +56 -0
- package/dist/daemon/role.d.ts.map +1 -0
- package/dist/daemon/role.js +18 -0
- package/dist/daemon/role.js.map +1 -0
- package/dist/daemon/rpc-result.d.ts +9 -0
- package/dist/daemon/rpc-result.d.ts.map +1 -0
- package/dist/daemon/rpc-result.js +28 -0
- package/dist/daemon/rpc-result.js.map +1 -0
- package/dist/daemon/stray-daemons.d.ts +52 -0
- package/dist/daemon/stray-daemons.d.ts.map +1 -0
- package/dist/daemon/stray-daemons.js +101 -0
- package/dist/daemon/stray-daemons.js.map +1 -0
- package/dist/daemon/supervised-commands.d.ts +3 -0
- package/dist/daemon/supervised-commands.d.ts.map +1 -0
- package/dist/daemon/supervised-commands.js +51 -0
- package/dist/daemon/supervised-commands.js.map +1 -0
- package/dist/daemon.d.ts +329 -0
- package/dist/daemon.d.ts.map +1 -0
- package/dist/daemon.js +1654 -0
- package/dist/daemon.js.map +1 -0
- package/dist/definitions.d.ts +2 -0
- package/dist/definitions.d.ts.map +1 -0
- package/dist/definitions.js +2 -0
- package/dist/definitions.js.map +1 -0
- package/dist/dev/command.d.ts +39 -0
- package/dist/dev/command.d.ts.map +1 -0
- package/dist/dev/command.js +79 -0
- package/dist/dev/command.js.map +1 -0
- package/dist/dev/defaults.d.ts +34 -0
- package/dist/dev/defaults.d.ts.map +1 -0
- package/dist/dev/defaults.js +58 -0
- package/dist/dev/defaults.js.map +1 -0
- package/dist/dev/env.d.ts +31 -0
- package/dist/dev/env.d.ts.map +1 -0
- package/dist/dev/env.js +56 -0
- package/dist/dev/env.js.map +1 -0
- package/dist/dev/index.d.ts +26 -0
- package/dist/dev/index.d.ts.map +1 -0
- package/dist/dev/index.js +28 -0
- package/dist/dev/index.js.map +1 -0
- package/dist/dev/sveltekit.d.ts +41 -0
- package/dist/dev/sveltekit.d.ts.map +1 -0
- package/dist/dev/sveltekit.js +93 -0
- package/dist/dev/sveltekit.js.map +1 -0
- package/dist/dev/workspace-shape.d.ts +64 -0
- package/dist/dev/workspace-shape.d.ts.map +1 -0
- package/dist/dev/workspace-shape.js +19 -0
- package/dist/dev/workspace-shape.js.map +1 -0
- package/dist/docs/pm.daemon.docs.descriptor.d.ts +4 -0
- package/dist/docs/pm.daemon.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/pm.daemon.docs.descriptor.js +48 -0
- package/dist/docs/pm.daemon.docs.descriptor.js.map +1 -0
- package/dist/docs/pm.docs.descriptor.d.ts +4 -0
- package/dist/docs/pm.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/pm.docs.descriptor.js +45 -0
- package/dist/docs/pm.docs.descriptor.js.map +1 -0
- package/dist/docs/pm.preset.docs.descriptor.d.ts +4 -0
- package/dist/docs/pm.preset.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/pm.preset.docs.descriptor.js +37 -0
- package/dist/docs/pm.preset.docs.descriptor.js.map +1 -0
- package/dist/docs/pm.queues.docs.descriptor.d.ts +4 -0
- package/dist/docs/pm.queues.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/pm.queues.docs.descriptor.js +157 -0
- package/dist/docs/pm.queues.docs.descriptor.js.map +1 -0
- package/dist/docs/pm.resource.docs.descriptor.d.ts +4 -0
- package/dist/docs/pm.resource.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/pm.resource.docs.descriptor.js +38 -0
- package/dist/docs/pm.resource.docs.descriptor.js.map +1 -0
- package/dist/docs/pm.tasks.docs.descriptor.d.ts +4 -0
- package/dist/docs/pm.tasks.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/pm.tasks.docs.descriptor.js +242 -0
- package/dist/docs/pm.tasks.docs.descriptor.js.map +1 -0
- package/dist/docs/pm.workers.docs.descriptor.d.ts +4 -0
- package/dist/docs/pm.workers.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/pm.workers.docs.descriptor.js +427 -0
- package/dist/docs/pm.workers.docs.descriptor.js.map +1 -0
- package/dist/errors.d.ts +262 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +479 -0
- package/dist/errors.js.map +1 -0
- package/dist/graph.d.ts +82 -0
- package/dist/graph.d.ts.map +1 -0
- package/dist/graph.js +247 -0
- package/dist/graph.js.map +1 -0
- package/dist/helpers/failure.d.ts +10 -0
- package/dist/helpers/failure.d.ts.map +1 -0
- package/dist/helpers/failure.js +10 -0
- package/dist/helpers/failure.js.map +1 -0
- package/dist/helpers/launch-custody.d.ts +16 -0
- package/dist/helpers/launch-custody.d.ts.map +1 -0
- package/dist/helpers/launch-custody.js +117 -0
- package/dist/helpers/launch-custody.js.map +1 -0
- package/dist/helpers/launch-identity.d.ts +20 -0
- package/dist/helpers/launch-identity.d.ts.map +1 -0
- package/dist/helpers/launch-identity.js +70 -0
- package/dist/helpers/launch-identity.js.map +1 -0
- package/dist/helpers/managed-http-origin.d.ts +4 -0
- package/dist/helpers/managed-http-origin.d.ts.map +1 -0
- package/dist/helpers/managed-http-origin.js +9 -0
- package/dist/helpers/managed-http-origin.js.map +1 -0
- package/dist/helpers/managed-process-admission.d.ts +55 -0
- package/dist/helpers/managed-process-admission.d.ts.map +1 -0
- package/dist/helpers/managed-process-admission.js +102 -0
- package/dist/helpers/managed-process-admission.js.map +1 -0
- package/dist/helpers/managed-process-id.d.ts +13 -0
- package/dist/helpers/managed-process-id.d.ts.map +1 -0
- package/dist/helpers/managed-process-id.js +16 -0
- package/dist/helpers/managed-process-id.js.map +1 -0
- package/dist/helpers/node-path.d.ts +16 -0
- package/dist/helpers/node-path.d.ts.map +1 -0
- package/dist/helpers/node-path.js +67 -0
- package/dist/helpers/node-path.js.map +1 -0
- package/dist/helpers/output-redaction.d.ts +36 -0
- package/dist/helpers/output-redaction.d.ts.map +1 -0
- package/dist/helpers/output-redaction.js +120 -0
- package/dist/helpers/output-redaction.js.map +1 -0
- package/dist/helpers/process-credentials.d.ts +62 -0
- package/dist/helpers/process-credentials.d.ts.map +1 -0
- package/dist/helpers/process-credentials.js +107 -0
- package/dist/helpers/process-credentials.js.map +1 -0
- package/dist/helpers/process-env.d.ts +72 -0
- package/dist/helpers/process-env.d.ts.map +1 -0
- package/dist/helpers/process-env.js +265 -0
- package/dist/helpers/process-env.js.map +1 -0
- package/dist/helpers/process-watch.d.ts +7 -0
- package/dist/helpers/process-watch.d.ts.map +1 -0
- package/dist/helpers/process-watch.js +27 -0
- package/dist/helpers/process-watch.js.map +1 -0
- package/dist/helpers/rlimits.d.ts +10 -0
- package/dist/helpers/rlimits.d.ts.map +1 -0
- package/dist/helpers/rlimits.js +14 -0
- package/dist/helpers/rlimits.js.map +1 -0
- package/dist/helpers/runtime-files.d.ts +42 -0
- package/dist/helpers/runtime-files.d.ts.map +1 -0
- package/dist/helpers/runtime-files.js +155 -0
- package/dist/helpers/runtime-files.js.map +1 -0
- package/dist/helpers/worker-routing.d.ts +35 -0
- package/dist/helpers/worker-routing.d.ts.map +1 -0
- package/dist/helpers/worker-routing.js +70 -0
- package/dist/helpers/worker-routing.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/interface.d.ts +150 -0
- package/dist/interface.d.ts.map +1 -0
- package/dist/interface.js +6 -0
- package/dist/interface.js.map +1 -0
- package/dist/kinds/daemon-module.kind.d.ts +103 -0
- package/dist/kinds/daemon-module.kind.d.ts.map +1 -0
- package/dist/kinds/daemon-module.kind.js +38 -0
- package/dist/kinds/daemon-module.kind.js.map +1 -0
- package/dist/kinds/launch-preparation.kind.d.ts +24 -0
- package/dist/kinds/launch-preparation.kind.d.ts.map +1 -0
- package/dist/kinds/launch-preparation.kind.js +7 -0
- package/dist/kinds/launch-preparation.kind.js.map +1 -0
- package/dist/kinds/liveness-profile.kind.d.ts +33 -0
- package/dist/kinds/liveness-profile.kind.d.ts.map +1 -0
- package/dist/kinds/liveness-profile.kind.js +27 -0
- package/dist/kinds/liveness-profile.kind.js.map +1 -0
- package/dist/kinds/preset.kind.d.ts +59 -0
- package/dist/kinds/preset.kind.d.ts.map +1 -0
- package/dist/kinds/preset.kind.js +35 -0
- package/dist/kinds/preset.kind.js.map +1 -0
- package/dist/kinds/process-source.kind.d.ts +6 -0
- package/dist/kinds/process-source.kind.d.ts.map +1 -0
- package/dist/kinds/process-source.kind.js +24 -0
- package/dist/kinds/process-source.kind.js.map +1 -0
- package/dist/kinds/process.kind.d.ts +237 -0
- package/dist/kinds/process.kind.d.ts.map +1 -0
- package/dist/kinds/process.kind.js +36 -0
- package/dist/kinds/process.kind.js.map +1 -0
- package/dist/kinds/resource-provider.kind.d.ts +41 -0
- package/dist/kinds/resource-provider.kind.d.ts.map +1 -0
- package/dist/kinds/resource-provider.kind.js +56 -0
- package/dist/kinds/resource-provider.kind.js.map +1 -0
- package/dist/kinds/resource.kind.d.ts +73 -0
- package/dist/kinds/resource.kind.d.ts.map +1 -0
- package/dist/kinds/resource.kind.js +35 -0
- package/dist/kinds/resource.kind.js.map +1 -0
- package/dist/kinds/runtime-daemon-endpoint.d.ts +34 -0
- package/dist/kinds/runtime-daemon-endpoint.d.ts.map +1 -0
- package/dist/kinds/runtime-daemon-endpoint.js +83 -0
- package/dist/kinds/runtime-daemon-endpoint.js.map +1 -0
- package/dist/kinds/runtime-daemon-endpoint.kind.d.ts +144 -0
- package/dist/kinds/runtime-daemon-endpoint.kind.d.ts.map +1 -0
- package/dist/kinds/runtime-daemon-endpoint.kind.js +104 -0
- package/dist/kinds/runtime-daemon-endpoint.kind.js.map +1 -0
- package/dist/launch-preparation.d.ts +12 -0
- package/dist/launch-preparation.d.ts.map +1 -0
- package/dist/launch-preparation.js +42 -0
- package/dist/launch-preparation.js.map +1 -0
- package/dist/logging/pm-daemon.logger.descriptor.d.ts +7 -0
- package/dist/logging/pm-daemon.logger.descriptor.d.ts.map +1 -0
- package/dist/logging/pm-daemon.logger.descriptor.js +16 -0
- package/dist/logging/pm-daemon.logger.descriptor.js.map +1 -0
- package/dist/logging/pm-daemon.output.descriptor.d.ts +9 -0
- package/dist/logging/pm-daemon.output.descriptor.d.ts.map +1 -0
- package/dist/logging/pm-daemon.output.descriptor.js +22 -0
- package/dist/logging/pm-daemon.output.descriptor.js.map +1 -0
- package/dist/manager.d.ts +206 -0
- package/dist/manager.d.ts.map +1 -0
- package/dist/manager.js +682 -0
- package/dist/manager.js.map +1 -0
- package/dist/managers/dependency-resolver.d.ts +85 -0
- package/dist/managers/dependency-resolver.d.ts.map +1 -0
- package/dist/managers/dependency-resolver.js +237 -0
- package/dist/managers/dependency-resolver.js.map +1 -0
- package/dist/managers/preset-executor.d.ts +138 -0
- package/dist/managers/preset-executor.d.ts.map +1 -0
- package/dist/managers/preset-executor.js +763 -0
- package/dist/managers/preset-executor.js.map +1 -0
- package/dist/managers/resource-manager.d.ts +142 -0
- package/dist/managers/resource-manager.d.ts.map +1 -0
- package/dist/managers/resource-manager.js +767 -0
- package/dist/managers/resource-manager.js.map +1 -0
- package/dist/migrations.generated.d.ts +14 -0
- package/dist/migrations.generated.d.ts.map +1 -0
- package/dist/migrations.generated.js +27 -0
- package/dist/migrations.generated.js.map +1 -0
- package/dist/pm.assets.runtime.d.ts +151 -0
- package/dist/pm.assets.runtime.d.ts.map +1 -0
- package/dist/pm.assets.runtime.js +30 -0
- package/dist/pm.assets.runtime.js.map +1 -0
- package/dist/pm.client.descriptor.d.ts +4 -0
- package/dist/pm.client.descriptor.d.ts.map +1 -0
- package/dist/pm.client.descriptor.js +8 -0
- package/dist/pm.client.descriptor.js.map +1 -0
- package/dist/pm.client.impl.consumer.d.ts +9 -0
- package/dist/pm.client.impl.consumer.d.ts.map +1 -0
- package/dist/pm.client.impl.consumer.js +13 -0
- package/dist/pm.client.impl.consumer.js.map +1 -0
- package/dist/pm.cloud.plugin.d.ts +29 -0
- package/dist/pm.cloud.plugin.d.ts.map +1 -0
- package/dist/pm.cloud.plugin.js +57 -0
- package/dist/pm.cloud.plugin.js.map +1 -0
- package/dist/pm.consumer.plugin.d.ts +3 -0
- package/dist/pm.consumer.plugin.d.ts.map +1 -0
- package/dist/pm.consumer.plugin.js +70 -0
- package/dist/pm.consumer.plugin.js.map +1 -0
- package/dist/pm.context.descriptor.d.ts +35 -0
- package/dist/pm.context.descriptor.d.ts.map +1 -0
- package/dist/pm.context.descriptor.js +12 -0
- package/dist/pm.context.descriptor.js.map +1 -0
- package/dist/pm.context.impl.consumer.d.ts +8 -0
- package/dist/pm.context.impl.consumer.d.ts.map +1 -0
- package/dist/pm.context.impl.consumer.js +6 -0
- package/dist/pm.context.impl.consumer.js.map +1 -0
- package/dist/pm.plugin.d.ts +6 -0
- package/dist/pm.plugin.d.ts.map +1 -0
- package/dist/pm.plugin.js +6 -0
- package/dist/pm.plugin.js.map +1 -0
- package/dist/presets/index.d.ts +5 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +5 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/presets/preset/index.d.ts +2 -0
- package/dist/presets/preset/index.d.ts.map +1 -0
- package/dist/presets/preset/index.js +2 -0
- package/dist/presets/preset/index.js.map +1 -0
- package/dist/presets/preset/web-dev.d.ts +39 -0
- package/dist/presets/preset/web-dev.d.ts.map +1 -0
- package/dist/presets/preset/web-dev.js +69 -0
- package/dist/presets/preset/web-dev.js.map +1 -0
- package/dist/presets/process/index.d.ts +3 -0
- package/dist/presets/process/index.d.ts.map +1 -0
- package/dist/presets/process/index.js +3 -0
- package/dist/presets/process/index.js.map +1 -0
- package/dist/presets/process/sveltekit.d.ts +125 -0
- package/dist/presets/process/sveltekit.d.ts.map +1 -0
- package/dist/presets/process/sveltekit.js +52 -0
- package/dist/presets/process/sveltekit.js.map +1 -0
- package/dist/presets/process/web.d.ts +34 -0
- package/dist/presets/process/web.d.ts.map +1 -0
- package/dist/presets/process/web.js +52 -0
- package/dist/presets/process/web.js.map +1 -0
- package/dist/presets/resource/database.d.ts +39 -0
- package/dist/presets/resource/database.d.ts.map +1 -0
- package/dist/presets/resource/database.js +60 -0
- package/dist/presets/resource/database.js.map +1 -0
- package/dist/presets/resource/index.d.ts +2 -0
- package/dist/presets/resource/index.d.ts.map +1 -0
- package/dist/presets/resource/index.js +2 -0
- package/dist/presets/resource/index.js.map +1 -0
- package/dist/presets/types.d.ts +101 -0
- package/dist/presets/types.d.ts.map +1 -0
- package/dist/presets/types.js +53 -0
- package/dist/presets/types.js.map +1 -0
- package/dist/register-migrations.impl.consumer.d.ts +8 -0
- package/dist/register-migrations.impl.consumer.d.ts.map +1 -0
- package/dist/register-migrations.impl.consumer.js +145 -0
- package/dist/register-migrations.impl.consumer.js.map +1 -0
- package/dist/resources/index.d.ts +7 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +7 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/provider.d.ts +216 -0
- package/dist/resources/provider.d.ts.map +1 -0
- package/dist/resources/provider.js +54 -0
- package/dist/resources/provider.js.map +1 -0
- package/dist/resources/providers/builtin.assets.d.ts +8 -0
- package/dist/resources/providers/builtin.assets.d.ts.map +1 -0
- package/dist/resources/providers/builtin.assets.js +26 -0
- package/dist/resources/providers/builtin.assets.js.map +1 -0
- package/dist/resources/providers/index.d.ts +14 -0
- package/dist/resources/providers/index.d.ts.map +1 -0
- package/dist/resources/providers/index.js +14 -0
- package/dist/resources/providers/index.js.map +1 -0
- package/dist/resources/providers/local-mkcert.d.ts +31 -0
- package/dist/resources/providers/local-mkcert.d.ts.map +1 -0
- package/dist/resources/providers/local-mkcert.js +169 -0
- package/dist/resources/providers/local-mkcert.js.map +1 -0
- package/dist/resources/providers/shell-setup.d.ts +17 -0
- package/dist/resources/providers/shell-setup.d.ts.map +1 -0
- package/dist/resources/providers/shell-setup.js +41 -0
- package/dist/resources/providers/shell-setup.js.map +1 -0
- package/dist/resources/providers/tool-env.d.ts +63 -0
- package/dist/resources/providers/tool-env.d.ts.map +1 -0
- package/dist/resources/providers/tool-env.js +99 -0
- package/dist/resources/providers/tool-env.js.map +1 -0
- package/dist/resources/resource-state-summary.d.ts +3 -0
- package/dist/resources/resource-state-summary.d.ts.map +1 -0
- package/dist/resources/resource-state-summary.js +82 -0
- package/dist/resources/resource-state-summary.js.map +1 -0
- package/dist/resources/status-options.d.ts +4 -0
- package/dist/resources/status-options.d.ts.map +1 -0
- package/dist/resources/status-options.js +6 -0
- package/dist/resources/status-options.js.map +1 -0
- package/dist/runnable/executor.d.ts +11 -0
- package/dist/runnable/executor.d.ts.map +1 -0
- package/dist/runnable/executor.js +41 -0
- package/dist/runnable/executor.js.map +1 -0
- package/dist/runnable/plugin.d.ts +3 -0
- package/dist/runnable/plugin.d.ts.map +1 -0
- package/dist/runnable/plugin.js +12 -0
- package/dist/runnable/plugin.js.map +1 -0
- package/dist/runnable/schemas.d.ts +28 -0
- package/dist/runnable/schemas.d.ts.map +1 -0
- package/dist/runnable/schemas.js +10 -0
- package/dist/runnable/schemas.js.map +1 -0
- package/dist/runtime-daemon-supervisor.descriptor.d.ts +16 -0
- package/dist/runtime-daemon-supervisor.descriptor.d.ts.map +1 -0
- package/dist/runtime-daemon-supervisor.descriptor.js +17 -0
- package/dist/runtime-daemon-supervisor.descriptor.js.map +1 -0
- package/dist/runtime-daemon-supervisor.impl.consumer.d.ts +22 -0
- package/dist/runtime-daemon-supervisor.impl.consumer.d.ts.map +1 -0
- package/dist/runtime-daemon-supervisor.impl.consumer.js +66 -0
- package/dist/runtime-daemon-supervisor.impl.consumer.js.map +1 -0
- package/dist/schemas/action-error.d.ts +8 -0
- package/dist/schemas/action-error.d.ts.map +1 -0
- package/dist/schemas/action-error.js +8 -0
- package/dist/schemas/action-error.js.map +1 -0
- package/dist/schemas/admission.d.ts +36 -0
- package/dist/schemas/admission.d.ts.map +1 -0
- package/dist/schemas/admission.js +22 -0
- package/dist/schemas/admission.js.map +1 -0
- package/dist/schemas/builder.d.ts +402 -0
- package/dist/schemas/builder.d.ts.map +1 -0
- package/dist/schemas/builder.js +410 -0
- package/dist/schemas/builder.js.map +1 -0
- package/dist/schemas/client.d.ts +18 -0
- package/dist/schemas/client.d.ts.map +1 -0
- package/dist/schemas/client.js +2 -0
- package/dist/schemas/client.js.map +1 -0
- package/dist/schemas/commands.d.ts +315 -0
- package/dist/schemas/commands.d.ts.map +1 -0
- package/dist/schemas/commands.js +268 -0
- package/dist/schemas/commands.js.map +1 -0
- package/dist/schemas/common.d.ts +35 -0
- package/dist/schemas/common.d.ts.map +1 -0
- package/dist/schemas/common.js +43 -0
- package/dist/schemas/common.js.map +1 -0
- package/dist/schemas/daemon-command.d.ts +61 -0
- package/dist/schemas/daemon-command.d.ts.map +1 -0
- package/dist/schemas/daemon-command.js +2 -0
- package/dist/schemas/daemon-command.js.map +1 -0
- package/dist/schemas/daemon-host.d.ts +70 -0
- package/dist/schemas/daemon-host.d.ts.map +1 -0
- package/dist/schemas/daemon-host.js +2 -0
- package/dist/schemas/daemon-host.js.map +1 -0
- package/dist/schemas/daemon-launch.d.ts +43 -0
- package/dist/schemas/daemon-launch.d.ts.map +1 -0
- package/dist/schemas/daemon-launch.js +3 -0
- package/dist/schemas/daemon-launch.js.map +1 -0
- package/dist/schemas/daemon.d.ts +98 -0
- package/dist/schemas/daemon.d.ts.map +1 -0
- package/dist/schemas/daemon.js +88 -0
- package/dist/schemas/daemon.js.map +1 -0
- package/dist/schemas/dev.d.ts +169 -0
- package/dist/schemas/dev.d.ts.map +1 -0
- package/dist/schemas/dev.js +8 -0
- package/dist/schemas/dev.js.map +1 -0
- package/dist/schemas/executable-freshness.d.ts +88 -0
- package/dist/schemas/executable-freshness.d.ts.map +1 -0
- package/dist/schemas/executable-freshness.js +2 -0
- package/dist/schemas/executable-freshness.js.map +1 -0
- package/dist/schemas/forward-config.d.ts +11 -0
- package/dist/schemas/forward-config.d.ts.map +1 -0
- package/dist/schemas/forward-config.js +15 -0
- package/dist/schemas/forward-config.js.map +1 -0
- package/dist/schemas/graph.d.ts +444 -0
- package/dist/schemas/graph.d.ts.map +1 -0
- package/dist/schemas/graph.js +59 -0
- package/dist/schemas/graph.js.map +1 -0
- package/dist/schemas/health.d.ts +43 -0
- package/dist/schemas/health.d.ts.map +1 -0
- package/dist/schemas/health.js +6 -0
- package/dist/schemas/health.js.map +1 -0
- package/dist/schemas/launch-preparation.d.ts +106 -0
- package/dist/schemas/launch-preparation.d.ts.map +1 -0
- package/dist/schemas/launch-preparation.js +50 -0
- package/dist/schemas/launch-preparation.js.map +1 -0
- package/dist/schemas/liveness-profile.d.ts +108 -0
- package/dist/schemas/liveness-profile.d.ts.map +1 -0
- package/dist/schemas/liveness-profile.js +33 -0
- package/dist/schemas/liveness-profile.js.map +1 -0
- package/dist/schemas/liveness.d.ts +37 -0
- package/dist/schemas/liveness.d.ts.map +1 -0
- package/dist/schemas/liveness.js +41 -0
- package/dist/schemas/liveness.js.map +1 -0
- package/dist/schemas/manager.d.ts +46 -0
- package/dist/schemas/manager.d.ts.map +1 -0
- package/dist/schemas/manager.js +5 -0
- package/dist/schemas/manager.js.map +1 -0
- package/dist/schemas/port-forward.d.ts +47 -0
- package/dist/schemas/port-forward.d.ts.map +1 -0
- package/dist/schemas/port-forward.js +27 -0
- package/dist/schemas/port-forward.js.map +1 -0
- package/dist/schemas/process-source.d.ts +354 -0
- package/dist/schemas/process-source.d.ts.map +1 -0
- package/dist/schemas/process-source.js +19 -0
- package/dist/schemas/process-source.js.map +1 -0
- package/dist/schemas/process-tree.d.ts +12 -0
- package/dist/schemas/process-tree.d.ts.map +1 -0
- package/dist/schemas/process-tree.js +2 -0
- package/dist/schemas/process-tree.js.map +1 -0
- package/dist/schemas/process.d.ts +944 -0
- package/dist/schemas/process.d.ts.map +1 -0
- package/dist/schemas/process.js +429 -0
- package/dist/schemas/process.js.map +1 -0
- package/dist/schemas/resource.d.ts +223 -0
- package/dist/schemas/resource.d.ts.map +1 -0
- package/dist/schemas/resource.js +92 -0
- package/dist/schemas/resource.js.map +1 -0
- package/dist/schemas/store.d.ts +97 -0
- package/dist/schemas/store.d.ts.map +1 -0
- package/dist/schemas/store.js +2 -0
- package/dist/schemas/store.js.map +1 -0
- package/dist/schemas/task-supervision.d.ts +16 -0
- package/dist/schemas/task-supervision.d.ts.map +1 -0
- package/dist/schemas/task-supervision.js +10 -0
- package/dist/schemas/task-supervision.js.map +1 -0
- package/dist/schemas/tui-state.d.ts +777 -0
- package/dist/schemas/tui-state.d.ts.map +1 -0
- package/dist/schemas/tui-state.js +119 -0
- package/dist/schemas/tui-state.js.map +1 -0
- package/dist/schemas/worker-manager.d.ts +19 -0
- package/dist/schemas/worker-manager.d.ts.map +1 -0
- package/dist/schemas/worker-manager.js +2 -0
- package/dist/schemas/worker-manager.js.map +1 -0
- package/dist/services/cleanup.d.ts +78 -0
- package/dist/services/cleanup.d.ts.map +1 -0
- package/dist/services/cleanup.js +329 -0
- package/dist/services/cleanup.js.map +1 -0
- package/dist/services/health.d.ts +81 -0
- package/dist/services/health.d.ts.map +1 -0
- package/dist/services/health.js +435 -0
- package/dist/services/health.js.map +1 -0
- package/dist/services/index.d.ts +11 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +10 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/lifecycle.d.ts +238 -0
- package/dist/services/lifecycle.d.ts.map +1 -0
- package/dist/services/lifecycle.js +1391 -0
- package/dist/services/lifecycle.js.map +1 -0
- package/dist/services/liveness-state.d.ts +95 -0
- package/dist/services/liveness-state.d.ts.map +1 -0
- package/dist/services/liveness-state.js +239 -0
- package/dist/services/liveness-state.js.map +1 -0
- package/dist/services/orphans.d.ts +72 -0
- package/dist/services/orphans.d.ts.map +1 -0
- package/dist/services/orphans.js +185 -0
- package/dist/services/orphans.js.map +1 -0
- package/dist/services/process-command.d.ts +25 -0
- package/dist/services/process-command.d.ts.map +1 -0
- package/dist/services/process-command.js +36 -0
- package/dist/services/process-command.js.map +1 -0
- package/dist/services/process-log-archive.d.ts +62 -0
- package/dist/services/process-log-archive.d.ts.map +1 -0
- package/dist/services/process-log-archive.js +150 -0
- package/dist/services/process-log-archive.js.map +1 -0
- package/dist/services/run-log-frames.d.ts +26 -0
- package/dist/services/run-log-frames.d.ts.map +1 -0
- package/dist/services/run-log-frames.js +45 -0
- package/dist/services/run-log-frames.js.map +1 -0
- package/dist/services/startup-warmup.d.ts +23 -0
- package/dist/services/startup-warmup.d.ts.map +1 -0
- package/dist/services/startup-warmup.js +21 -0
- package/dist/services/startup-warmup.js.map +1 -0
- package/dist/services/state-wait.d.ts +28 -0
- package/dist/services/state-wait.d.ts.map +1 -0
- package/dist/services/state-wait.js +57 -0
- package/dist/services/state-wait.js.map +1 -0
- package/dist/services/supervision-policy.d.ts +40 -0
- package/dist/services/supervision-policy.d.ts.map +1 -0
- package/dist/services/supervision-policy.js +48 -0
- package/dist/services/supervision-policy.js.map +1 -0
- package/dist/services/task-supervision.d.ts +14 -0
- package/dist/services/task-supervision.d.ts.map +1 -0
- package/dist/services/task-supervision.js +112 -0
- package/dist/services/task-supervision.js.map +1 -0
- package/dist/services/types/index.d.ts +74 -0
- package/dist/services/types/index.d.ts.map +1 -0
- package/dist/services/types/index.js +11 -0
- package/dist/services/types/index.js.map +1 -0
- package/dist/services/workers.d.ts +75 -0
- package/dist/services/workers.d.ts.map +1 -0
- package/dist/services/workers.js +212 -0
- package/dist/services/workers.js.map +1 -0
- package/dist/storage/workspaces.descriptor.d.ts +12 -0
- package/dist/storage/workspaces.descriptor.d.ts.map +1 -0
- package/dist/storage/workspaces.descriptor.js +33 -0
- package/dist/storage/workspaces.descriptor.js.map +1 -0
- package/dist/store/process-admission.d.ts +11 -0
- package/dist/store/process-admission.d.ts.map +1 -0
- package/dist/store/process-admission.js +46 -0
- package/dist/store/process-admission.js.map +1 -0
- package/dist/store/process-config.impl.consumer.d.ts +22 -0
- package/dist/store/process-config.impl.consumer.d.ts.map +1 -0
- package/dist/store/process-config.impl.consumer.js +84 -0
- package/dist/store/process-config.impl.consumer.js.map +1 -0
- package/dist/store/process-state.impl.consumer.d.ts +25 -0
- package/dist/store/process-state.impl.consumer.d.ts.map +1 -0
- package/dist/store/process-state.impl.consumer.js +140 -0
- package/dist/store/process-state.impl.consumer.js.map +1 -0
- package/dist/store/resource-state.impl.consumer.d.ts +9 -0
- package/dist/store/resource-state.impl.consumer.d.ts.map +1 -0
- package/dist/store/resource-state.impl.consumer.js +48 -0
- package/dist/store/resource-state.impl.consumer.js.map +1 -0
- package/dist/store.impl.consumer.d.ts +121 -0
- package/dist/store.impl.consumer.d.ts.map +1 -0
- package/dist/store.impl.consumer.js +436 -0
- package/dist/store.impl.consumer.js.map +1 -0
- package/dist/surface.d.ts +93 -0
- package/dist/surface.d.ts.map +1 -0
- package/dist/surface.js +153 -0
- package/dist/surface.js.map +1 -0
- package/dist/svelte/components/PMOverview.svelte +527 -0
- package/dist/svelte/components/PMOverview.svelte.d.ts +12 -0
- package/dist/svelte/components/PMOverview.svelte.d.ts.map +1 -0
- package/dist/svelte/index.d.ts +4 -0
- package/dist/svelte/index.d.ts.map +1 -0
- package/dist/svelte/index.js +2 -0
- package/dist/svelte/runtime.d.ts +33 -0
- package/dist/svelte/runtime.d.ts.map +1 -0
- package/dist/svelte/runtime.js +148 -0
- package/dist/svelte/styles.css +2 -0
- package/dist/tasks/completion.d.ts +6 -0
- package/dist/tasks/completion.d.ts.map +1 -0
- package/dist/tasks/completion.js +105 -0
- package/dist/tasks/completion.js.map +1 -0
- package/dist/tasks/index.d.ts +11 -0
- package/dist/tasks/index.d.ts.map +1 -0
- package/dist/tasks/index.js +11 -0
- package/dist/tasks/index.js.map +1 -0
- package/dist/tasks/launch.d.ts +196 -0
- package/dist/tasks/launch.d.ts.map +1 -0
- package/dist/tasks/launch.js +10 -0
- package/dist/tasks/launch.js.map +1 -0
- package/dist/tasks/run-task.d.ts +11 -0
- package/dist/tasks/run-task.d.ts.map +1 -0
- package/dist/tasks/run-task.js +144 -0
- package/dist/tasks/run-task.js.map +1 -0
- package/dist/tasks/schemas.d.ts +83 -0
- package/dist/tasks/schemas.d.ts.map +1 -0
- package/dist/tasks/schemas.js +67 -0
- package/dist/tasks/schemas.js.map +1 -0
- package/dist/testing/daemon.d.ts +64 -0
- package/dist/testing/daemon.d.ts.map +1 -0
- package/dist/testing/daemon.js +125 -0
- package/dist/testing/daemon.js.map +1 -0
- package/dist/tui/components/DaemonHealthCard.d.ts +22 -0
- package/dist/tui/components/DaemonHealthCard.d.ts.map +1 -0
- package/dist/tui/components/DaemonHealthCard.js +30 -0
- package/dist/tui/components/DaemonHealthCard.js.map +1 -0
- package/dist/tui/components/ErrorDetailsPanel.d.ts +16 -0
- package/dist/tui/components/ErrorDetailsPanel.d.ts.map +1 -0
- package/dist/tui/components/ErrorDetailsPanel.js +22 -0
- package/dist/tui/components/ErrorDetailsPanel.js.map +1 -0
- package/dist/tui/components/FilterBar.d.ts +21 -0
- package/dist/tui/components/FilterBar.d.ts.map +1 -0
- package/dist/tui/components/FilterBar.js +31 -0
- package/dist/tui/components/FilterBar.js.map +1 -0
- package/dist/tui/components/StatsBar.d.ts +17 -0
- package/dist/tui/components/StatsBar.d.ts.map +1 -0
- package/dist/tui/components/StatsBar.js +28 -0
- package/dist/tui/components/StatsBar.js.map +1 -0
- package/dist/tui/components/index.d.ts +5 -0
- package/dist/tui/components/index.d.ts.map +1 -0
- package/dist/tui/components/index.js +5 -0
- package/dist/tui/components/index.js.map +1 -0
- package/dist/tui/index.d.ts +7 -0
- package/dist/tui/index.d.ts.map +1 -0
- package/dist/tui/index.js +7 -0
- package/dist/tui/index.js.map +1 -0
- package/dist/tui/pm-dashboard.descriptor.d.ts +11 -0
- package/dist/tui/pm-dashboard.descriptor.d.ts.map +1 -0
- package/dist/tui/pm-dashboard.descriptor.js +26 -0
- package/dist/tui/pm-dashboard.descriptor.js.map +1 -0
- package/dist/tui/pm-dashboard.impl.consumer.d.ts +19 -0
- package/dist/tui/pm-dashboard.impl.consumer.d.ts.map +1 -0
- package/dist/tui/pm-dashboard.impl.consumer.js +839 -0
- package/dist/tui/pm-dashboard.impl.consumer.js.map +1 -0
- package/dist/tui/pm-open.descriptor.d.ts +10 -0
- package/dist/tui/pm-open.descriptor.d.ts.map +1 -0
- package/dist/tui/pm-open.descriptor.js +21 -0
- package/dist/tui/pm-open.descriptor.js.map +1 -0
- package/dist/tui/pm-open.impl.consumer.d.ts +9 -0
- package/dist/tui/pm-open.impl.consumer.d.ts.map +1 -0
- package/dist/tui/pm-open.impl.consumer.js +13 -0
- package/dist/tui/pm-open.impl.consumer.js.map +1 -0
- package/dist/tui/pm-processes.descriptor.d.ts +12 -0
- package/dist/tui/pm-processes.descriptor.d.ts.map +1 -0
- package/dist/tui/pm-processes.descriptor.js +30 -0
- package/dist/tui/pm-processes.descriptor.js.map +1 -0
- package/dist/tui/pm-processes.impl.consumer.d.ts +14 -0
- package/dist/tui/pm-processes.impl.consumer.d.ts.map +1 -0
- package/dist/tui/pm-processes.impl.consumer.js +214 -0
- package/dist/tui/pm-processes.impl.consumer.js.map +1 -0
- package/dist/tui/pm-state-keys.d.ts +316 -0
- package/dist/tui/pm-state-keys.d.ts.map +1 -0
- package/dist/tui/pm-state-keys.js +10 -0
- package/dist/tui/pm-state-keys.js.map +1 -0
- package/dist/tui/pm-status.descriptor.d.ts +11 -0
- package/dist/tui/pm-status.descriptor.d.ts.map +1 -0
- package/dist/tui/pm-status.descriptor.js +29 -0
- package/dist/tui/pm-status.descriptor.js.map +1 -0
- package/dist/tui/pm-status.impl.consumer.d.ts +11 -0
- package/dist/tui/pm-status.impl.consumer.d.ts.map +1 -0
- package/dist/tui/pm-status.impl.consumer.js +75 -0
- package/dist/tui/pm-status.impl.consumer.js.map +1 -0
- package/dist/tui/pm-tui.plugin.d.ts +13 -0
- package/dist/tui/pm-tui.plugin.d.ts.map +1 -0
- package/dist/tui/pm-tui.plugin.js +34 -0
- package/dist/tui/pm-tui.plugin.js.map +1 -0
- package/dist/utils/attempt.d.ts +31 -0
- package/dist/utils/attempt.d.ts.map +1 -0
- package/dist/utils/attempt.js +43 -0
- package/dist/utils/attempt.js.map +1 -0
- package/dist/utils/bounded-wait.d.ts +31 -0
- package/dist/utils/bounded-wait.d.ts.map +1 -0
- package/dist/utils/bounded-wait.js +35 -0
- package/dist/utils/bounded-wait.js.map +1 -0
- package/dist/utils/command-exists.d.ts +5 -0
- package/dist/utils/command-exists.d.ts.map +1 -0
- package/dist/utils/command-exists.js +8 -0
- package/dist/utils/command-exists.js.map +1 -0
- package/dist/utils/daemon-launch-lock.d.ts +143 -0
- package/dist/utils/daemon-launch-lock.d.ts.map +1 -0
- package/dist/utils/daemon-launch-lock.js +420 -0
- package/dist/utils/daemon-launch-lock.js.map +1 -0
- package/dist/utils/daemon-launch-recovery.d.ts +82 -0
- package/dist/utils/daemon-launch-recovery.d.ts.map +1 -0
- package/dist/utils/daemon-launch-recovery.js +173 -0
- package/dist/utils/daemon-launch-recovery.js.map +1 -0
- package/dist/utils/daemon-log-follower.d.ts +41 -0
- package/dist/utils/daemon-log-follower.d.ts.map +1 -0
- package/dist/utils/daemon-log-follower.js +124 -0
- package/dist/utils/daemon-log-follower.js.map +1 -0
- package/dist/utils/daemon-pid.d.ts +42 -0
- package/dist/utils/daemon-pid.d.ts.map +1 -0
- package/dist/utils/daemon-pid.js +80 -0
- package/dist/utils/daemon-pid.js.map +1 -0
- package/dist/utils/daemon-reachability.d.ts +87 -0
- package/dist/utils/daemon-reachability.d.ts.map +1 -0
- package/dist/utils/daemon-reachability.js +131 -0
- package/dist/utils/daemon-reachability.js.map +1 -0
- package/dist/utils/daemon-stdio-timestamps.d.ts +24 -0
- package/dist/utils/daemon-stdio-timestamps.d.ts.map +1 -0
- package/dist/utils/daemon-stdio-timestamps.js +59 -0
- package/dist/utils/daemon-stdio-timestamps.js.map +1 -0
- package/dist/utils/daemon-stop.d.ts +66 -0
- package/dist/utils/daemon-stop.d.ts.map +1 -0
- package/dist/utils/daemon-stop.js +100 -0
- package/dist/utils/daemon-stop.js.map +1 -0
- package/dist/utils/errno-failure.d.ts +16 -0
- package/dist/utils/errno-failure.d.ts.map +1 -0
- package/dist/utils/errno-failure.js +15 -0
- package/dist/utils/errno-failure.js.map +1 -0
- package/dist/utils/exec.d.ts +27 -0
- package/dist/utils/exec.d.ts.map +1 -0
- package/dist/utils/exec.js +36 -0
- package/dist/utils/exec.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/liveness.d.ts +100 -0
- package/dist/utils/liveness.d.ts.map +1 -0
- package/dist/utils/liveness.js +225 -0
- package/dist/utils/liveness.js.map +1 -0
- package/dist/utils/logging.d.ts +60 -0
- package/dist/utils/logging.d.ts.map +1 -0
- package/dist/utils/logging.js +169 -0
- package/dist/utils/logging.js.map +1 -0
- package/dist/utils/path-under.d.ts +15 -0
- package/dist/utils/path-under.d.ts.map +1 -0
- package/dist/utils/path-under.js +16 -0
- package/dist/utils/path-under.js.map +1 -0
- package/dist/utils/port-ownership.d.ts +160 -0
- package/dist/utils/port-ownership.d.ts.map +1 -0
- package/dist/utils/port-ownership.js +176 -0
- package/dist/utils/port-ownership.js.map +1 -0
- package/dist/utils/ports.d.ts +43 -0
- package/dist/utils/ports.d.ts.map +1 -0
- package/dist/utils/ports.js +200 -0
- package/dist/utils/ports.js.map +1 -0
- package/dist/utils/process-tree.d.ts +33 -0
- package/dist/utils/process-tree.d.ts.map +1 -0
- package/dist/utils/process-tree.js +197 -0
- package/dist/utils/process-tree.js.map +1 -0
- package/dist/utils/semaphore.d.ts +16 -0
- package/dist/utils/semaphore.d.ts.map +1 -0
- package/dist/utils/semaphore.js +30 -0
- package/dist/utils/semaphore.js.map +1 -0
- package/dist/utils/socket-inode.impl.consumer.d.ts +26 -0
- package/dist/utils/socket-inode.impl.consumer.d.ts.map +1 -0
- package/dist/utils/socket-inode.impl.consumer.js +30 -0
- package/dist/utils/socket-inode.impl.consumer.js.map +1 -0
- package/dist/utils/socket-paths.d.ts +121 -0
- package/dist/utils/socket-paths.d.ts.map +1 -0
- package/dist/utils/socket-paths.js +167 -0
- package/dist/utils/socket-paths.js.map +1 -0
- package/dist/utils/socket.d.ts +65 -0
- package/dist/utils/socket.d.ts.map +1 -0
- package/dist/utils/socket.js +87 -0
- package/dist/utils/socket.js.map +1 -0
- package/dist/utils/version.d.ts +40 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +65 -0
- package/dist/utils/version.js.map +1 -0
- package/dist/utils/vibes-home.d.ts +34 -0
- package/dist/utils/vibes-home.d.ts.map +1 -0
- package/dist/utils/vibes-home.js +27 -0
- package/dist/utils/vibes-home.js.map +1 -0
- package/dist/workspace-runtime.d.ts +38 -0
- package/dist/workspace-runtime.d.ts.map +1 -0
- package/dist/workspace-runtime.js +176 -0
- package/dist/workspace-runtime.js.map +1 -0
- package/package.json +465 -4
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Orphan Process Scanner
|
|
3
|
+
* Detects and handles orphaned processes on ports
|
|
4
|
+
*
|
|
5
|
+
* A conflicting holder is only ever signalled when `utils/port-ownership.ts`
|
|
6
|
+
* can prove PM started it. A look-alike command line is NOT proof — see that
|
|
7
|
+
* module's header for the three foreign MCP hosts this killed.
|
|
8
|
+
*/
|
|
9
|
+
import { CapabilityError, valueFreeFailure } from '@vibesdotdev/kernel';
|
|
10
|
+
import { attempt, failureLabel } from "../utils/attempt.js";
|
|
11
|
+
import {} from "../schemas/process.js";
|
|
12
|
+
import { getLogger } from '@vibesdotdev/logging';
|
|
13
|
+
import { killProcessTree, isProcessRunning } from "../utils/process-tree.js";
|
|
14
|
+
import { formatForeignHolderRefusal, provePortOwnership } from "../utils/port-ownership.js";
|
|
15
|
+
import { findPortConflicts, isCommandLineMatch, matchesCommandSignature } from "../utils/ports.js";
|
|
16
|
+
export function selectMatchingCommandRoots(processes, config, knownPids = new Set()) {
|
|
17
|
+
const byPid = new Map(processes.map((process) => [process.pid, process]));
|
|
18
|
+
const matchingPids = new Set(processes
|
|
19
|
+
.filter((process) => !knownPids.has(process.pid))
|
|
20
|
+
.filter((process) => isCommandLineMatch(process.command, config))
|
|
21
|
+
.map((process) => process.pid));
|
|
22
|
+
return processes.filter((process) => {
|
|
23
|
+
if (!matchingPids.has(process.pid))
|
|
24
|
+
return false;
|
|
25
|
+
let current = process;
|
|
26
|
+
while (current.ppid && byPid.has(current.ppid)) {
|
|
27
|
+
current = byPid.get(current.ppid);
|
|
28
|
+
if (matchingPids.has(current.pid))
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
return true;
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Does the holder's command line look like the config we are starting?
|
|
36
|
+
*
|
|
37
|
+
* SIGNATURE ONLY. This answers "could this plausibly be an instance of this
|
|
38
|
+
* config", never "is this ours" — a peer lane's identical `vibes dev mcp serve
|
|
39
|
+
* --mode http --port 3000` matches every token here. Ownership is decided by
|
|
40
|
+
* `provePortOwnership`, which additionally demands scope.
|
|
41
|
+
*/
|
|
42
|
+
export async function conflictSignatureMatches(runtime, conflict, config) {
|
|
43
|
+
return matchesCommandSignature(runtime, conflict.command, config, conflict.port);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Check if we may signal a conflicting process.
|
|
47
|
+
*
|
|
48
|
+
* Returns `canKill: true` ONLY with a named ownership basis. Everything else is
|
|
49
|
+
* a refusal that names the holder pid and a remedy, because the alternative —
|
|
50
|
+
* killing a stranger who happens to hold a machine-global port — is the defect
|
|
51
|
+
* this function exists to prevent.
|
|
52
|
+
*/
|
|
53
|
+
export async function canKillConflict(runtime, conflict, config, _existingPid, seams) {
|
|
54
|
+
const ownership = await provePortOwnership({
|
|
55
|
+
runtime,
|
|
56
|
+
pid: conflict.pid,
|
|
57
|
+
isOurs: conflict.isOurs,
|
|
58
|
+
signatureMatches: await conflictSignatureMatches(runtime, conflict, config),
|
|
59
|
+
configCwd: config.cwd,
|
|
60
|
+
daemonScope: seams?.daemonScope,
|
|
61
|
+
daemonPid: seams?.daemonPid,
|
|
62
|
+
resolveCwd: seams?.resolveCwd,
|
|
63
|
+
resolveScopeEnv: seams?.resolveScopeEnv,
|
|
64
|
+
isDescendant: seams?.isDescendant
|
|
65
|
+
});
|
|
66
|
+
if (ownership.owned)
|
|
67
|
+
return { canKill: true, ownership };
|
|
68
|
+
return {
|
|
69
|
+
canKill: false,
|
|
70
|
+
reason: formatForeignHolderRefusal({
|
|
71
|
+
port: conflict.port,
|
|
72
|
+
pid: conflict.pid,
|
|
73
|
+
command: conflict.command,
|
|
74
|
+
holderCwd: ownership.holderCwd,
|
|
75
|
+
ourCwd: config.cwd,
|
|
76
|
+
mismatch: ownership.mismatch,
|
|
77
|
+
reason: ownership.reason
|
|
78
|
+
}),
|
|
79
|
+
ownership
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Scan for and optionally kill orphaned processes on ports used by a config
|
|
84
|
+
* This prevents "address already in use" errors
|
|
85
|
+
*/
|
|
86
|
+
export async function scanAndKillOrphans(runtime, config, existingState, daemonScope) {
|
|
87
|
+
const log = getLogger('pm:orphans', runtime);
|
|
88
|
+
const result = {
|
|
89
|
+
foundOrphans: false,
|
|
90
|
+
killedPids: [],
|
|
91
|
+
errors: []
|
|
92
|
+
};
|
|
93
|
+
const existingPid = existingState?.pid ?? null;
|
|
94
|
+
const conflicts = await findPortConflicts(runtime, config, existingPid);
|
|
95
|
+
for (const conflict of conflicts) {
|
|
96
|
+
const { canKill, reason, ownership } = await canKillConflict(runtime, conflict, config, existingPid, {
|
|
97
|
+
daemonScope
|
|
98
|
+
});
|
|
99
|
+
if (!canKill) {
|
|
100
|
+
// Rule 13: a stranger on our port is reported LOUDLY, not routed around
|
|
101
|
+
// and certainly not killed.
|
|
102
|
+
log.warn('Refusing to signal a port holder this daemon does not own', {
|
|
103
|
+
processId: config.id,
|
|
104
|
+
port: conflict.port,
|
|
105
|
+
holderPid: conflict.pid,
|
|
106
|
+
holderCommand: conflict.command?.slice(0, 200) ?? null,
|
|
107
|
+
holderCwd: ownership.holderCwd,
|
|
108
|
+
ourCwd: config.cwd ?? null,
|
|
109
|
+
refusalReason: ownership.owned ? 'owned' : ownership.reason,
|
|
110
|
+
scopeFact: ownership.owned ? null : (ownership.mismatch ?? null)
|
|
111
|
+
});
|
|
112
|
+
result.errors.push({
|
|
113
|
+
port: conflict.port,
|
|
114
|
+
pid: conflict.pid,
|
|
115
|
+
error: reason || 'Unknown reason'
|
|
116
|
+
});
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
// Log and kill the orphan
|
|
120
|
+
log.warn('Found orphaned process on port', {
|
|
121
|
+
processId: config.id,
|
|
122
|
+
port: conflict.port,
|
|
123
|
+
orphanedPid: conflict.pid,
|
|
124
|
+
killPid: conflict.killPid,
|
|
125
|
+
type: conflict.type,
|
|
126
|
+
ownershipBasis: ownership.owned ? ownership.basis : 'unknown',
|
|
127
|
+
willKill: true
|
|
128
|
+
});
|
|
129
|
+
const killed = await attempt(() => killProcessTree(runtime, conflict.killPid, `${config.id}-orphan-${conflict.type}`));
|
|
130
|
+
if (!killed.ok) {
|
|
131
|
+
const failure = valueFreeFailure(killed.failure);
|
|
132
|
+
log.error('Failed to kill orphaned process', {
|
|
133
|
+
processId: config.id,
|
|
134
|
+
port: conflict.port,
|
|
135
|
+
orphanedPid: conflict.pid,
|
|
136
|
+
killPid: conflict.killPid,
|
|
137
|
+
failure,
|
|
138
|
+
manualKillCommand: `kill -9 ${conflict.killPid}`
|
|
139
|
+
});
|
|
140
|
+
result.errors.push({
|
|
141
|
+
port: conflict.port,
|
|
142
|
+
pid: conflict.pid,
|
|
143
|
+
error: `Failed to kill (${failureLabel(killed.failure)}). Manual: kill -9 ${conflict.killPid}`
|
|
144
|
+
});
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
result.foundOrphans = true;
|
|
148
|
+
result.killedPids.push(conflict.killPid);
|
|
149
|
+
log.info('Killed orphaned process', {
|
|
150
|
+
processId: config.id,
|
|
151
|
+
port: conflict.port,
|
|
152
|
+
orphanedPid: conflict.pid,
|
|
153
|
+
killPid: conflict.killPid
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
// If we have errors that prevent starting, throw
|
|
157
|
+
if (result.errors.length > 0 && result.killedPids.length === 0) {
|
|
158
|
+
const firstError = result.errors[0];
|
|
159
|
+
throw new CapabilityError(firstError.error, 'CONFLICT', {
|
|
160
|
+
reason: 'pm-port-conflict-unresolved',
|
|
161
|
+
details: { processId: config.id, port: firstError.port, pid: firstError.pid }
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
return result;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Check for orphaned process by PID (when state says running but process is dead)
|
|
168
|
+
* Returns the PID if it should be killed, null otherwise
|
|
169
|
+
*/
|
|
170
|
+
export async function checkOrphanedByState(runtime, _config, state) {
|
|
171
|
+
if (!state.pid) {
|
|
172
|
+
return { shouldKill: false, pid: null };
|
|
173
|
+
}
|
|
174
|
+
// Check if process is actually running
|
|
175
|
+
const running = await isProcessRunning(runtime, state.pid);
|
|
176
|
+
if (!running) {
|
|
177
|
+
return { shouldKill: false, pid: null };
|
|
178
|
+
}
|
|
179
|
+
// Process is running but state says not running - it's orphaned
|
|
180
|
+
if (state.status !== 'running') {
|
|
181
|
+
return { shouldKill: true, pid: state.pid };
|
|
182
|
+
}
|
|
183
|
+
return { shouldKill: false, pid: null };
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=orphans.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orphans.js","sourceRoot":"","sources":["../../src/services/orphans.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { RuntimeHostCommandImplementation } from '@vibesdotdev/kernel';
|
|
2
|
+
import type { ProcessConfig } from '../schemas/process.ts';
|
|
3
|
+
import type { LifecycleHook } from '../schemas/common.ts';
|
|
4
|
+
export interface ResolvedProcessCommand {
|
|
5
|
+
command: string;
|
|
6
|
+
args: string[];
|
|
7
|
+
}
|
|
8
|
+
export type ResolvedHookCommand = ResolvedProcessCommand;
|
|
9
|
+
/**
|
|
10
|
+
* Resolve a process command at activation, never descriptor registration.
|
|
11
|
+
*
|
|
12
|
+
* A `selfSpawn` process re-enters the running host: its argv is the host
|
|
13
|
+
* command's self-spawn argv, followed by the descriptor's `args` (S15). The
|
|
14
|
+
* caller passes the selected host's commands; a self-spawn process without
|
|
15
|
+
* them, or on a host that declares no re-entry, fails closed.
|
|
16
|
+
*/
|
|
17
|
+
export declare function resolveProcessCommand(config: Pick<ProcessConfig, 'id' | 'command' | 'args' | 'selfSpawn'>, hostCommands?: Pick<RuntimeHostCommandImplementation, 'selfSpawnArgv'>): ResolvedProcessCommand;
|
|
18
|
+
/**
|
|
19
|
+
* Resolve a lifecycle hook command at execution.
|
|
20
|
+
*
|
|
21
|
+
* A `selfSpawn` hook re-enters the running host: its argv is the host command's
|
|
22
|
+
* self-spawn argv, followed by the hook's `args`.
|
|
23
|
+
*/
|
|
24
|
+
export declare function resolveHookCommand(hook: Pick<LifecycleHook, 'command' | 'args' | 'selfSpawn'>, hostCommands?: Pick<RuntimeHostCommandImplementation, 'selfSpawnArgv'>, label?: string): ResolvedHookCommand;
|
|
25
|
+
//# sourceMappingURL=process-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-command.d.ts","sourceRoot":"","sources":["../../src/services/process-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,WAAW,sBAAsB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CACf;AAED,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;AAEzD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACpC,MAAM,EAAE,IAAI,CACX,aAAa,EACb,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,CACvC,EACD,YAAY,CAAC,EAAE,IAAI,CAAC,gCAAgC,EAAE,eAAe,CAAC,GACpE,sBAAsB,CAUxB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CACjC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC,EAC3D,YAAY,CAAC,EAAE,IAAI,CAAC,gCAAgC,EAAE,eAAe,CAAC,EACtE,KAAK,CAAC,EAAE,MAAM,GACZ,mBAAmB,CAWrB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve a process command at activation, never descriptor registration.
|
|
3
|
+
*
|
|
4
|
+
* A `selfSpawn` process re-enters the running host: its argv is the host
|
|
5
|
+
* command's self-spawn argv, followed by the descriptor's `args` (S15). The
|
|
6
|
+
* caller passes the selected host's commands; a self-spawn process without
|
|
7
|
+
* them, or on a host that declares no re-entry, fails closed.
|
|
8
|
+
*/
|
|
9
|
+
export function resolveProcessCommand(config, hostCommands) {
|
|
10
|
+
if (config.selfSpawn) {
|
|
11
|
+
if (!hostCommands) {
|
|
12
|
+
throw new Error(`Process '${config.id}' re-enters the Vibes host, but no host commands were provided`);
|
|
13
|
+
}
|
|
14
|
+
const [command, ...prefixArgs] = hostCommands.selfSpawnArgv(`PM process '${config.id}'`);
|
|
15
|
+
return { command, args: [...prefixArgs, ...(config.args ?? [])] };
|
|
16
|
+
}
|
|
17
|
+
return { command: config.command, args: [...(config.args ?? [])] };
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Resolve a lifecycle hook command at execution.
|
|
21
|
+
*
|
|
22
|
+
* A `selfSpawn` hook re-enters the running host: its argv is the host command's
|
|
23
|
+
* self-spawn argv, followed by the hook's `args`.
|
|
24
|
+
*/
|
|
25
|
+
export function resolveHookCommand(hook, hostCommands, label) {
|
|
26
|
+
if (hook.selfSpawn) {
|
|
27
|
+
const hookLabel = label ?? `Lifecycle hook '${hook.command}'`;
|
|
28
|
+
if (!hostCommands) {
|
|
29
|
+
throw new Error(`${hookLabel} re-enters the Vibes host, but no host commands were provided`);
|
|
30
|
+
}
|
|
31
|
+
const [command, ...prefixArgs] = hostCommands.selfSpawnArgv(hookLabel);
|
|
32
|
+
return { command, args: [...prefixArgs, ...(hook.args ?? [])] };
|
|
33
|
+
}
|
|
34
|
+
return { command: hook.command, args: [...(hook.args ?? [])] };
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=process-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-command.js","sourceRoot":"","sources":["../../src/services/process-command.ts"],"names":[],"mappings":"AAWA;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACpC,MAGC,EACD,YAAsE;IAEtE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,YAAY,MAAM,CAAC,EAAE,gEAAgE,CAAC,CAAC;QACxG,CAAC;QACD,MAAM,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,GAAG,YAAY,CAAC,aAAa,CAAC,eAAe,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QACzF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACnE,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;AACpE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CACjC,IAA2D,EAC3D,YAAsE,EACtE,KAAc;IAEd,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,KAAK,IAAI,mBAAmB,IAAI,CAAC,OAAO,GAAG,CAAC;QAC9D,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,+DAA+D,CAAC,CAAC;QAC9F,CAAC;QACD,MAAM,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,GAAG,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACvE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;AAChE,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Previous-run log archive.
|
|
3
|
+
*
|
|
4
|
+
* `LifecycleService.truncateLogs` rewrites `<id>.stdout` / `<id>.stderr` with
|
|
5
|
+
* a "Process started at" marker on EVERY start, so the crash reason of the
|
|
6
|
+
* run that just ended is gone by the time anyone looks (measured 2026-09-06:
|
|
7
|
+
* mcp-server-dev at 882 lifetime restarts, its stdout holding the 207-byte
|
|
8
|
+
* marker and nothing else). Its own size-based rotation fires only past 100MB.
|
|
9
|
+
*
|
|
10
|
+
* The end of a run is observable at the store: every writer that retires a
|
|
11
|
+
* pid — lifecycle's exit handler, `stop`, the daemon health monitor's kill,
|
|
12
|
+
* the liveness checker — does so through `ProcessStore.update`. This module
|
|
13
|
+
* listens there (`ProcessStore.onRunEnd`), stamps an exit banner onto the
|
|
14
|
+
* current logs so `pm logs` shows it until the next start, and copies one
|
|
15
|
+
* size-capped generation to `<id>.stdout.previous` / `<id>.stderr.previous`,
|
|
16
|
+
* where the next start cannot reach it.
|
|
17
|
+
*
|
|
18
|
+
* One generation, under its own name (pm.md U3): size rotation
|
|
19
|
+
* (the logging owner's `rotateAppendedFile`) owns `.1`..`.N`, and the archive once wrote `.1`
|
|
20
|
+
* too, so each overwrote the other's evidence.
|
|
21
|
+
*/
|
|
22
|
+
import type { RuntimeRef } from '@vibesdotdev/kernel';
|
|
23
|
+
import type { ProcessState } from '../schemas/process.ts';
|
|
24
|
+
import type { ProcessRunEnd, RunEndInitiator } from '../store.impl.consumer.ts';
|
|
25
|
+
import type { ArchiveRunLogsOptions, ArchiveRunLogsResult, ProcessRunArchiverOptions } from './types/index.ts';
|
|
26
|
+
export type { ArchiveRunLogsOptions, ArchiveRunLogsResult, ProcessRunArchiverOptions } from './types/index.ts';
|
|
27
|
+
export type { RunEndInitiator };
|
|
28
|
+
export type { RunEndBannerInput } from './run-log-frames.ts';
|
|
29
|
+
export { describeExitCode, formatRunEndBanner, formatRunStartMarker, runOutputOf } from './run-log-frames.ts';
|
|
30
|
+
/** The previous-run archive's suffix: distinct from size rotation's `.1`..`.N`. */
|
|
31
|
+
export declare const PREVIOUS_RUN_SUFFIX = ".previous";
|
|
32
|
+
/** Tail kept per stream for the previous run. */
|
|
33
|
+
export declare const PREVIOUS_RUN_LOG_MAX_BYTES: number;
|
|
34
|
+
/**
|
|
35
|
+
* Previous runs kept per stream: `.previous` is the newest, then `.previous.2`
|
|
36
|
+
* and `.previous.3`. One generation was not enough: when a service crashed
|
|
37
|
+
* three times in a row and a later restart failed under ENFILE, the failed
|
|
38
|
+
* archive copy left only the last run. The older runs shift up first, so a
|
|
39
|
+
* failed copy loses nothing already archived. Distinct from size rotation's
|
|
40
|
+
* `.1`..`.N` (pm.md U3).
|
|
41
|
+
*/
|
|
42
|
+
export declare const PREVIOUS_RUN_GENERATIONS = 3;
|
|
43
|
+
export declare function resolveRunEndInitiator(existing: ProcessState, updates: Partial<ProcessState>, pending?: RunEndInitiator): RunEndInitiator;
|
|
44
|
+
/**
|
|
45
|
+
* Append `banner` to the current logs and copy their (capped) tail to
|
|
46
|
+
* `.previous`, through the handed runtime's filesystem.
|
|
47
|
+
* The current file is copied, never renamed: until the next start truncates
|
|
48
|
+
* it, `pm logs <id>` must keep reading the run that just ended.
|
|
49
|
+
*
|
|
50
|
+
* The banner is appended through the filesystem kind's `append` and the capped
|
|
51
|
+
* tail is read with its ranged read, so a stream is never read whole or rewritten.
|
|
52
|
+
*/
|
|
53
|
+
export declare function archiveRunLogs(runtime: RuntimeRef, options: ArchiveRunLogsOptions): Promise<ArchiveRunLogsResult>;
|
|
54
|
+
/** Every previous-run archive of the stream log at `logPath`: `.previous`, then `.previous.2` … `.previous.N`. */
|
|
55
|
+
export declare function previousRunLogPaths(logPath: string): string[];
|
|
56
|
+
/**
|
|
57
|
+
* A `ProcessStore.onRunEnd` listener. Archives once per (processId, pid): a
|
|
58
|
+
* health-kill retires the same pid twice — the monitor's write, then
|
|
59
|
+
* lifecycle's exit handler — and must not double-stamp the log.
|
|
60
|
+
*/
|
|
61
|
+
export declare function createProcessRunArchiver(options: ProcessRunArchiverOptions): (event: ProcessRunEnd) => Promise<void>;
|
|
62
|
+
//# sourceMappingURL=process-log-archive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-log-archive.d.ts","sourceRoot":"","sources":["../../src/services/process-log-archive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAGhF,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC/G,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAE/G,YAAY,EAAE,eAAe,EAAE,CAAC;AAChC,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE9G,mFAAmF;AACnF,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAE/C,iDAAiD;AACjD,eAAO,MAAM,0BAA0B,QAAc,CAAC;AAEtD;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,wBAAgB,sBAAsB,CACrC,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,EAC9B,OAAO,CAAC,EAAE,eAAe,GACvB,eAAe,CAGjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAavH;AA0BD,kHAAkH;AAClH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAG7D;AAwBD;;;;GAIG;AACH,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,yBAAyB,GAChC,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAiCzC"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Previous-run log archive.
|
|
3
|
+
*
|
|
4
|
+
* `LifecycleService.truncateLogs` rewrites `<id>.stdout` / `<id>.stderr` with
|
|
5
|
+
* a "Process started at" marker on EVERY start, so the crash reason of the
|
|
6
|
+
* run that just ended is gone by the time anyone looks (measured 2026-09-06:
|
|
7
|
+
* mcp-server-dev at 882 lifetime restarts, its stdout holding the 207-byte
|
|
8
|
+
* marker and nothing else). Its own size-based rotation fires only past 100MB.
|
|
9
|
+
*
|
|
10
|
+
* The end of a run is observable at the store: every writer that retires a
|
|
11
|
+
* pid — lifecycle's exit handler, `stop`, the daemon health monitor's kill,
|
|
12
|
+
* the liveness checker — does so through `ProcessStore.update`. This module
|
|
13
|
+
* listens there (`ProcessStore.onRunEnd`), stamps an exit banner onto the
|
|
14
|
+
* current logs so `pm logs` shows it until the next start, and copies one
|
|
15
|
+
* size-capped generation to `<id>.stdout.previous` / `<id>.stderr.previous`,
|
|
16
|
+
* where the next start cannot reach it.
|
|
17
|
+
*
|
|
18
|
+
* One generation, under its own name (pm.md U3): size rotation
|
|
19
|
+
* (the logging owner's `rotateAppendedFile`) owns `.1`..`.N`, and the archive once wrote `.1`
|
|
20
|
+
* too, so each overwrote the other's evidence.
|
|
21
|
+
*/
|
|
22
|
+
import { getRuntimePath } from '@vibesdotdev/paths';
|
|
23
|
+
import { resolveFileSystemAdapter } from '@vibesdotdev/filesystem/client/resolve-adapter';
|
|
24
|
+
import { appendFileChecked, readFileRangeChecked } from '@vibesdotdev/filesystem/core';
|
|
25
|
+
import { attempt } from "../utils/attempt.js";
|
|
26
|
+
import { formatRunEndBanner } from "./run-log-frames.js";
|
|
27
|
+
export { describeExitCode, formatRunEndBanner, formatRunStartMarker, runOutputOf } from "./run-log-frames.js";
|
|
28
|
+
/** The previous-run archive's suffix: distinct from size rotation's `.1`..`.N`. */
|
|
29
|
+
export const PREVIOUS_RUN_SUFFIX = '.previous';
|
|
30
|
+
/** Tail kept per stream for the previous run. */
|
|
31
|
+
export const PREVIOUS_RUN_LOG_MAX_BYTES = 1024 * 1024;
|
|
32
|
+
/**
|
|
33
|
+
* Previous runs kept per stream: `.previous` is the newest, then `.previous.2`
|
|
34
|
+
* and `.previous.3`. One generation was not enough: when a service crashed
|
|
35
|
+
* three times in a row and a later restart failed under ENFILE, the failed
|
|
36
|
+
* archive copy left only the last run. The older runs shift up first, so a
|
|
37
|
+
* failed copy loses nothing already archived. Distinct from size rotation's
|
|
38
|
+
* `.1`..`.N` (pm.md U3).
|
|
39
|
+
*/
|
|
40
|
+
export const PREVIOUS_RUN_GENERATIONS = 3;
|
|
41
|
+
export function resolveRunEndInitiator(existing, updates, pending) {
|
|
42
|
+
if (updates.killedByDaemon === true || existing.killedByDaemon === true)
|
|
43
|
+
return 'health-kill';
|
|
44
|
+
return pending ?? 'exit';
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Append `banner` to the current logs and copy their (capped) tail to
|
|
48
|
+
* `.previous`, through the handed runtime's filesystem.
|
|
49
|
+
* The current file is copied, never renamed: until the next start truncates
|
|
50
|
+
* it, `pm logs <id>` must keep reading the run that just ended.
|
|
51
|
+
*
|
|
52
|
+
* The banner is appended through the filesystem kind's `append` and the capped
|
|
53
|
+
* tail is read with its ranged read, so a stream is never read whole or rewritten.
|
|
54
|
+
*/
|
|
55
|
+
export async function archiveRunLogs(runtime, options) {
|
|
56
|
+
const maxBytes = options.maxBytes ?? PREVIOUS_RUN_LOG_MAX_BYTES;
|
|
57
|
+
const files = await resolveFileSystemAdapter(runtime, { binding: false });
|
|
58
|
+
const path = await getRuntimePath(runtime);
|
|
59
|
+
const result = { archived: [], failed: [] };
|
|
60
|
+
for (const stream of ['stdout', 'stderr']) {
|
|
61
|
+
const logPath = path.join(options.logDir, `${options.processId}.${stream}`);
|
|
62
|
+
const previousPath = `${logPath}${PREVIOUS_RUN_SUFFIX}`;
|
|
63
|
+
const archived = await attempt(() => archiveStream(files, logPath, previousPath, options.banner, maxBytes));
|
|
64
|
+
if (!archived.ok)
|
|
65
|
+
result.failed.push({ path: logPath, failure: archived.failure });
|
|
66
|
+
else if (archived.value)
|
|
67
|
+
result.archived.push(previousPath);
|
|
68
|
+
}
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
71
|
+
/** Stamp one stream's banner and write its capped tail to `previousPath`; false when the stream has no log. */
|
|
72
|
+
async function archiveStream(files, logPath, previousPath, banner, maxBytes) {
|
|
73
|
+
if (!(await files.exists(logPath)))
|
|
74
|
+
return false;
|
|
75
|
+
await appendFileChecked(files, logPath, banner);
|
|
76
|
+
// Only the capped tail is read: a ranged read from `offset`, never the whole log.
|
|
77
|
+
const { size } = await files.stat(logPath);
|
|
78
|
+
const offset = Math.max(0, size - maxBytes);
|
|
79
|
+
const kept = await readFileRangeChecked(files, logPath, { offset, length: size - offset });
|
|
80
|
+
await shiftPreviousRuns(files, previousPath);
|
|
81
|
+
await files.writeFile(previousPath, previousRunTail(kept, offset));
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
/** The archive of previous run `generation` (1 is `.previous` itself). */
|
|
85
|
+
function previousRunPath(previousPath, generation) {
|
|
86
|
+
return generation === 1 ? previousPath : `${previousPath}.${generation}`;
|
|
87
|
+
}
|
|
88
|
+
/** Every previous-run archive of the stream log at `logPath`: `.previous`, then `.previous.2` … `.previous.N`. */
|
|
89
|
+
export function previousRunLogPaths(logPath) {
|
|
90
|
+
const previousPath = `${logPath}${PREVIOUS_RUN_SUFFIX}`;
|
|
91
|
+
return Array.from({ length: PREVIOUS_RUN_GENERATIONS }, (_, index) => previousRunPath(previousPath, index + 1));
|
|
92
|
+
}
|
|
93
|
+
/** `.previous.(N-1)` becomes `.previous.N` down to `.previous` becoming `.previous.2`, dropping the oldest; a missing generation is skipped. */
|
|
94
|
+
async function shiftPreviousRuns(files, previousPath) {
|
|
95
|
+
const oldest = previousRunPath(previousPath, PREVIOUS_RUN_GENERATIONS);
|
|
96
|
+
if (await files.exists(oldest))
|
|
97
|
+
await files.remove(oldest);
|
|
98
|
+
for (let generation = PREVIOUS_RUN_GENERATIONS - 1; generation >= 1; generation--) {
|
|
99
|
+
const from = previousRunPath(previousPath, generation);
|
|
100
|
+
if (await files.exists(from))
|
|
101
|
+
await files.rename(from, previousRunPath(previousPath, generation + 1));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/** The previous run as `.previous` holds it: all of the log, or its last bytes (`kept`) under a header that says how many earlier bytes (`dropped`) were left out. */
|
|
105
|
+
function previousRunTail(kept, dropped) {
|
|
106
|
+
if (dropped === 0)
|
|
107
|
+
return kept;
|
|
108
|
+
const header = new TextEncoder().encode(`[pm] previous run: ${dropped} earlier bytes dropped, last ${kept.length} kept\n`);
|
|
109
|
+
const tail = new Uint8Array(header.length + kept.length);
|
|
110
|
+
tail.set(header);
|
|
111
|
+
tail.set(kept, header.length);
|
|
112
|
+
return tail;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* A `ProcessStore.onRunEnd` listener. Archives once per (processId, pid): a
|
|
116
|
+
* health-kill retires the same pid twice — the monitor's write, then
|
|
117
|
+
* lifecycle's exit handler — and must not double-stamp the log.
|
|
118
|
+
*/
|
|
119
|
+
export function createProcessRunArchiver(options) {
|
|
120
|
+
const archivedPids = new Map();
|
|
121
|
+
return async ({ existing, updates }) => {
|
|
122
|
+
const pid = existing.pid;
|
|
123
|
+
if (pid === undefined)
|
|
124
|
+
return;
|
|
125
|
+
if (archivedPids.get(existing.id) === pid)
|
|
126
|
+
return;
|
|
127
|
+
archivedPids.set(existing.id, pid);
|
|
128
|
+
const initiator = resolveRunEndInitiator(existing, updates, options.pendingInitiator?.(existing.id));
|
|
129
|
+
const banner = formatRunEndBanner({
|
|
130
|
+
at: options.now?.() ?? new Date(),
|
|
131
|
+
exitCode: updates.exitCode ?? existing.exitCode,
|
|
132
|
+
signal: updates.signal ?? existing.signal,
|
|
133
|
+
initiator,
|
|
134
|
+
reason: updates.lastError ?? existing.lastError
|
|
135
|
+
});
|
|
136
|
+
const result = await archiveRunLogs(options.getRuntime(), {
|
|
137
|
+
logDir: options.logDir,
|
|
138
|
+
processId: existing.id,
|
|
139
|
+
banner,
|
|
140
|
+
maxBytes: options.maxBytes
|
|
141
|
+
});
|
|
142
|
+
if (result.archived.length > 0) {
|
|
143
|
+
options.onArchived?.({ processId: existing.id, initiator, archived: result.archived });
|
|
144
|
+
}
|
|
145
|
+
if (result.failed.length > 0) {
|
|
146
|
+
options.onFailed?.({ processId: existing.id, failed: result.failed });
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=process-log-archive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-log-archive.js","sourceRoot":"","sources":["../../src/services/process-log-archive.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The frames PM writes around a run's log.
|
|
3
|
+
*
|
|
4
|
+
* Host-free by construction: pure string and `Date` work, no runtime, no
|
|
5
|
+
* filesystem, no paths. `LifecycleService` writes the frames with these
|
|
6
|
+
* functions, and a consumer that only wants what the process wrote strips them
|
|
7
|
+
* with `runOutputOf` — including `@vibesdotdev/pm/tasks`, which must stay
|
|
8
|
+
* host-free so the cloud graph can run it.
|
|
9
|
+
*
|
|
10
|
+
* PM owns both frames, so only PM parses them. The previous-run archive
|
|
11
|
+
* (host-bound) imports the writers from here; `./run-output` exports the reader.
|
|
12
|
+
*/
|
|
13
|
+
import type { RunEndBannerInput } from './types/index.ts';
|
|
14
|
+
export type { RunEndBannerInput } from './types/index.ts';
|
|
15
|
+
/** Honest wording: lifecycle maps a signal death to -1 and drops the name. */
|
|
16
|
+
export declare function describeExitCode(exitCode: number | undefined, signal: string | undefined): string;
|
|
17
|
+
/** The marker `LifecycleService` writes at the head of each log when a run starts. */
|
|
18
|
+
export declare function formatRunStartMarker(timestamp: string): string;
|
|
19
|
+
export declare function formatRunEndBanner(input: RunEndBannerInput): string;
|
|
20
|
+
/**
|
|
21
|
+
* What one run of a process wrote, without the start marker and exit banner
|
|
22
|
+
* PM frames its logs with: the current log of a finished run, as
|
|
23
|
+
* `readLogsSince(id, { stdout: 0, stderr: 0 })` returns it.
|
|
24
|
+
*/
|
|
25
|
+
export declare function runOutputOf(log: string): string;
|
|
26
|
+
//# sourceMappingURL=run-log-frames.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-log-frames.d.ts","sourceRoot":"","sources":["../../src/services/run-log-frames.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAI1D,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAKjG;AAED,sFAAsF;AACtF,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9D;AAKD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAQnE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The frames PM writes around a run's log.
|
|
3
|
+
*
|
|
4
|
+
* Host-free by construction: pure string and `Date` work, no runtime, no
|
|
5
|
+
* filesystem, no paths. `LifecycleService` writes the frames with these
|
|
6
|
+
* functions, and a consumer that only wants what the process wrote strips them
|
|
7
|
+
* with `runOutputOf` — including `@vibesdotdev/pm/tasks`, which must stay
|
|
8
|
+
* host-free so the cloud graph can run it.
|
|
9
|
+
*
|
|
10
|
+
* PM owns both frames, so only PM parses them. The previous-run archive
|
|
11
|
+
* (host-bound) imports the writers from here; `./run-output` exports the reader.
|
|
12
|
+
*/
|
|
13
|
+
const RULE = '='.repeat(80);
|
|
14
|
+
/** Honest wording: lifecycle maps a signal death to -1 and drops the name. */
|
|
15
|
+
export function describeExitCode(exitCode, signal) {
|
|
16
|
+
if (signal)
|
|
17
|
+
return `signal ${signal}`;
|
|
18
|
+
if (exitCode === undefined)
|
|
19
|
+
return 'exit code not recorded';
|
|
20
|
+
if (exitCode === -1)
|
|
21
|
+
return 'exit code -1 (signal-terminated or unknown; PM records no signal name)';
|
|
22
|
+
return `exit code ${exitCode}`;
|
|
23
|
+
}
|
|
24
|
+
/** The marker `LifecycleService` writes at the head of each log when a run starts. */
|
|
25
|
+
export function formatRunStartMarker(timestamp) {
|
|
26
|
+
return `\n${RULE}\nProcess started at ${timestamp}\n${RULE}\n`;
|
|
27
|
+
}
|
|
28
|
+
const RUN_START_MARKER = new RegExp(`^\\n${RULE}\\nProcess started at [^\\n]*\\n${RULE}\\n`);
|
|
29
|
+
const RUN_END_BANNER = new RegExp(`\\n${RULE}\\nProcess exited at [^\\n]*\\n${RULE}\\n$`);
|
|
30
|
+
export function formatRunEndBanner(input) {
|
|
31
|
+
const reason = input.reason ? ` — ${input.reason.replace(/\s+/g, ' ').trim().slice(0, 400)}` : '';
|
|
32
|
+
return (`\n${RULE}\n` +
|
|
33
|
+
`Process exited at ${input.at.toISOString()} — ${describeExitCode(input.exitCode, input.signal)}` +
|
|
34
|
+
` — initiator: ${input.initiator}${reason}\n` +
|
|
35
|
+
`${RULE}\n`);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* What one run of a process wrote, without the start marker and exit banner
|
|
39
|
+
* PM frames its logs with: the current log of a finished run, as
|
|
40
|
+
* `readLogsSince(id, { stdout: 0, stderr: 0 })` returns it.
|
|
41
|
+
*/
|
|
42
|
+
export function runOutputOf(log) {
|
|
43
|
+
return log.replace(RUN_START_MARKER, '').replace(RUN_END_BANNER, '');
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=run-log-frames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-log-frames.js","sourceRoot":"","sources":["../../src/services/run-log-frames.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE5B,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,QAA4B,EAAE,MAA0B;IACxF,IAAI,MAAM;QAAE,OAAO,UAAU,MAAM,EAAE,CAAC;IACtC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,wBAAwB,CAAC;IAC5D,IAAI,QAAQ,KAAK,CAAC,CAAC;QAAE,OAAO,wEAAwE,CAAC;IACrG,OAAO,aAAa,QAAQ,EAAE,CAAC;AAChC,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACrD,OAAO,KAAK,IAAI,wBAAwB,SAAS,KAAK,IAAI,IAAI,CAAC;AAChE,CAAC;AAED,MAAM,gBAAgB,GAAG,IAAI,MAAM,CAAC,OAAO,IAAI,mCAAmC,IAAI,KAAK,CAAC,CAAC;AAC7F,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,MAAM,IAAI,kCAAkC,IAAI,MAAM,CAAC,CAAC;AAE1F,MAAM,UAAU,kBAAkB,CAAC,KAAwB;IAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClG,OAAO,CACN,KAAK,IAAI,IAAI;QACb,qBAAqB,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;QACjG,iBAAiB,KAAK,CAAC,SAAS,GAAG,MAAM,IAAI;QAC7C,GAAG,IAAI,IAAI,CACX,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACtC,OAAO,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Is a tracked process still inside its declared health warmup?
|
|
3
|
+
*
|
|
4
|
+
* A live pid that has not bound its port yet is BOOTING, not "PID reuse".
|
|
5
|
+
* Measured 2026-09-05: the shared MCP host takes 32-43 s from spawn to bind on
|
|
6
|
+
* the developer tree; `start()` saw the pid alive but not on port 39277, logged
|
|
7
|
+
* "will restart", and the orphan scan then killed the daemon's own child the
|
|
8
|
+
* moment it bound (48 orphan kills that day). The health check already knows
|
|
9
|
+
* how long boot is allowed to take — `healthCheck.warmupMs` — so the start
|
|
10
|
+
* path honours the same window.
|
|
11
|
+
*/
|
|
12
|
+
export interface StartupWarmupInput {
|
|
13
|
+
/** When the tracked process was spawned (Date, ISO string, or epoch ms). */
|
|
14
|
+
startedAt: Date | string | number | null | undefined;
|
|
15
|
+
/** Declared health warmup; undefined → 30 s, the health monitor's default. */
|
|
16
|
+
warmupMs: number | null | undefined;
|
|
17
|
+
/** Current time in epoch ms. */
|
|
18
|
+
now: number;
|
|
19
|
+
}
|
|
20
|
+
export declare const DEFAULT_STARTUP_WARMUP_MS = 30000;
|
|
21
|
+
export declare function toEpochMs(value: StartupWarmupInput['startedAt']): number | undefined;
|
|
22
|
+
export declare function isWithinStartupWarmup(input: StartupWarmupInput): boolean;
|
|
23
|
+
//# sourceMappingURL=startup-warmup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startup-warmup.d.ts","sourceRoot":"","sources":["../../src/services/startup-warmup.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IAClC,4EAA4E;IAC5E,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrD,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACpC,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAUhD,wBAAgB,SAAS,CAAC,KAAK,EAAE,kBAAkB,CAAC,WAAW,CAAC,GAAG,MAAM,GAAG,SAAS,CAGpF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAMxE"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
export const DEFAULT_STARTUP_WARMUP_MS = 30_000;
|
|
3
|
+
/** A start time as epoch ms: a finite number, a valid Date, or a parseable date string; anything else (null, undefined, NaN, an invalid Date) is none. */
|
|
4
|
+
const EpochMsSchema = z
|
|
5
|
+
.union([z.number(), z.date().transform((date) => date.getTime()), z.string().transform((text) => Date.parse(text))])
|
|
6
|
+
.pipe(z.number());
|
|
7
|
+
/** A declared warmup window: zero or more milliseconds, unbounded included. */
|
|
8
|
+
const WarmupMsSchema = z.union([z.number().nonnegative(), z.literal(Number.POSITIVE_INFINITY)]);
|
|
9
|
+
export function toEpochMs(value) {
|
|
10
|
+
const parsed = EpochMsSchema.safeParse(value);
|
|
11
|
+
return parsed.success ? parsed.data : undefined;
|
|
12
|
+
}
|
|
13
|
+
export function isWithinStartupWarmup(input) {
|
|
14
|
+
const startedAt = toEpochMs(input.startedAt);
|
|
15
|
+
if (startedAt === undefined)
|
|
16
|
+
return false;
|
|
17
|
+
const declared = WarmupMsSchema.safeParse(input.warmupMs);
|
|
18
|
+
const warmupMs = declared.success ? declared.data : DEFAULT_STARTUP_WARMUP_MS;
|
|
19
|
+
return input.now - startedAt < warmupMs;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=startup-warmup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startup-warmup.js","sourceRoot":"","sources":["../../src/services/startup-warmup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAsB5B,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEhD,0JAA0J;AAC1J,MAAM,aAAa,GAAG,CAAC;KACrB,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACnH,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAEnB,+EAA+E;AAC/E,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAEhG,MAAM,UAAU,SAAS,CAAC,KAAsC;IAC/D,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAyB;IAC9D,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB,CAAC;IAC9E,OAAO,KAAK,CAAC,GAAG,GAAG,SAAS,GAAG,QAAQ,CAAC;AACzC,CAAC"}
|