- service.go + actions.go + runner.go: process.start detached by default through
named action/task path and RFC HTTP alias
- service.go: managed process IDs use core.ID()
- types.go + service.go + runner.go: JSON tags on execution/pipeline DTOs
- pkg/api/provider.go: Register helper; RFC alias routes /process/list + /process/start
- service_test.go + provider_test.go: detached-startup + RFC alias coverage
NOTE: dev branch had pre-existing compile errors in pidfile.go (undefined processHandle,
currentPID) — these exist independent of this commit. Build remains broken until
those are added, but the feat work here is preserved.
Co-Authored-By: Virgil <virgil@lethean.io>
Five Lit custom elements following the go-scm UI pattern:
- <core-process-panel> tabbed container (Daemons/Processes/Pipelines)
- <core-process-daemons> daemon registry with health checks and stop
- <core-process-list> managed processes with status badges
- <core-process-output> live stdout/stderr WS stream viewer
- <core-process-runner> pipeline execution results display
Also adds provider.Renderable interface to ProcessProvider with
Element() returning core-process-panel tag, extends WS channels
with process-level events, and embeds the built UI bundle via
go:embed.
Co-Authored-By: Virgil <virgil@lethean.io>
Wraps the daemon Registry as a provider.Provider with REST endpoints for
list, get, stop, and health check. Implements Streamable and Describable
for WS event streaming and OpenAPI generation. Adds go-api, go-ws, and
gin as direct dependencies for the pkg/api sub-package.
Co-Authored-By: Virgil <virgil@lethean.io>