chore(nakui): alinear nakui-core con [workspace.package] y deps compartidas
Cleanup de drift de convenciones: nakui-core era el unico crate del
monorepo que manteia version, edition y thiserror hardcoded, mientras
el resto heredaba del workspace y usaba thiserror v2. Eso significaba
que un bump global de version o edition se olvidaba sistematicamente
de nakui.
Cambios:
- [package]: version, edition, rust-version, license, authors, publish
-> todos *.workspace = true. Agregado description (convencion).
- Deps compartidas migradas a { workspace = true }: serde, serde_json,
thiserror (v1->v2), tokio, ulid, sha2.
- uuid migrado a { workspace = true, features = ["serde"] } — la feature
serde no esta en el workspace dep porque nakui es el unico user;
queda local opt-in en lugar de inflar el dep comun.
- Deps especificas de nakui (sin comparticion posible): rhai, petgraph,
surrealdb permanecen inline con version local.
Verificacion: cargo build -p nakui-core verde tras el bump thiserror
v1->v2 — los 14+ enums de error de nakui no requirieron ajustes
(derive backwards-compat para patrones simples). cargo test -p
nakui-core --lib: 27/27 verdes.
Bonus en este commit: discovery.rs movio el import Ulid a #[cfg(test)]
porque el refactor a Card::new lo dejo unused en module-scope.
This commit is contained in:
@@ -6,6 +6,31 @@ ratio/diff ver `git show <sha>`.
|
|||||||
|
|
||||||
## 2026-05-09
|
## 2026-05-09
|
||||||
|
|
||||||
|
### chore(nakui): alinear `nakui-core` con `[workspace.package]` y deps compartidas
|
||||||
|
Cleanup de drift de convenciones: `nakui-core` era el único crate del
|
||||||
|
monorepo que mantenía `version = "0.1.0"` / `edition = "2021"` /
|
||||||
|
`thiserror = "1"` hardcoded, mientras el resto heredaba del workspace
|
||||||
|
y usaba `thiserror = "2"`. Eso significaba que un bump global de versión
|
||||||
|
o de edition se olvidaba sistemáticamente de nakui.
|
||||||
|
|
||||||
|
Cambios:
|
||||||
|
- `[package]`: `version`, `edition`, `rust-version`, `license`, `authors`,
|
||||||
|
`publish` → todos `*.workspace = true`. Agregado `description` (cumple
|
||||||
|
convención del resto de crates).
|
||||||
|
- Deps compartidas migradas a `{ workspace = true }`: serde, serde_json,
|
||||||
|
thiserror (v1→v2), tokio, ulid, sha2.
|
||||||
|
- `uuid` migrado a `{ workspace = true, features = ["serde"] }` — la
|
||||||
|
feature `serde` no está en el workspace dep porque nakui es el único
|
||||||
|
user; queda local opt-in en lugar de inflar el dep común.
|
||||||
|
- Deps específicas de nakui (sin compartición posible): rhai, petgraph,
|
||||||
|
surrealdb permanecen inline con versión local.
|
||||||
|
|
||||||
|
Verificación: `cargo build -p nakui-core` verde tras el bump de
|
||||||
|
`thiserror` v1→v2 — el `#[derive(Error)]` de los 14+ enums de error
|
||||||
|
en nakui no requirió ajustes (la API de derive es backwards-compatible
|
||||||
|
para los patrones simples). `cargo test -p nakui-core --lib`: 27/27
|
||||||
|
verdes, sin regresión.
|
||||||
|
|
||||||
### feat(card): `Card::new(label)` — alternativa segura a `Default::default()`
|
### feat(card): `Card::new(label)` — alternativa segura a `Default::default()`
|
||||||
Cierra la trap documentada de `Card::default()` que devuelve `id =
|
Cierra la trap documentada de `Card::default()` que devuelve `id =
|
||||||
Ulid::nil()`. Usar `Card::default()` "viva" colisionaba con cualquier
|
Ulid::nil()`. Usar `Card::default()` "viva" colisionaba con cualquier
|
||||||
|
|||||||
Generated
+1
-1
@@ -6102,7 +6102,7 @@ dependencies = [
|
|||||||
"serde_json",
|
"serde_json",
|
||||||
"sha2",
|
"sha2",
|
||||||
"surrealdb",
|
"surrealdb",
|
||||||
"thiserror 1.0.69",
|
"thiserror 2.0.18",
|
||||||
"tokio",
|
"tokio",
|
||||||
"ulid",
|
"ulid",
|
||||||
"uuid",
|
"uuid",
|
||||||
|
|||||||
@@ -1,7 +1,12 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "nakui-core"
|
name = "nakui-core"
|
||||||
version = "0.1.0"
|
version.workspace = true
|
||||||
edition = "2021"
|
edition.workspace = true
|
||||||
|
rust-version.workspace = true
|
||||||
|
license.workspace = true
|
||||||
|
authors.workspace = true
|
||||||
|
publish.workspace = true
|
||||||
|
description = "Nakui — ERP modular: graph runtime, executor de scripts Rhai, persistencia opcional SurrealDB."
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = []
|
default = []
|
||||||
@@ -11,20 +16,26 @@ default = []
|
|||||||
persistent = ["surrealdb/kv-surrealkv"]
|
persistent = ["surrealdb/kv-surrealkv"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
serde = { version = "1", features = ["derive"] }
|
# Workspace-shared (versión y features alineadas con el resto del monorepo).
|
||||||
serde_json = "1"
|
serde = { workspace = true }
|
||||||
|
serde_json = { workspace = true }
|
||||||
|
thiserror = { workspace = true }
|
||||||
|
tokio = { workspace = true }
|
||||||
|
ulid = { workspace = true }
|
||||||
|
sha2 = { workspace = true }
|
||||||
|
# uuid del workspace ya activa "v4"; le sumamos "serde" para soporte
|
||||||
|
# de derive en structs propios de nakui.
|
||||||
|
uuid = { workspace = true, features = ["serde"] }
|
||||||
|
|
||||||
|
# Específicas de nakui — no compartidas con otros crates del workspace,
|
||||||
|
# por lo que se mantienen inline (versión local).
|
||||||
rhai = { version = "1.20", features = ["serde"] }
|
rhai = { version = "1.20", features = ["serde"] }
|
||||||
uuid = { version = "1", features = ["v4", "serde"] }
|
|
||||||
thiserror = "1"
|
|
||||||
petgraph = "0.6"
|
petgraph = "0.6"
|
||||||
sha2 = "0.10"
|
|
||||||
surrealdb = { version = "2", default-features = false, features = ["kv-mem"] }
|
surrealdb = { version = "2", default-features = false, features = ["kv-mem"] }
|
||||||
tokio = { version = "1", features = ["rt", "macros"] }
|
|
||||||
|
|
||||||
# Brahman protocol — presencia ante el Init cuando `nakui run` arranca.
|
# Brahman protocol — presencia ante el Init cuando `nakui run` arranca.
|
||||||
brahman-card = { path = "../../../core/brahman-card" }
|
brahman-card = { path = "../../../core/brahman-card" }
|
||||||
brahman-sidecar = { path = "../../../shared/brahman-sidecar" }
|
brahman-sidecar = { path = "../../../shared/brahman-sidecar" }
|
||||||
ulid = { version = "1" }
|
|
||||||
|
|
||||||
[[bin]]
|
[[bin]]
|
||||||
name = "nakui"
|
name = "nakui"
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ use std::path::PathBuf;
|
|||||||
use std::time::{Duration, Instant};
|
use std::time::{Duration, Instant};
|
||||||
|
|
||||||
use brahman_card::{
|
use brahman_card::{
|
||||||
ulid::Ulid, Card, CardKind, Flow, Flows, Lifecycle, Payload, Priority, Supervision, TypeRef,
|
Card, CardKind, Flow, Flows, Lifecycle, Payload, Priority, Supervision, TypeRef,
|
||||||
};
|
};
|
||||||
use brahman_handshake::client::{Client, ClientError};
|
use brahman_handshake::client::{Client, ClientError};
|
||||||
use brahman_handshake::messages::MatchEventKind;
|
use brahman_handshake::messages::MatchEventKind;
|
||||||
@@ -161,6 +161,7 @@ fn describe_first_input(card: &Card) -> (String, String) {
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
use brahman_card::ulid::Ulid;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn builder_sets_input_flow_with_primitive_type() {
|
fn builder_sets_input_flow_with_primitive_type() {
|
||||||
|
|||||||
Reference in New Issue
Block a user