feat(sandokan): B1.5 — umbrella + Engine::auto()

Crate sandokan (umbrella): re-exporta core/local/daemon y provee la
selección de transporte.

- auto(socket) — patrón "el primero que arranca gana": prueba si hay
  un daemon escuchando; si lo hay devuelve DaemonEngine, si no
  LocalEngine. Box<dyn Engine> (el trait es object-safe vía async_trait).
- auto_default() — auto() con default_socket_path().
- default_socket_path() — $XDG_RUNTIME_DIR/sandokan.sock o
  /run/brahman/sandokan.sock.

3 tests: fallback a Local sin daemon, pick Daemon con serve() activo,
default path absoluto. cargo check --workspace verde.

sandokan ya es usable end-to-end en modo local y daemon. Falta
RemoteEngine (B1.4, depende de brahman-ssh-multiplex).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
sergio
2026-05-20 14:05:32 +00:00
parent b7d9d7abd9
commit 8cd8003dd5
4 changed files with 128 additions and 0 deletions
Generated
+12
View File
@@ -10127,6 +10127,18 @@ dependencies = [
"winapi-util",
]
[[package]]
name = "sandokan"
version = "0.1.0"
dependencies = [
"sandokan-core",
"sandokan-daemon",
"sandokan-lifecycle",
"sandokan-local",
"tempfile",
"tokio",
]
[[package]]
name = "sandokan-core"
version = "0.1.0"