fabro/lib/crates
Bryan Helmkamp af2a1e4f6d Add server daemon management with Unix socket support
Transform `fabro server` from foreground-only TCP into a proper daemon:
- `server start` launches background daemon with flock-based locking
- `server start --foreground` retains current blocking behavior
- `server stop` sends SIGTERM, waits, escalates to SIGKILL
- `server status` reports running/stopped with PID, bind, uptime (--json)
- `--bind` replaces `--host`/`--port`, supporting Unix sockets and TCP
- Default bind is `{storage_dir}/fabro.sock` (Unix socket)
- Hidden `__serve` subcommand for daemon child process lifecycle
- Graceful shutdown via SIGTERM/SIGINT signal handlers

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 10:40:19 -07:00
..
fabro-agent Rename SessionConfig to SessionOptions and McpServerConfig to McpServerSettings 2026-04-02 06:47:42 -07:00
fabro-api-types Add publish = false to all crates to prevent accidental crates.io publish 2026-03-29 13:47:09 -04:00
fabro-checkpoint Rename FabroSettings to Settings, eliminate FabroSettingsExt 2026-04-02 07:36:44 -07:00
fabro-cli Add server daemon management with Unix socket support 2026-04-02 10:40:19 -07:00
fabro-config Rename FabroSettings to Settings, eliminate FabroSettingsExt 2026-04-02 07:36:44 -07:00
fabro-core Rename fabro-workflows crate to fabro-workflow 2026-03-30 12:27:40 -04:00
fabro-db Add publish = false to all crates to prevent accidental crates.io publish 2026-03-29 13:47:09 -04:00
fabro-devcontainer Rename SessionConfig to SessionOptions and McpServerConfig to McpServerSettings 2026-04-02 06:47:42 -07:00
fabro-github Rename SessionConfig to SessionOptions and McpServerConfig to McpServerSettings 2026-04-02 06:47:42 -07:00
fabro-graphviz Clean up workspace clippy warnings 2026-03-30 11:27:25 -04:00
fabro-hooks Rename SessionConfig to SessionOptions and McpServerConfig to McpServerSettings 2026-04-02 06:47:42 -07:00
fabro-interview Speed up sleep-heavy test suites 2026-03-31 13:12:21 -04:00
fabro-llm Rename SessionConfig to SessionOptions and McpServerConfig to McpServerSettings 2026-04-02 06:47:42 -07:00
fabro-macros Add twin test mode for OpenAI E2E tests 2026-03-31 20:36:48 -04:00
fabro-mcp Rename SessionConfig to SessionOptions and McpServerConfig to McpServerSettings 2026-04-02 06:47:42 -07:00
fabro-model Clean up workspace clippy warnings 2026-03-30 11:27:25 -04:00
fabro-oauth Add twin test mode for OpenAI E2E tests 2026-03-31 20:36:48 -04:00
fabro-proc Add server daemon management with Unix socket support 2026-04-02 10:40:19 -07:00
fabro-retro Make workflow state fully derivable from events 2026-04-02 08:33:42 -07:00
fabro-sandbox Rename SessionConfig to SessionOptions and McpServerConfig to McpServerSettings 2026-04-02 06:47:42 -07:00
fabro-server Add server daemon management with Unix socket support 2026-04-02 10:40:19 -07:00
fabro-slack Rename SessionConfig to SessionOptions and McpServerConfig to McpServerSettings 2026-04-02 06:47:42 -07:00
fabro-store Rename FabroSettings to Settings, eliminate FabroSettingsExt 2026-04-02 07:36:44 -07:00
fabro-telemetry Speed up sleep-heavy test suites 2026-03-31 13:12:21 -04:00
fabro-test Rename SessionConfig to SessionOptions and McpServerConfig to McpServerSettings 2026-04-02 06:47:42 -07:00
fabro-tracker Rename SessionConfig to SessionOptions and McpServerConfig to McpServerSettings 2026-04-02 06:47:42 -07:00
fabro-types Rename FabroSettings to Settings, eliminate FabroSettingsExt 2026-04-02 07:36:44 -07:00
fabro-util Add global JSON output mode 2026-03-31 07:51:19 -04:00
fabro-validate Add publish = false to all crates to prevent accidental crates.io publish 2026-03-29 13:47:09 -04:00
fabro-workflow Align event tests and snapshots with stage responses 2026-04-02 09:02:06 -07:00