@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,839 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
|
|
2
|
+
import { formatPMActionError as formatActionError } from "../daemon/rpc-result.js";
|
|
3
|
+
/**
|
|
4
|
+
* PM Dashboard — tui/app implementation (consumer)
|
|
5
|
+
*
|
|
6
|
+
* Two-mode dashboard: list mode (Processes/Resources tabs) and log mode
|
|
7
|
+
* (filterable process log viewer). All state via useTuiState and all daemon
|
|
8
|
+
* access through the runtime-resolved pm/client context, on the runtime the
|
|
9
|
+
* TUI host hands its apps (`useTuiRuntime`). No custom hooks, no context
|
|
10
|
+
* providers of its own, no studio imports.
|
|
11
|
+
*
|
|
12
|
+
* Spec: docs/architecture/tui-page-specs/pm.md — a subtitle, one glance line,
|
|
13
|
+
* and a process table are the whole surface (mirroring platform-web's
|
|
14
|
+
* `/processes`); facts/hints ride the screen-status contract, never a
|
|
15
|
+
* free-printed footer.
|
|
16
|
+
*
|
|
17
|
+
* Cross-fence note: this surface names itself once, in the page header
|
|
18
|
+
* ("PM Dashboard · /pm"). The glance line below is just the live counts —
|
|
19
|
+
* it does NOT restate the route name/path back to the user (that
|
|
20
|
+
* self-reference was retired). E2e assertions in
|
|
21
|
+
* `tests/tui-e2e/terminal-web/studio-web.spec.ts` were updated to key off the
|
|
22
|
+
* real header instead.
|
|
23
|
+
*/
|
|
24
|
+
import { useState, useEffect, useCallback, useRef } from 'react';
|
|
25
|
+
import * as z from 'zod/v4';
|
|
26
|
+
import { getLogger } from '@vibesdotdev/logging';
|
|
27
|
+
import { valueFreeFailure } from '@vibesdotdev/kernel';
|
|
28
|
+
import { DSStatus, DSText, Panel, DSScrollArea, DSSearchSelect, HStack, VStack, Spacer, useTheme, useTuiRuntime, useTuiState } from '@vibesdotdev/tui';
|
|
29
|
+
import { useKeyboardLayer } from '@vibesdotdev/tui/input';
|
|
30
|
+
import { Tabs } from '@vibesdotdev/tui/components/navigation';
|
|
31
|
+
import { useContributeScreenStatus } from '@vibesdotdev/tui/shell';
|
|
32
|
+
import { derivePMWorkspaceDiagnostics } from '@vibesdotdev/pm/schemas/tui-state';
|
|
33
|
+
import { ErrorDetailsPanel } from "./components/index.js";
|
|
34
|
+
import { pmProcessesStateKey, pmStatusStateKey } from "./pm-state-keys.js";
|
|
35
|
+
import { attempt } from "../utils/attempt.js";
|
|
36
|
+
// `<text>` is an OpenTUI JSX intrinsic. Forwarding `OTTextProps` directly to
|
|
37
|
+
// it lets TS resolve the IntrinsicElements key without an `any` escape — the
|
|
38
|
+
// previous `OTTextTag = 'text'` indirection lost that information.
|
|
39
|
+
const OTText = (props) => _jsx("text", { ...props });
|
|
40
|
+
// Helpers
|
|
41
|
+
function statusColor(status, theme) {
|
|
42
|
+
const { base: dsBase, colors: dsColors } = theme;
|
|
43
|
+
switch (status) {
|
|
44
|
+
case 'running':
|
|
45
|
+
case 'pass':
|
|
46
|
+
case 'completed':
|
|
47
|
+
return dsColors.success.solid;
|
|
48
|
+
case 'stopped':
|
|
49
|
+
case 'not-started':
|
|
50
|
+
return dsBase.mutedForeground;
|
|
51
|
+
case 'errored':
|
|
52
|
+
case 'crashed':
|
|
53
|
+
case 'fail':
|
|
54
|
+
return dsColors.danger.solid;
|
|
55
|
+
case 'starting':
|
|
56
|
+
case 'stopping':
|
|
57
|
+
case 'waiting':
|
|
58
|
+
return dsColors.warning.solid;
|
|
59
|
+
default:
|
|
60
|
+
return dsBase.mutedForeground;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function resourceStatusColor(status, theme) {
|
|
64
|
+
const { base: dsBase, colors: dsColors } = theme;
|
|
65
|
+
switch (status) {
|
|
66
|
+
case 'ready':
|
|
67
|
+
return dsColors.success.solid;
|
|
68
|
+
case 'creating':
|
|
69
|
+
case 'updating':
|
|
70
|
+
case 'stopping':
|
|
71
|
+
case 'deleting':
|
|
72
|
+
return dsColors.warning.solid;
|
|
73
|
+
case 'stopped':
|
|
74
|
+
case 'missing':
|
|
75
|
+
return dsBase.mutedForeground;
|
|
76
|
+
case 'error':
|
|
77
|
+
return dsColors.danger.solid;
|
|
78
|
+
default:
|
|
79
|
+
return dsBase.mutedForeground;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function formatUptime(startedAt) {
|
|
83
|
+
if (!startedAt)
|
|
84
|
+
return '—';
|
|
85
|
+
const start = new Date(startedAt);
|
|
86
|
+
const ms = Date.now() - start.getTime();
|
|
87
|
+
if (ms < 0)
|
|
88
|
+
return '—';
|
|
89
|
+
const seconds = Math.floor(ms / 1000);
|
|
90
|
+
if (seconds < 60)
|
|
91
|
+
return `${seconds}s`;
|
|
92
|
+
if (seconds < 3600)
|
|
93
|
+
return `${Math.floor(seconds / 60)}m ${seconds % 60}s`;
|
|
94
|
+
const hours = Math.floor(seconds / 3600);
|
|
95
|
+
const mins = Math.floor((seconds % 3600) / 60);
|
|
96
|
+
return `${hours}h ${mins}m`;
|
|
97
|
+
}
|
|
98
|
+
// Truncate on a word boundary only — a mid-word cut reads as a defect.
|
|
99
|
+
function truncateWords(value, maxLength) {
|
|
100
|
+
if (value.length <= maxLength)
|
|
101
|
+
return value;
|
|
102
|
+
const slice = value.slice(0, maxLength);
|
|
103
|
+
const cut = slice.lastIndexOf(' ');
|
|
104
|
+
const kept = (cut > maxLength * 0.5 ? slice.slice(0, cut) : slice).trimEnd();
|
|
105
|
+
return `${kept}…`;
|
|
106
|
+
}
|
|
107
|
+
function routeStateText(routeState, key) {
|
|
108
|
+
const value = z.string().safeParse(routeState?.[key]);
|
|
109
|
+
if (!value.success)
|
|
110
|
+
return null;
|
|
111
|
+
const trimmed = value.data.trim();
|
|
112
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
113
|
+
}
|
|
114
|
+
function pluralize(count, singular, plural = `${singular}s`) {
|
|
115
|
+
return `${count} ${count === 1 ? singular : plural}`;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Cross-surface handoff notice: another Studio route (code-sessions, Autoloop,
|
|
119
|
+
* Workbench) sent the user here with context. Real, wanted content — not
|
|
120
|
+
* chrome — so it stays, one panel, only rendered when a handoff is present.
|
|
121
|
+
* The workspace-scope note below it is a plain-language stand-in for the
|
|
122
|
+
* killed dev-diagnostics band that used to report the same cwd-based process
|
|
123
|
+
* match in raw operator terms: same underlying scoping data
|
|
124
|
+
* (`derivePMWorkspaceDiagnostics`), one reworded sentence instead of a whole
|
|
125
|
+
* second band.
|
|
126
|
+
*/
|
|
127
|
+
function PMRouteContextBand({ routeState, diagnostics, compact }) {
|
|
128
|
+
const theme = useTheme();
|
|
129
|
+
const { base: dsBase, colors: dsColors } = theme;
|
|
130
|
+
const title = routeStateText(routeState, 'routeNoticeTitle');
|
|
131
|
+
const body = routeStateText(routeState, 'routeNoticeBody');
|
|
132
|
+
const correlationId = routeStateText(routeState, 'sourceCorrelationId');
|
|
133
|
+
if (!title && !body && !correlationId)
|
|
134
|
+
return null;
|
|
135
|
+
const summary = body ?? 'This PM route was opened by another Studio surface.';
|
|
136
|
+
const limit = compact ? 96 : 168;
|
|
137
|
+
const visibleCorrelation = correlationId ? truncateWords(correlationId, limit) : null;
|
|
138
|
+
const scopeNote = diagnostics && diagnostics.scopeApplied
|
|
139
|
+
? `${pluralize(diagnostics.matchedProcesses.length, 'process', 'processes')} of ${diagnostics.totalProcessCount} match this workspace.`
|
|
140
|
+
: diagnostics
|
|
141
|
+
? 'No processes match this workspace — showing everything.'
|
|
142
|
+
: null;
|
|
143
|
+
return (_jsxs(Panel, { padding: "xs", gap: "xs", status: "info", children: [_jsxs(HStack, { gap: 1, children: [_jsx(DSStatus, { status: "info", compact: true }), _jsx(OTText, { fg: dsColors.info.solid, bold: true, children: "PM handoff context" }), _jsx(Spacer, {}), _jsx(OTText, { fg: dsBase.mutedForeground, children: title ?? 'Studio context' })] }), visibleCorrelation ? (_jsxs(OTText, { fg: dsBase.mutedForeground, children: ["Context ", visibleCorrelation] })) : null, _jsx(OTText, { fg: dsBase.mutedForeground, children: truncateWords(summary, limit) }), scopeNote ? _jsx(OTText, { fg: dsBase.mutedForeground, children: scopeNote }) : null] }));
|
|
144
|
+
}
|
|
145
|
+
function healthIndicator(health) {
|
|
146
|
+
switch (health) {
|
|
147
|
+
case 'healthy':
|
|
148
|
+
return '● healthy';
|
|
149
|
+
case 'unhealthy':
|
|
150
|
+
return '○ unhealthy';
|
|
151
|
+
case 'unknown':
|
|
152
|
+
return '◌ unknown';
|
|
153
|
+
case 'no-check':
|
|
154
|
+
return '— no check';
|
|
155
|
+
default:
|
|
156
|
+
return '·';
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
function healthColor(health, theme) {
|
|
160
|
+
const { base: dsBase, colors: dsColors } = theme;
|
|
161
|
+
switch (health) {
|
|
162
|
+
case 'healthy':
|
|
163
|
+
return dsColors.success.solid;
|
|
164
|
+
case 'unhealthy':
|
|
165
|
+
return dsColors.danger.solid;
|
|
166
|
+
default:
|
|
167
|
+
return dsBase.mutedForeground;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/** Overall daemon health word — same healthy/degraded/down/unknown vocabulary
|
|
171
|
+
* as `DaemonHealthCard`, expressed inline in the one glance line instead of a
|
|
172
|
+
* card (the region table asks for one line, not a tile). */
|
|
173
|
+
function daemonHealthWord(args) {
|
|
174
|
+
if (!args.hasLoadedMonitorState)
|
|
175
|
+
return 'unknown';
|
|
176
|
+
if (args.hasMonitorError)
|
|
177
|
+
return args.connected ? 'degraded' : 'down';
|
|
178
|
+
if (args.connected && args.pmAvailable)
|
|
179
|
+
return 'healthy';
|
|
180
|
+
if (args.connected)
|
|
181
|
+
return 'degraded';
|
|
182
|
+
return 'unknown';
|
|
183
|
+
}
|
|
184
|
+
function logLineColor(line, theme) {
|
|
185
|
+
const { base: dsBase, colors: dsColors } = theme;
|
|
186
|
+
if (line.includes('ERROR') || line.includes('error'))
|
|
187
|
+
return dsColors.danger.solid;
|
|
188
|
+
if (line.includes('WARN') || line.includes('warn'))
|
|
189
|
+
return dsColors.warning.solid;
|
|
190
|
+
if (line.includes('INFO') || line.includes('info'))
|
|
191
|
+
return dsColors.info.solid;
|
|
192
|
+
if (line.includes('DEBUG') || line.includes('debug'))
|
|
193
|
+
return dsBase.mutedForeground;
|
|
194
|
+
if (line.startsWith('===') || line.startsWith('---'))
|
|
195
|
+
return dsColors.primary.solid;
|
|
196
|
+
return dsBase.foreground;
|
|
197
|
+
}
|
|
198
|
+
function ColumnText({ value, width, fg, bold = false }) {
|
|
199
|
+
const { base: dsBase } = useTheme();
|
|
200
|
+
return (_jsx(VStack, { style: { width, overflow: 'hidden' }, children: _jsx(OTText, { content: truncateWords(value, width), fg: fg ?? dsBase.foreground, bold: bold }) }));
|
|
201
|
+
}
|
|
202
|
+
function ProcessTable({ rows, selectedId, onSelect }) {
|
|
203
|
+
const theme = useTheme();
|
|
204
|
+
const { base: dsBase, colors: dsColors } = theme;
|
|
205
|
+
if (rows.length === 0) {
|
|
206
|
+
return _jsx(PMEmptyState, { kind: "processes" });
|
|
207
|
+
}
|
|
208
|
+
return (_jsxs(VStack, { grow: true, style: { minHeight: 0 }, children: [_jsxs(HStack, { style: {
|
|
209
|
+
border: ['bottom'],
|
|
210
|
+
borderColor: dsBase.border,
|
|
211
|
+
paddingLeft: 1,
|
|
212
|
+
paddingRight: 1,
|
|
213
|
+
flexShrink: 0
|
|
214
|
+
}, children: [_jsx(ColumnText, { value: "", width: 2 }), _jsx(ColumnText, { value: "Name", width: 28, bold: true }), _jsx(ColumnText, { value: "Status", width: 12, bold: true }), _jsx(ColumnText, { value: "Health", width: 14, bold: true }), _jsx(ColumnText, { value: "PID", width: 8, bold: true }), _jsx(ColumnText, { value: "Uptime", width: 10, bold: true })] }), _jsx(DSScrollArea, { style: { flexGrow: 1, minHeight: 0 }, children: _jsx(VStack, { children: rows.map((row) => {
|
|
215
|
+
const selected = row.id === selectedId;
|
|
216
|
+
return (_jsxs(HStack, { style: {
|
|
217
|
+
backgroundColor: selected ? dsBase.muted : undefined,
|
|
218
|
+
paddingLeft: 1,
|
|
219
|
+
paddingRight: 1
|
|
220
|
+
}, onMouseUp: () => onSelect(row), children: [_jsx(ColumnText, { value: selected ? '>' : '', width: 2, fg: selected ? dsColors.primary.solid : dsBase.mutedForeground }), _jsx(ColumnText, { value: row.name, width: 28, fg: selected ? dsColors.primary.solid : dsBase.foreground }), _jsx(ColumnText, { value: row.status, width: 12, fg: statusColor(row.status, theme) }), _jsx(ColumnText, { value: row.health, width: 14, fg: row.healthColor }), _jsx(ColumnText, { value: row.pid, width: 8, fg: dsBase.mutedForeground }), _jsx(ColumnText, { value: row.uptime, width: 10, fg: dsBase.mutedForeground })] }, row.id));
|
|
221
|
+
}) }) })] }));
|
|
222
|
+
}
|
|
223
|
+
function ResourceTable({ rows }) {
|
|
224
|
+
const theme = useTheme();
|
|
225
|
+
const { base: dsBase } = theme;
|
|
226
|
+
if (rows.length === 0) {
|
|
227
|
+
return _jsx(PMEmptyState, { kind: "resources" });
|
|
228
|
+
}
|
|
229
|
+
return (_jsxs(VStack, { grow: true, style: { minHeight: 0 }, children: [_jsxs(HStack, { style: {
|
|
230
|
+
border: ['bottom'],
|
|
231
|
+
borderColor: dsBase.border,
|
|
232
|
+
paddingLeft: 1,
|
|
233
|
+
paddingRight: 1,
|
|
234
|
+
flexShrink: 0
|
|
235
|
+
}, children: [_jsx(ColumnText, { value: "Name", width: 30, bold: true }), _jsx(ColumnText, { value: "Status", width: 12, bold: true }), _jsx(ColumnText, { value: "Liveness/Fleet", width: 32, bold: true })] }), _jsx(DSScrollArea, { style: { flexGrow: 1, minHeight: 0 }, children: _jsx(VStack, { children: rows.map((row) => (_jsxs(HStack, { style: {
|
|
236
|
+
paddingLeft: 1,
|
|
237
|
+
paddingRight: 1
|
|
238
|
+
}, children: [_jsx(ColumnText, { value: row.name, width: 30 }), _jsx(ColumnText, { value: row.status, width: 12, fg: resourceStatusColor(row.status, theme) }), _jsx(ColumnText, { value: row.type || '—', width: 32, fg: dsBase.mutedForeground })] }, row.id))) }) })] }));
|
|
239
|
+
}
|
|
240
|
+
function PMEmptyState({ kind }) {
|
|
241
|
+
const theme = useTheme();
|
|
242
|
+
const { base: dsBase, colors: dsColors } = theme;
|
|
243
|
+
const isProcesses = kind === 'processes';
|
|
244
|
+
const title = isProcesses ? 'No managed processes' : 'No managed resources';
|
|
245
|
+
const detail = isProcesses
|
|
246
|
+
? 'No process configs are registered for this workspace yet.'
|
|
247
|
+
: 'No resource providers have reported containers, tunnels, slices, or services yet.';
|
|
248
|
+
const action = isProcesses
|
|
249
|
+
? 'Run a workspace preset or add a PM process config to populate this view.'
|
|
250
|
+
: 'Resources appear after PM discovers backing services for the active workflow.';
|
|
251
|
+
return (_jsxs(Panel, { padding: "sm", gap: "xs", status: "info", children: [_jsxs(HStack, { gap: 1, children: [_jsx(DSStatus, { status: "info", compact: true }), _jsx(OTText, { content: `${isProcesses ? 'idle' : 'empty'} · ${title}`, fg: dsColors.primary.solid })] }), _jsx(OTText, { fg: dsBase.mutedForeground, children: detail }), _jsx(OTText, { fg: dsBase.foreground, children: action })] }));
|
|
252
|
+
}
|
|
253
|
+
function footerToneColor(tone, theme) {
|
|
254
|
+
const { base: dsBase, colors: dsColors } = theme;
|
|
255
|
+
switch (tone) {
|
|
256
|
+
case 'success':
|
|
257
|
+
return dsColors.success.solid;
|
|
258
|
+
case 'warning':
|
|
259
|
+
return dsColors.warning.solid;
|
|
260
|
+
case 'danger':
|
|
261
|
+
return dsColors.danger.solid;
|
|
262
|
+
case 'muted':
|
|
263
|
+
return dsBase.mutedForeground;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
/** Per-action result (restart/stop/start succeeded or failed) — real,
|
|
267
|
+
* transient content, not a keybind footer. Rides inline in the page body
|
|
268
|
+
* (matching code-sessions' inline command-run feedback), never a free-printed
|
|
269
|
+
* status/keybind line. */
|
|
270
|
+
function ActionFeedbackLine({ feedback }) {
|
|
271
|
+
const theme = useTheme();
|
|
272
|
+
const { base: dsBase } = theme;
|
|
273
|
+
return (_jsx(HStack, { style: {
|
|
274
|
+
border: ['top'],
|
|
275
|
+
borderColor: dsBase.border,
|
|
276
|
+
paddingLeft: 1,
|
|
277
|
+
paddingRight: 1,
|
|
278
|
+
paddingTop: 1,
|
|
279
|
+
flexShrink: 0
|
|
280
|
+
}, children: _jsx(OTText, { content: feedback.message, fg: footerToneColor(feedback.tone, theme) }) }));
|
|
281
|
+
}
|
|
282
|
+
/** The text of a failure, for the line a user reads. */
|
|
283
|
+
function failureText(failure) {
|
|
284
|
+
return failure instanceof Error ? failure.message : failure.description;
|
|
285
|
+
}
|
|
286
|
+
function processLabel(process) {
|
|
287
|
+
return process?.config?.name ?? process?.id ?? 'process';
|
|
288
|
+
}
|
|
289
|
+
const TERMINAL_TASK_STATUSES = new Set(['pass', 'fail', 'completed']);
|
|
290
|
+
function startActionVerb(process) {
|
|
291
|
+
return process?.status && TERMINAL_TASK_STATUSES.has(process.status) ? 'Rerun' : 'Start';
|
|
292
|
+
}
|
|
293
|
+
function startBlockedReason(process) {
|
|
294
|
+
const status = process?.status ?? 'unknown';
|
|
295
|
+
if (status === 'running')
|
|
296
|
+
return 'already running';
|
|
297
|
+
if (status === 'starting' || status === 'stopping')
|
|
298
|
+
return `process is ${status}`;
|
|
299
|
+
if (status === 'waiting') {
|
|
300
|
+
const blockers = process?.config?.requiresPass?.filter(Boolean) ?? [];
|
|
301
|
+
return blockers.length > 0
|
|
302
|
+
? `waiting on ${blockers.join(', ')}`
|
|
303
|
+
: 'waiting on required task dependency';
|
|
304
|
+
}
|
|
305
|
+
return null;
|
|
306
|
+
}
|
|
307
|
+
// Process/status filter — collapsed from the old 9-permanent-chip row to one
|
|
308
|
+
// cyclable affordance (spec: "collapse to one 'Filter' affordance; don't
|
|
309
|
+
// render over an empty table").
|
|
310
|
+
const PROCESS_FILTERS = ['all', 'running', 'stopped', 'attention'];
|
|
311
|
+
const PROCESS_FILTER_LABELS = {
|
|
312
|
+
all: 'All',
|
|
313
|
+
running: 'Running',
|
|
314
|
+
stopped: 'Stopped',
|
|
315
|
+
attention: 'Attention'
|
|
316
|
+
};
|
|
317
|
+
function matchesProcessFilter(status, filter) {
|
|
318
|
+
if (filter === 'all')
|
|
319
|
+
return true;
|
|
320
|
+
if (filter === 'running')
|
|
321
|
+
return status === 'running';
|
|
322
|
+
if (filter === 'stopped')
|
|
323
|
+
return status === 'stopped' || status === 'not-started';
|
|
324
|
+
if (filter === 'attention')
|
|
325
|
+
return status === 'errored' || status === 'crashed' || status === 'fail';
|
|
326
|
+
return true;
|
|
327
|
+
}
|
|
328
|
+
const LOG_TAIL_LINES = 20;
|
|
329
|
+
/** Retained for the daemon-side liveness-profile mutation only (see the
|
|
330
|
+
* `f` binding below) — the old dev-loop status band this once powered is
|
|
331
|
+
* killed per the pm.md spec (dev-jargon-as-user-copy), but a standing e2e
|
|
332
|
+
* proof still exercises the real mutation through this key, so the
|
|
333
|
+
* capability stays wired without a user-facing hint. */
|
|
334
|
+
const PMLivenessStateSchema = z.object({
|
|
335
|
+
profile: z.string().optional(),
|
|
336
|
+
env: z.string().optional(),
|
|
337
|
+
proxy: z.unknown().optional(),
|
|
338
|
+
scope: z.string().optional(),
|
|
339
|
+
note: z.string().optional()
|
|
340
|
+
});
|
|
341
|
+
/** What the daemon answers to a liveness mutation: the now-active profile, and its proxy. */
|
|
342
|
+
const LivenessMutationResultSchema = z.object({
|
|
343
|
+
active: PMLivenessStateSchema.optional(),
|
|
344
|
+
proxy: z.unknown().optional()
|
|
345
|
+
});
|
|
346
|
+
export function resolveFullLivenessProfile(activeLiveness) {
|
|
347
|
+
return activeLiveness?.env ? 'fleet-mutable' : 'local-hmr';
|
|
348
|
+
}
|
|
349
|
+
function PMDashboardApp({ dimensions, onExit, routeState }) {
|
|
350
|
+
const theme = useTheme();
|
|
351
|
+
const { base: dsBase, colors: dsColors } = theme;
|
|
352
|
+
// The runtime the TUI host hands its apps, typed (`TuiAppProps.runtime` is
|
|
353
|
+
// `unknown` at the kind boundary). Its lifecycle ticks the refreshes (RC07),
|
|
354
|
+
// its `pm/client` context is the daemon, and its Logging records failures
|
|
355
|
+
// (C083a). Mounted without one, it fails typed (`runtime-unavailable`).
|
|
356
|
+
const runtime = useTuiRuntime();
|
|
357
|
+
// --- State from tui/state ---
|
|
358
|
+
const processData = useTuiState(pmProcessesStateKey);
|
|
359
|
+
const statusData = useTuiState(pmStatusStateKey);
|
|
360
|
+
// --- PMClient ---
|
|
361
|
+
const clientRef = useRef(null);
|
|
362
|
+
// A pm/client that failed to resolve is shown (the daemon tile and the
|
|
363
|
+
// readiness band), never read as "no daemon".
|
|
364
|
+
const [clientError, setClientError] = useState(null);
|
|
365
|
+
const resolveClient = useCallback(async () => {
|
|
366
|
+
if (clientRef.current)
|
|
367
|
+
return clientRef.current;
|
|
368
|
+
const resolved = await attempt(() => runtime.context('pm/client'));
|
|
369
|
+
if (!resolved.ok) {
|
|
370
|
+
clientRef.current = null;
|
|
371
|
+
setClientError(`pm/client did not resolve: ${failureText(resolved.failure)}`);
|
|
372
|
+
return null;
|
|
373
|
+
}
|
|
374
|
+
clientRef.current = resolved.value;
|
|
375
|
+
setClientError(null);
|
|
376
|
+
return resolved.value;
|
|
377
|
+
}, [runtime]);
|
|
378
|
+
// Single resolution path: resolveClient lazily resolves and caches into clientRef.
|
|
379
|
+
// This effect only invalidates that cache when the runtime identity changes (or on
|
|
380
|
+
// unmount) so a stale client is never served — no redundant eager prime.
|
|
381
|
+
useEffect(() => {
|
|
382
|
+
clientRef.current = null;
|
|
383
|
+
return () => {
|
|
384
|
+
clientRef.current = null;
|
|
385
|
+
};
|
|
386
|
+
}, [runtime]);
|
|
387
|
+
// --- Liveness profile (daemon-mutation only — no visible band; see the
|
|
388
|
+
// module comment on PMLivenessState) ---
|
|
389
|
+
const [activeLiveness, setActiveLiveness] = useState(null);
|
|
390
|
+
useEffect(() => {
|
|
391
|
+
const fetchLiveness = async () => {
|
|
392
|
+
const client = await resolveClient();
|
|
393
|
+
if (!client)
|
|
394
|
+
return;
|
|
395
|
+
const logger = getLogger('pm.tui.dashboard', runtime);
|
|
396
|
+
const fetched = await attempt(() => client.getActiveLivenessProfile());
|
|
397
|
+
if (!fetched.ok) {
|
|
398
|
+
logger.debug('failed to fetch liveness profile', { failure: valueFreeFailure(fetched.failure) });
|
|
399
|
+
}
|
|
400
|
+
setActiveLiveness(fetched.ok ? (fetched.value ?? null) : null);
|
|
401
|
+
};
|
|
402
|
+
fetchLiveness();
|
|
403
|
+
// The TUI host's lifecycle tick (RC07), as the pm TUI state impls use;
|
|
404
|
+
// poll: the daemon publishes no liveness-change event to this client.
|
|
405
|
+
return runtime.lifecycle.interval(() => void fetchLiveness(), 4000);
|
|
406
|
+
}, [resolveClient, runtime]);
|
|
407
|
+
// --- View state ---
|
|
408
|
+
const [activeTab, setActiveTab] = useState('processes');
|
|
409
|
+
const [viewMode, setViewMode] = useState('list');
|
|
410
|
+
const [selectedProcessId, setSelectedProcessId] = useState(null);
|
|
411
|
+
const [logContent, setLogContent] = useState('');
|
|
412
|
+
const [highlightedProcessId, setHighlightedProcessId] = useState(null);
|
|
413
|
+
const [processFilter, setProcessFilter] = useState('all');
|
|
414
|
+
const [actionFeedback, setActionFeedback] = useState(null);
|
|
415
|
+
// --- Derived data ---
|
|
416
|
+
const allProcesses = processData?.processes ?? [];
|
|
417
|
+
const workspaceDiagnostics = derivePMWorkspaceDiagnostics(routeStateText(routeState, 'sourceWorkspacePath'), allProcesses);
|
|
418
|
+
const processes = allProcesses.filter((proc) => matchesProcessFilter(proc.status, processFilter));
|
|
419
|
+
const resources = processData?.resources ?? [];
|
|
420
|
+
const connected = processData?.connected ?? false;
|
|
421
|
+
const pmAvailable = statusData?.pmAvailable ?? false;
|
|
422
|
+
// A daemon-availability probe that threw (from either poll) — distinct from a clean
|
|
423
|
+
// "daemon not running" — so both the readiness band and the daemon tile can surface it.
|
|
424
|
+
const daemonConnectionError = processData?.connectionError ?? statusData?.connectionError ?? clientError ?? null;
|
|
425
|
+
const hasMonitorError = Boolean(processData?.processesError ||
|
|
426
|
+
processData?.resourcesError ||
|
|
427
|
+
daemonConnectionError);
|
|
428
|
+
const hasLoadedMonitorState = Boolean(processData || statusData);
|
|
429
|
+
const highlightedProcess = (highlightedProcessId ? processes.find((process) => process.id === highlightedProcessId) : null) ??
|
|
430
|
+
processes[0] ??
|
|
431
|
+
null;
|
|
432
|
+
const highlightedProcessIndex = highlightedProcess
|
|
433
|
+
? processes.findIndex((process) => process.id === highlightedProcess.id)
|
|
434
|
+
: -1;
|
|
435
|
+
// --- Process table data ---
|
|
436
|
+
const processRows = processes.map((proc) => ({
|
|
437
|
+
id: proc.id,
|
|
438
|
+
name: proc.config?.name ?? proc.id,
|
|
439
|
+
status: proc.status ?? 'unknown',
|
|
440
|
+
health: healthIndicator(proc.healthStatus),
|
|
441
|
+
healthColor: healthColor(proc.healthStatus, theme),
|
|
442
|
+
pid: proc.pid != null ? String(proc.pid) : '—',
|
|
443
|
+
uptime: proc.status === 'running' ? formatUptime(proc.startedAt) : '—',
|
|
444
|
+
_process: proc
|
|
445
|
+
}));
|
|
446
|
+
// --- Resource table data ---
|
|
447
|
+
const resourceRows = resources.map((res) => ({
|
|
448
|
+
id: res.id,
|
|
449
|
+
name: res.id,
|
|
450
|
+
status: res.status ?? 'unknown',
|
|
451
|
+
type: res.type ?? '—'
|
|
452
|
+
}));
|
|
453
|
+
// --- Log mode: fetch logs ---
|
|
454
|
+
const fetchLogs = useCallback(async (processId) => {
|
|
455
|
+
const client = await resolveClient();
|
|
456
|
+
if (!client) {
|
|
457
|
+
setLogContent('PM client unavailable. Open logs again after the monitor connects.');
|
|
458
|
+
return;
|
|
459
|
+
}
|
|
460
|
+
const fetched = await attempt(() => client.getLogs(processId, { lines: LOG_TAIL_LINES }));
|
|
461
|
+
setLogContent(fetched.ok ? fetched.value : `Error fetching logs: ${failureText(fetched.failure)}`);
|
|
462
|
+
}, [resolveClient]);
|
|
463
|
+
// Poll logs in log mode
|
|
464
|
+
useEffect(() => {
|
|
465
|
+
if (viewMode !== 'logs' || !selectedProcessId)
|
|
466
|
+
return;
|
|
467
|
+
fetchLogs(selectedProcessId);
|
|
468
|
+
// The TUI host's lifecycle tick (RC07); the disposer ends it with the view.
|
|
469
|
+
return runtime.lifecycle.interval(() => void fetchLogs(selectedProcessId), 3000);
|
|
470
|
+
}, [viewMode, selectedProcessId, fetchLogs, runtime]);
|
|
471
|
+
// --- Actions ---
|
|
472
|
+
const openLogs = useCallback((processId) => {
|
|
473
|
+
setSelectedProcessId(processId);
|
|
474
|
+
setLogContent('Fetching the latest log lines');
|
|
475
|
+
setViewMode('logs');
|
|
476
|
+
void fetchLogs(processId);
|
|
477
|
+
}, [fetchLogs]);
|
|
478
|
+
const runProcessAction = useCallback(async (verb, process, operation) => {
|
|
479
|
+
const label = processLabel(process);
|
|
480
|
+
const client = await resolveClient();
|
|
481
|
+
if (!client) {
|
|
482
|
+
setActionFeedback({
|
|
483
|
+
tone: 'danger',
|
|
484
|
+
message: `${verb} unavailable for ${label}: PM client unavailable`
|
|
485
|
+
});
|
|
486
|
+
return;
|
|
487
|
+
}
|
|
488
|
+
setActionFeedback({ tone: 'warning', message: `${verb} running for ${label}...` });
|
|
489
|
+
const done = await attempt(() => operation(client));
|
|
490
|
+
setActionFeedback(done.ok
|
|
491
|
+
? { tone: 'success', message: `${verb} requested for ${label}` }
|
|
492
|
+
: { tone: 'danger', message: `${verb} failed for ${label}: ${formatActionError(done.failure)}` });
|
|
493
|
+
}, [resolveClient]);
|
|
494
|
+
const resolveStartConfig = useCallback(async (process) => {
|
|
495
|
+
if (process.config)
|
|
496
|
+
return process.config;
|
|
497
|
+
const label = processLabel(process);
|
|
498
|
+
const client = await resolveClient();
|
|
499
|
+
if (!client) {
|
|
500
|
+
setActionFeedback({
|
|
501
|
+
tone: 'danger',
|
|
502
|
+
message: `Start unavailable for ${label}: PM client unavailable`
|
|
503
|
+
});
|
|
504
|
+
return null;
|
|
505
|
+
}
|
|
506
|
+
const fetched = await attempt(() => client.getConfig(process.id));
|
|
507
|
+
if (!fetched.ok) {
|
|
508
|
+
setActionFeedback({
|
|
509
|
+
tone: 'danger',
|
|
510
|
+
message: `Start unavailable for ${label}: ${formatActionError(fetched.failure)}`
|
|
511
|
+
});
|
|
512
|
+
return null;
|
|
513
|
+
}
|
|
514
|
+
if (fetched.value)
|
|
515
|
+
return fetched.value;
|
|
516
|
+
setActionFeedback({
|
|
517
|
+
tone: 'danger',
|
|
518
|
+
message: `Start unavailable for ${label}: missing process config`
|
|
519
|
+
});
|
|
520
|
+
return null;
|
|
521
|
+
}, [resolveClient]);
|
|
522
|
+
const restartProcess = useCallback(async () => {
|
|
523
|
+
const proc = highlightedProcess;
|
|
524
|
+
if (!proc)
|
|
525
|
+
return;
|
|
526
|
+
await runProcessAction('Restart', proc, async (client) => {
|
|
527
|
+
await client.restart(proc.id);
|
|
528
|
+
});
|
|
529
|
+
}, [highlightedProcess, runProcessAction]);
|
|
530
|
+
const stopProcess = useCallback(async () => {
|
|
531
|
+
const proc = highlightedProcess;
|
|
532
|
+
if (!proc)
|
|
533
|
+
return;
|
|
534
|
+
await runProcessAction('Stop', proc, async (client) => {
|
|
535
|
+
await client.stop(proc.id);
|
|
536
|
+
});
|
|
537
|
+
}, [highlightedProcess, runProcessAction]);
|
|
538
|
+
const startProcess = useCallback(async () => {
|
|
539
|
+
const proc = highlightedProcess;
|
|
540
|
+
if (!proc)
|
|
541
|
+
return;
|
|
542
|
+
const verb = startActionVerb(proc);
|
|
543
|
+
const blockedReason = startBlockedReason(proc);
|
|
544
|
+
if (blockedReason) {
|
|
545
|
+
setActionFeedback({
|
|
546
|
+
tone: 'warning',
|
|
547
|
+
message: `${verb} unavailable for ${processLabel(proc)}: ${blockedReason}`
|
|
548
|
+
});
|
|
549
|
+
return;
|
|
550
|
+
}
|
|
551
|
+
const config = await resolveStartConfig(proc);
|
|
552
|
+
if (!config)
|
|
553
|
+
return;
|
|
554
|
+
await runProcessAction(verb, { ...proc, config }, async (client) => {
|
|
555
|
+
await client.start(config);
|
|
556
|
+
});
|
|
557
|
+
}, [highlightedProcess, resolveStartConfig, runProcessAction]);
|
|
558
|
+
// Quiet daemon-side liveness toggle — see the PMLivenessState doc comment.
|
|
559
|
+
const setLivenessFull = useCallback(async () => {
|
|
560
|
+
const client = await resolveClient();
|
|
561
|
+
if (!client)
|
|
562
|
+
return;
|
|
563
|
+
const nextProfile = resolveFullLivenessProfile(activeLiveness);
|
|
564
|
+
const options = activeLiveness?.env ? { env: activeLiveness.env } : undefined;
|
|
565
|
+
const mutated = await attempt(() => client.setLivenessProfile(nextProfile, options));
|
|
566
|
+
if (!mutated.ok) {
|
|
567
|
+
// Report into the same inline feedback band every other process action
|
|
568
|
+
// uses; a swallowed failure left the operator staring at stale state.
|
|
569
|
+
setActionFeedback({
|
|
570
|
+
tone: 'danger',
|
|
571
|
+
message: `Liveness change failed: ${formatActionError(mutated.failure)}`
|
|
572
|
+
});
|
|
573
|
+
return;
|
|
574
|
+
}
|
|
575
|
+
const parsed = LivenessMutationResultSchema.safeParse(mutated.value);
|
|
576
|
+
const active = parsed.success ? parsed.data.active : undefined;
|
|
577
|
+
const proxy = parsed.success ? parsed.data.proxy : undefined;
|
|
578
|
+
setActiveLiveness((prev) => ({
|
|
579
|
+
...prev,
|
|
580
|
+
...active,
|
|
581
|
+
profile: active?.profile ?? nextProfile,
|
|
582
|
+
env: active?.env ?? activeLiveness?.env,
|
|
583
|
+
proxy: active?.proxy ?? proxy ?? prev?.proxy
|
|
584
|
+
}));
|
|
585
|
+
}, [activeLiveness, resolveClient]);
|
|
586
|
+
// Log mode actions (operate on selectedProcessId)
|
|
587
|
+
const logProcess = processes.find((p) => p.id === selectedProcessId) ?? null;
|
|
588
|
+
const restartLogProcess = useCallback(async () => {
|
|
589
|
+
const proc = logProcess;
|
|
590
|
+
if (!proc)
|
|
591
|
+
return;
|
|
592
|
+
await runProcessAction('Restart', proc, async (client) => {
|
|
593
|
+
await client.restart(proc.id);
|
|
594
|
+
});
|
|
595
|
+
}, [logProcess, runProcessAction]);
|
|
596
|
+
const stopLogProcess = useCallback(async () => {
|
|
597
|
+
const proc = logProcess;
|
|
598
|
+
if (!proc)
|
|
599
|
+
return;
|
|
600
|
+
await runProcessAction('Stop', proc, async (client) => {
|
|
601
|
+
await client.stop(proc.id);
|
|
602
|
+
});
|
|
603
|
+
}, [logProcess, runProcessAction]);
|
|
604
|
+
const startLogProcess = useCallback(async () => {
|
|
605
|
+
const proc = logProcess;
|
|
606
|
+
if (!proc)
|
|
607
|
+
return;
|
|
608
|
+
const verb = startActionVerb(proc);
|
|
609
|
+
const blockedReason = startBlockedReason(proc);
|
|
610
|
+
if (blockedReason) {
|
|
611
|
+
setActionFeedback({
|
|
612
|
+
tone: 'warning',
|
|
613
|
+
message: `${verb} unavailable for ${processLabel(proc)}: ${blockedReason}`
|
|
614
|
+
});
|
|
615
|
+
return;
|
|
616
|
+
}
|
|
617
|
+
const config = await resolveStartConfig(proc);
|
|
618
|
+
if (!config)
|
|
619
|
+
return;
|
|
620
|
+
await runProcessAction(verb, { ...proc, config }, async (client) => {
|
|
621
|
+
await client.start(config);
|
|
622
|
+
});
|
|
623
|
+
}, [logProcess, resolveStartConfig, runProcessAction]);
|
|
624
|
+
useEffect(() => {
|
|
625
|
+
if (processes.length === 0) {
|
|
626
|
+
if (highlightedProcessId !== null)
|
|
627
|
+
setHighlightedProcessId(null);
|
|
628
|
+
return;
|
|
629
|
+
}
|
|
630
|
+
if (!highlightedProcessId || !processes.some((process) => process.id === highlightedProcessId)) {
|
|
631
|
+
setHighlightedProcessId(processes[0]?.id ?? null);
|
|
632
|
+
}
|
|
633
|
+
}, [highlightedProcessId, processes]);
|
|
634
|
+
useKeyboardLayer('global', (key) => {
|
|
635
|
+
const keyName = key.name?.toLowerCase() ?? '';
|
|
636
|
+
const isPlain = !key.ctrl && !key.meta && !key.shift && !key.alt;
|
|
637
|
+
const isEnter = keyName === 'return' || keyName === 'enter';
|
|
638
|
+
if (!isPlain)
|
|
639
|
+
return false;
|
|
640
|
+
if (keyName === 'q') {
|
|
641
|
+
onExit?.();
|
|
642
|
+
return true;
|
|
643
|
+
}
|
|
644
|
+
if (viewMode === 'list') {
|
|
645
|
+
if (keyName === '1') {
|
|
646
|
+
setActiveTab('processes');
|
|
647
|
+
return true;
|
|
648
|
+
}
|
|
649
|
+
if (keyName === '2') {
|
|
650
|
+
setActiveTab('resources');
|
|
651
|
+
return true;
|
|
652
|
+
}
|
|
653
|
+
if (keyName === 'v' && activeTab === 'processes' && processes.length > 0) {
|
|
654
|
+
setProcessFilter((prev) => PROCESS_FILTERS[(PROCESS_FILTERS.indexOf(prev) + 1) % PROCESS_FILTERS.length]);
|
|
655
|
+
return true;
|
|
656
|
+
}
|
|
657
|
+
if (keyName === 'f') {
|
|
658
|
+
void setLivenessFull();
|
|
659
|
+
return true;
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
if (viewMode === 'list' && activeTab === 'processes' && processes.length > 0) {
|
|
663
|
+
if (keyName === 'down' || keyName === 'arrowdown') {
|
|
664
|
+
const nextIndex = Math.min(processes.length - 1, Math.max(0, highlightedProcessIndex) + 1);
|
|
665
|
+
setHighlightedProcessId(processes[nextIndex]?.id ?? null);
|
|
666
|
+
return true;
|
|
667
|
+
}
|
|
668
|
+
if (keyName === 'up' || keyName === 'arrowup') {
|
|
669
|
+
const nextIndex = Math.max(0, Math.max(0, highlightedProcessIndex) - 1);
|
|
670
|
+
setHighlightedProcessId(processes[nextIndex]?.id ?? null);
|
|
671
|
+
return true;
|
|
672
|
+
}
|
|
673
|
+
if (isEnter && highlightedProcess) {
|
|
674
|
+
openLogs(highlightedProcess.id);
|
|
675
|
+
return true;
|
|
676
|
+
}
|
|
677
|
+
if (keyName === 'r' && highlightedProcess?.status === 'running') {
|
|
678
|
+
void restartProcess();
|
|
679
|
+
return true;
|
|
680
|
+
}
|
|
681
|
+
if (keyName === 'x' && highlightedProcess?.status === 'running') {
|
|
682
|
+
void stopProcess();
|
|
683
|
+
return true;
|
|
684
|
+
}
|
|
685
|
+
if (keyName === 's' && highlightedProcess && highlightedProcess.status !== 'running') {
|
|
686
|
+
void startProcess();
|
|
687
|
+
return true;
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
if (viewMode === 'logs') {
|
|
691
|
+
if (keyName === 'escape') {
|
|
692
|
+
setViewMode('list');
|
|
693
|
+
return true;
|
|
694
|
+
}
|
|
695
|
+
if (keyName === 'r' && logProcess?.status === 'running') {
|
|
696
|
+
void restartLogProcess();
|
|
697
|
+
return true;
|
|
698
|
+
}
|
|
699
|
+
if (keyName === 'x' && logProcess?.status === 'running') {
|
|
700
|
+
void stopLogProcess();
|
|
701
|
+
return true;
|
|
702
|
+
}
|
|
703
|
+
if (keyName === 's' && logProcess && logProcess.status !== 'running') {
|
|
704
|
+
void startLogProcess();
|
|
705
|
+
return true;
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
return false;
|
|
709
|
+
}, {
|
|
710
|
+
description: 'pm-dashboard-shortcuts',
|
|
711
|
+
deps: [
|
|
712
|
+
activeTab,
|
|
713
|
+
highlightedProcess,
|
|
714
|
+
highlightedProcessIndex,
|
|
715
|
+
logProcess,
|
|
716
|
+
onExit,
|
|
717
|
+
openLogs,
|
|
718
|
+
processes,
|
|
719
|
+
processFilter,
|
|
720
|
+
restartLogProcess,
|
|
721
|
+
restartProcess,
|
|
722
|
+
setLivenessFull,
|
|
723
|
+
startLogProcess,
|
|
724
|
+
startProcess,
|
|
725
|
+
stopLogProcess,
|
|
726
|
+
stopProcess,
|
|
727
|
+
viewMode
|
|
728
|
+
]
|
|
729
|
+
});
|
|
730
|
+
// --- Layout ---
|
|
731
|
+
const screenWidth = dimensions?.width ?? 80;
|
|
732
|
+
const screenHeight = dimensions?.height ?? 24;
|
|
733
|
+
const compact = screenWidth <= 90 || screenHeight <= 26;
|
|
734
|
+
// --- Process selector options for log mode ---
|
|
735
|
+
const processSelectOptions = processes.map((proc) => ({
|
|
736
|
+
value: proc.id,
|
|
737
|
+
name: proc.config?.name ?? proc.id,
|
|
738
|
+
description: proc.status ?? 'unknown'
|
|
739
|
+
}));
|
|
740
|
+
// --- Log lines ---
|
|
741
|
+
const logLines = logContent === '' ? [] : logContent.split('\n');
|
|
742
|
+
const health = daemonHealthWord({ hasLoadedMonitorState, hasMonitorError, connected, pmAvailable });
|
|
743
|
+
const runningCount = allProcesses.filter((p) => p.status === 'running').length;
|
|
744
|
+
const stoppedCount = allProcesses.filter((p) => p.status === 'stopped').length;
|
|
745
|
+
const erroredCount = allProcesses.filter((p) => p.status === 'crashed' || p.status === 'fail').length;
|
|
746
|
+
// The ONE glance line the region table asks for — live counts only, no
|
|
747
|
+
// route-name/path restatement (the header already names the surface).
|
|
748
|
+
const glanceText = truncateWords([
|
|
749
|
+
`${runningCount} running`,
|
|
750
|
+
`${stoppedCount} stopped`,
|
|
751
|
+
erroredCount > 0 ? `${erroredCount} errored` : null,
|
|
752
|
+
pluralize(resources.length, 'resource')
|
|
753
|
+
]
|
|
754
|
+
.filter((part) => Boolean(part))
|
|
755
|
+
.join(' · '), compact ? 56 : 140);
|
|
756
|
+
const listHints = [
|
|
757
|
+
{ keys: '1', label: 'processes', priority: 1 },
|
|
758
|
+
{ keys: '2', label: 'resources', priority: 1 },
|
|
759
|
+
...(activeTab === 'processes' && processes.length > 0
|
|
760
|
+
? [{ keys: 'v', label: 'filter', priority: 2 }]
|
|
761
|
+
: []),
|
|
762
|
+
...(highlightedProcess
|
|
763
|
+
? [
|
|
764
|
+
{ keys: 'enter', label: 'logs', priority: 4 },
|
|
765
|
+
...(highlightedProcess.status === 'running'
|
|
766
|
+
? [
|
|
767
|
+
{ keys: 'r', label: 'restart', priority: 3 },
|
|
768
|
+
{ keys: 'x', label: 'stop', priority: 3 }
|
|
769
|
+
]
|
|
770
|
+
: startBlockedReason(highlightedProcess)
|
|
771
|
+
? []
|
|
772
|
+
: [{ keys: 's', label: startActionVerb(highlightedProcess).toLowerCase(), priority: 3 }])
|
|
773
|
+
]
|
|
774
|
+
: [])
|
|
775
|
+
];
|
|
776
|
+
const logHints = [
|
|
777
|
+
{ keys: 'escape', label: 'back', priority: 4 },
|
|
778
|
+
...(logProcess?.status === 'running'
|
|
779
|
+
? [
|
|
780
|
+
{ keys: 'r', label: 'restart', priority: 3 },
|
|
781
|
+
{ keys: 'x', label: 'stop', priority: 3 }
|
|
782
|
+
]
|
|
783
|
+
: logProcess && !startBlockedReason(logProcess)
|
|
784
|
+
? [{ keys: 's', label: startActionVerb(logProcess).toLowerCase(), priority: 3 }]
|
|
785
|
+
: [])
|
|
786
|
+
];
|
|
787
|
+
// Facts + hints ride the one gateway-owned status line: daemon health is
|
|
788
|
+
// stated HERE (nowhere else — the readiness band's own status dot and the
|
|
789
|
+
// duplicated refresh-cadence caption are gone); hints only name keys that
|
|
790
|
+
// work now.
|
|
791
|
+
useContributeScreenStatus('pm.monitor', {
|
|
792
|
+
facts: [
|
|
793
|
+
{
|
|
794
|
+
slot: 'context',
|
|
795
|
+
value: viewMode === 'logs' ? `${logLines.length} lines` : `daemon ${health}`,
|
|
796
|
+
tone: health === 'down' ? 'danger' : health === 'degraded' ? 'warning' : 'muted'
|
|
797
|
+
}
|
|
798
|
+
],
|
|
799
|
+
hints: viewMode === 'logs' ? logHints : listHints
|
|
800
|
+
});
|
|
801
|
+
// Log Mode Render
|
|
802
|
+
if (viewMode === 'logs') {
|
|
803
|
+
return (_jsxs(VStack, { grow: true, children: [_jsxs(HStack, { style: {
|
|
804
|
+
backgroundColor: dsBase.card,
|
|
805
|
+
border: ['bottom'],
|
|
806
|
+
borderColor: dsBase.border,
|
|
807
|
+
paddingLeft: 1,
|
|
808
|
+
paddingRight: 1,
|
|
809
|
+
flexShrink: 0
|
|
810
|
+
}, children: [_jsxs(OTText, { fg: dsColors.primary.solid, bold: true, children: ["Process logs", ' '] }), _jsx(OTText, { fg: dsBase.foreground, children: logProcess?.config?.name ?? selectedProcessId ?? 'none' }), _jsx(Spacer, {}), _jsxs(OTText, { fg: dsBase.mutedForeground, children: [logLines.length, " lines"] })] }), _jsx(VStack, { style: { flexShrink: 0, maxHeight: 8 }, children: _jsx(DSSearchSelect, { id: "pm-log-process-select", options: processSelectOptions, value: selectedProcessId, onChange: (value) => {
|
|
811
|
+
setSelectedProcessId(value);
|
|
812
|
+
setLogContent('');
|
|
813
|
+
}, placeholder: "Filter processes...", showDescription: false, maxVisibleItems: 4, zone: "content" }) }), _jsx(DSScrollArea, { stickyScroll: true, stickyStart: "bottom", style: { flexGrow: 1, padding: 1 }, children: _jsx(VStack, { style: { flexDirection: 'column' }, children: logLines.length === 0 || (logLines.length === 1 && logLines[0] === '') ? (_jsx(OTText, { fg: dsBase.mutedForeground, children: "No logs available" })) : (logLines.map((line, index) => (_jsx(OTText, { content: line || ' ', fg: logLineColor(line, theme) }, index)))) }) }), actionFeedback ? _jsx(ActionFeedbackLine, { feedback: actionFeedback }) : null] }));
|
|
814
|
+
}
|
|
815
|
+
// List Mode Render
|
|
816
|
+
return (_jsxs(VStack, { style: { flexDirection: 'column', flexGrow: 1 }, children: [_jsx(HStack, { justify: "between", align: "center", paddingLeft: 1, paddingRight: 1, style: { flexShrink: 0, border: ['bottom'], borderColor: dsBase.border }, children: _jsx(HStack, { gap: 1, children: _jsx(OTText, { fg: dsBase.foreground, children: glanceText }) }) }), _jsx(PMRouteContextBand, { routeState: routeState, diagnostics: workspaceDiagnostics, compact: compact }), _jsxs(HStack, { justify: "between", align: "center", paddingLeft: 1, paddingRight: 1, style: { flexShrink: 0, border: ['bottom'], borderColor: dsBase.border }, children: [_jsx(Tabs, { tabs: PM_TABS, activeId: activeTab, onChange: setActiveTab, variant: "underline", noBorder: true, showHints: false, zone: "pm-view-tabs" }), activeTab === 'processes' && processes.length > 0 ? (_jsxs(HStack, { gap: 1, onMouseUp: () => setProcessFilter(cycleProcessFilter), children: [_jsx(DSText, { variant: "muted", children: "Filter" }), _jsx(DSText, { color: dsColors.primary.solid, children: PROCESS_FILTER_LABELS[processFilter] })] })) : null] }), _jsxs(VStack, { style: { flexGrow: 1, flexDirection: 'column', height: 0 }, children: [activeTab === 'processes' && (_jsxs(VStack, { style: { flexDirection: 'column', flexGrow: 1 }, children: [processData?.processesLoading && processes.length === 0 ? (_jsx(VStack, { padding: 2, children: _jsx(DSText, { variant: "muted", children: "Opening the process monitor." }) })) : processData?.processesError ? (_jsx(ErrorDetailsPanel, { title: "Process data failed", message: processData.processesError })) : (_jsx(ProcessTable, { rows: processRows, selectedId: highlightedProcess?.id ?? null, onSelect: (row) => {
|
|
817
|
+
setHighlightedProcessId(row.id);
|
|
818
|
+
} })), highlightedProcess && (_jsxs(VStack, { style: {
|
|
819
|
+
flexDirection: 'column',
|
|
820
|
+
border: ['top'],
|
|
821
|
+
borderColor: dsBase.border,
|
|
822
|
+
paddingLeft: 1,
|
|
823
|
+
paddingRight: 1,
|
|
824
|
+
flexShrink: 0
|
|
825
|
+
}, children: [_jsxs(HStack, { gap: 2, children: [_jsx(OTText, { fg: healthColor(highlightedProcess.healthStatus, theme), children: healthIndicator(highlightedProcess.healthStatus) }), _jsxs(OTText, { fg: dsBase.mutedForeground, children: ["Restarts: ", highlightedProcess.restartCount ?? 0] })] }), highlightedProcess.lastError && (_jsx(ErrorDetailsPanel, { title: `${highlightedProcess.config?.name ?? highlightedProcess.id} crashed`, message: highlightedProcess.lastError, hint: "Open logs (Enter) for the full trace, then restart the process." }, highlightedProcess.id))] }))] })), activeTab === 'resources' && (_jsx(VStack, { style: { flexDirection: 'column', flexGrow: 1 }, children: processData?.resourcesLoading && resources.length === 0 ? (_jsx(VStack, { padding: 2, children: _jsx(DSText, { variant: "muted", children: "Opening the resource monitor." }) })) : processData?.resourcesError ? (_jsx(ErrorDetailsPanel, { title: "Resource data failed", message: processData.resourcesError })) : (_jsx(ResourceTable, { rows: resourceRows })) }))] }), actionFeedback ? _jsx(ActionFeedbackLine, { feedback: actionFeedback }) : null] }));
|
|
826
|
+
}
|
|
827
|
+
const PM_TABS = [
|
|
828
|
+
{ id: 'processes', label: 'Processes' },
|
|
829
|
+
{ id: 'resources', label: 'Resources' }
|
|
830
|
+
];
|
|
831
|
+
function cycleProcessFilter(prev) {
|
|
832
|
+
return PROCESS_FILTERS[(PROCESS_FILTERS.indexOf(prev) + 1) % PROCESS_FILTERS.length];
|
|
833
|
+
}
|
|
834
|
+
// Export
|
|
835
|
+
const impl = {
|
|
836
|
+
component: PMDashboardApp
|
|
837
|
+
};
|
|
838
|
+
export default impl;
|
|
839
|
+
//# sourceMappingURL=pm-dashboard.impl.consumer.js.map
|